Search the whole station

zabbix监控系统快速部署(小白可入)

前言

zabbix是目前最为主流的开源监控方案之一,部署本身并不困难,难的是深入理解。根据在生产环境的实践从新版zabbix 4.0 LTS开始全部使用Docker部署,我相信未来越来越多的开源组件都会以容器化的形式呈现在我们面前。下面我就给大家讲解一下如何使用Docker快速部署zabbix系统。

1. 环境准备

Centos7系统

服务器IP:192.168.75.31

2. 安装docker

2.1. Yum安装

yum -y install docker

2.2. 二进制安装(可离线)

Docker二进制包下载,也可在windows下载后再上传至服务器

wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.14.tgz

zabbix二进制安装

解压tar -zxf docker-20.10.14.tgz

zabbix解压

复制文件

cp –ra docker/* /usr/bin

zabbix文件复制

编写system文件

vim /etc/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=http://docs.docker.io

[Service]

OOMScoreAdjust=-1000

ExecStart=/usr/bin/dockerd

ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT

ExecReload=/bin/kill -s HUP \$MAINPID

Restart=on-failure

RestartSec=5

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

Delegate=yes

KillMode=process

[Install]

WantedBy=multi-user.target

启动docker

systemctl daemon-reload

systemctl daemon-reload

启动zabbix docker

3. 拉取docker镜像

访问zabbix官方提高的docker镜像

https://www.zabbix.com/container_images

zabbix docker镜像

这里选择使用MySQL数据库的zabbix-server,zabbix-agent以及zabbix界面的三个镜像,zabbix版本为最新的6.2

zabbix Docker

zabbix6版本以上的MySQL数据库需为MySQL 8以上,因此拉取MySQL官方提供的MySQL 8镜像

拉取四个镜像命令:(linux上执行)

docker pull mysql:latest

docker pull zabbix/zabbix-server-mysql:latest

docker pull zabbix/zabbix-web-nginx-mysql:latest

docker pull zabbix/zabbix-agent:latest

镜像命令

命令执行完后查看镜像是否拉取成功

docker images

4. 启动镜像

4.1. 首先要启动MySQL数据库

docker run –name zabbix-mysql -e MYSQL_DATABASE=zabbix -e MYSQL_ROOT_PASSWORD=zabbix -p 3306:3306 -d mysql:latest

参数解释:

–name zabbix-mysql 定义容器名称

-e MYSQL_DATABASE=zabbix 初始数据库名zabbix

-e MYSQL_ROOT_PASSWORD=zabbix 数据库root用户的密码zabbix

-p 3306:3306 将容器3306端口映射到主机3306端口

4.2. 然后启动zabbix-server

docker run –name zabbix-server -e MYSQL_DATABASE=zabbix -e DB_SERVER_HOST=192.168.75.31 -e DB_SERVER_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASSWORD=zabbix -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

参数解释:

–name zabbix- server 定义容器名称

-e DB_SERVER_HOST=192.168.75.31 数据库连接地址

-e DB_SERVER_PORT=3306数据库连接端口

-e MYSQL_DATABASE=zabbix连接的数据库名zabbix

-e MYSQL_USER=root 数据库连接用户 root

-e MYSQL _PASSWORD=zabbix 数据库连接密码zabbix

-p 10051:10051 将容器10051端口映射到主机10051端口

-d 后台运行

zabbix/zabbix-server-mysql:latest 启动容器的镜像

4.3. 最后启动zabbix界面

docker run –name zabbix-web -e ZBX_SERVER_HOST=192.168.75.31 -e ZBX_SERVER_PORT=10051 -e DB_SERVER_HOST=192.168.75.31 -e DB_SERVER_PORT=3306 -e MYSQL_DATABASE=zabbix -e MYSQL_USER=root -e MYSQL_PASSWORD=zabbix -p 8080:8080 -p 8443:8443 -d zabbix/zabbix-web-nginx-mysql:latest

参数解释:

–name zabbix- web定义容器名称

-e ZBX_SERVER_HOST=192.168.75.31 web连接server的地址

-e ZBX_SERVER_PORT=10051 web连接server的端口

-e DB_SERVER_HOST=192.168.75.31 数据库连接地址

-e DB_SERVER_PORT=3306 连接的数据库端口

-e MYSQL_DATABASE=zabbix 连接的数据库名zabbix

-e MYSQL_USER=root数据库连接用户

-e MYSQL _PASSWORD=zabbix数据库连接密码zabbix

-p 8080:8080 将容器8080端口映射到主机8080端口

-d 后台运行

zabbix/zabbix-web-nginx-mysql:latest 启动容器的镜像

5. 访问web

全部启动后等待2-3分钟,待数据库初始化完成。

然后访问web界面

IP:8080

zabbix web

初始登录信息

账户:Admin

密码:zabbix

登录后的界面

zabbix登录

修改成中文显示

6. 添加agent监控

启动agent

docker run –name zabbix-agent –link zabbix-server -e ZBX_HOSTNAME=192.168.75.31 -e ZBX_SERVER_HOST=172.17.0.1 -e ZBX_SERVER_PORT=10051 -p 10050:10050 –privileged -d zabbix/zabbix-agent:latest

参数解释:

–name zabbix-agent 定义容器名称

–link zabbix-server  连接到zabbix-server容器

-e ZBX_HOSTNAME=192.168.75.31 zabbix-server主机名

-e ZBX_SERVER_HOST=172.17.0.1 zabbix-server连接地址,这里固定这个IP

-p 10050:10050 将容器10050端口映射到主机10050端口

-d 后台运行

PS:这里ZBX_SERVER_HOST无须修改IP

然后到UI界面将默认的zabbix监控修改一下agent的IP信息

即可完成agent监控的添加

在监测>最新数据可看到监控正常获取数据

至此,整个zabbix系统的搭建到此结束。

如需zabbix监控其他的服务器,可在服务器安装部署一个agent,然后在配置>主机添加对应的监控对象即可完成监控。

后面将会出一篇将agent打包成通用二进制部署包的文章,以方便如何快速进行agent客户端的安装。

感谢大家的支持。

更多zabbix相关技术分享,可以关注乐维社区:http://forum.lwops.cn/

The prev: The next:

Related recommendations

Expand more!