docker 之zabbix监控
admin
2023-02-23 06:40:03
0

1、zabbix服务器端配置

在zabbix-server服务器上进行如下配置:

1.1 镜像准备

下载镜像:mysql、zabbix/zabbix-server-mysql、zabbix/zabbix-web-nginx-mysql

docker pull mysql:5.7
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-web-nginx-mysql

1.2 启动mysql:5.7

docker run --name zabbix_mysql --hostname zabbix_mysql --restart=always -e MYSQL_ROOT_PASSWORD="123456" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_DATABASE="zabbix" -p 3306:3306 -v /home/docker/data/mysql:/var/lib/mysql -d mysql:5.7

1.3 启动zabbix_server

docker run --name zabbix_server --restart=always --link zabbix_mysql:mysql -e DB_SERVER_HOST="mysql" -e MYSQL_USER="zabbix" -e MYSQL_DATABASE="zabbix" -e MYSQL_PASSWORD="123456" -v /etc/localtime:/etc/localtime:ro -v /home/docker/data/zabbix:/usr/lib/zabbix -p 10051:10051 -d zabbix/zabbix-server-mysql

1.4 启动zabbix_nginx_web

docker run --name zabbix_web --restart=always --link zabbix_mysql:mysql --link zabbix_server:zabbix_server -e DB_SERVER_HOST="mysql" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_DATABASE="zabbix" -e ZBX_SERVER_HOST="zabbix_server" -e PHP_TZ="Asia/Shanghai" -p 80:80 -p 8443:443 -d zabbix/zabbix-web-nginx-mysql

此时浏览器访问宿主机80端口,即可使用zabbix-server服务

#浏览器打开如下地址,其中192.168.1.a为zabbix服务器IP
45.115.243./zabbix

admin,密码:zabbix

[root@localhost ~]# docker restart zabbix_mysql
zabbix_mysql
[root@localhost ~]# docker restart zabbix_server
zabbix_server
[root@localhost ~]# docker restart zabbix_web

192.168.1.a/zabbix

2、zabbix-agent配置

在需要监控的机器上安装agent进行如下配置:

2.1 镜像准备

下载镜像:zabbix/zabbix-agent

docker pull zabbix/zabbix-agent

2.2 启动zabbix-agent

#172.17.0.a为本机zabbix,当不是本机时,更改为zabbix-server的IP地址

docker run --name zabbix_agent --restart=always \
-p 10050:10050 \
-e ZBX_HOSTNAME="zabbix_agent" \
-e ZBX_SERVER_HOST="172.17.0.a" \
- e ZBX_SERVER_PORT=10051 \
-d zabbix/zabbix-agent

#ZBX_HOSTNAME配置为zabbix-server中添加的对应的agent的主机名称

此时,可以在zabbix-server上加入刚刚启动的agent,接下来就是配置zabbix了,安装完成

3、docker开机启动

3.1 docker服务加入开机启动

systemctl enable docker

#成功加入开机启动会有如下提示:

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

3.2 docker容器开机启动

docker run 启动参数中加入--restart=always 参数,在容器出现重启等情况退出时,会自动重启,不需要再单独设置容器启动脚本。

4、镜像的导出与导入

对于不能联网的机器,是不能使用docker pull从网上直接拉镜像的,这个时候就需要使用容器的导出与导入功能了。

4.1 镜像的导出

查看当前可用镜像

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/zabbix/zabbix-agent latest 19e75a9513da 23 hours ago 56.67 MB

docker.io/zabbix/zabbix-server-mysql latest 3abad97a6d75 24 hours ago 107.3 MB

docker.io/zabbix/zabbix-web-nginx-mysql latest 039292d2eae1 26 hours ago 176.8 MB

docker.io/mysql 5.7 d9ad3d6d1a44 5 months ago 298.3 MB

导出镜像

docker save -o /opt/zabbixagent.tar zabbix/zabbix-agent:latest

#/opt/zabbix_agent.tar 导出镜像的位置及名称

#zabbix/zabbix-agent:latest 导出镜像的REPOSITORY与TAG

docker save -o /opt/zabbix_server.tar zabbix/zabbix-server-mysql:latest
docker save -o /opt/zabbix_nginx.tar zabbix/zabbix-web-nginx-mysql:latest
docker save -o /opt/zabbix_mysql.tar mysql:5.7

我们查看/opt下文件列表,可以看到导出成功

ll /opt
-rw------- 1 root root 61114368 Dec 16 14:54 zabbix_agent.tar
-rw------- 1 root root 305571840 Dec 16 15:02 zabbix_mysql.tar
-rw------- 1 root root 182195200 Dec 16 15:01 zabbix_nginx.tar
-rw------- 1 root root 112269824 Dec 16 15:00 zabbix_server.tar

4.2 镜像的导入

在已经安装docker,但没有相关配置的机器上执行:

#添加开机启动

systemctl enable docker

#开启docker进程

systemctl start docker

查看当前可用镜像

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

可以看到镜像为空,导入镜像:

docker load -i /opt/zabbix_agent.tar

#/opt/zabbix_agent.tar为刚刚导出的镜像

docker load -i /opt/zabbix_server.tar
docker load -i /opt/zabbix_nginx.tar
docker load -i /opt/zabbix_mysql.tar

再次使用docker images,可以看到镜像已经导入成功,可以在当前未联网机器上使用。

5、zabbix相关日志

在容器中没有专门的日志文件,所以没有做日志文件存储映射,我们可以通过如下命令查看zabbix的运行日志:

docker logs zabbix_server
docker logs zabbix_agent
docker logs zabbix_web
docker logs zabbix_mysql

6、zabbix重新部署与迁移

对于使用了docker的zabbix来说,因为我们已经做了存储的映射,所以数据库和zabbix的配置可以很容器的迁移到其他机器上,拷贝宿主机上如下目录,然后重新部署zabbix容器即可。

/home/docker/data/zabbix

/home/docker/data/mysql

因映射是存储在宿主机上的,为了防止数据丢失,可以使用云备份。

相关内容

热门资讯

“直-20家族”全亮相 近日,在陆军某旅直升机分队演训中,直-20与直-20T表现亮眼。075型两栖攻击舰日前也搭载直-20...
蒋万安借“725上凯道”成蓝营... 中国国民党25日将于台北凯道举办“我是人,我反毒台”集会,向民进党当局抗议中联毒油案。对此,资深媒体...
波轮式全自动洗衣机脱水时波轮转 波轮式全自动洗衣机脱水时波轮转1、衣物放置不平导致;2、排水系统发生阻塞。3、顶部的安全开关损坏;4...
洗衣机不出水怎么查原因 当洗衣机不出水时,一定是出了问题。下面就是一些可能的原因及其解决方法:1. 电源问题洗衣机不能正常工...
半自动洗衣机放不出水是什么原因... 1、检查过滤网是否堵塞。若堵塞了需要将脏东西取出来,然后再用清水将过滤网清洗干净。2、检查一下是不是...
全自动洗衣机不出水是什么原因 1、进水口的滤网被水中的杂质堵住。2、控制板上的进水继电器坏了。3、电路故障,进水电磁阀有故障或者插...
抽油烟机只通电不转怎么回事 只通电不转的故障原因和解决方法:1、电容量减小或损坏。解决方法:抽油烟机电机不转,还有嗡嗡声,一般是...
谷歌被罚9亿欧元后,特朗普称欧... 当地时间7月23日,欧盟委员会指控美国谷歌公司违反欧盟《数字市场法》,对其处以8.9亿欧元罚款。这一...
14对14,中国反击欧盟,干净... 对于欧盟的指手画脚,中国第一时间反击了。14:14。干净利落,来而不往非礼也。国际博弈,从来如此:没...
风未到,人已行!凌晨不眠!一场... 7月24日晚,台风“红霞”持续逼近,市应急管理局五楼会议室灯火通明,市应急管理局党委书记、局长李见秋...