lihy0 2020-02-27
目录
Zabbix官方很早之前就提供里Zabbix的Docker镜像,而且提供里具体的配置及文件。具体地址:https://github.com/zabbix/zabbix-docker 官方提供三种Docker基础镜像的版本,分别为:
基础镜像在使用上没有太大区别,这里推荐大家使用alpine,这是一个简化的linux版本,最小体积只有30MB多,建议大家使用。官方提供提供了docker-compose的编排文件,可以使用docker-compose编排工具,”一键”启动一套Zabbix系统。其中包括以下组件:
环境 OS:CentOS 7 x86_64 Docker: docker-ce-18.09.0
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast yum -y install docker-ce
systemctl start docker
systemctl enable docker
vi /etc/docker/daemon.json { "registry-mirrors": ["https://72idtxd8.mirror.aliyuncs.com"] }
systemctl restart docker
环境 OS:CentOS 7 x86_64 Docker: docker-ce-18.09.0 Docker-compose:docker-compose version 1.23.1 docker-compose是docker推出的一款编排工具,由于zabbix有很多组件,zabbix server,zabbix-web,zabbix-proxy,db等组件,通过docker-compose的配置文件,可以统一编排,做到一键启动一套Zabbix 组件。
curl "https://dl.cactifans.com/zabbix_docker/docker-compose" -o /usr/bin/docker-compose chmod a+x /usr/bin/docker-compose
docker-compose version
yum install git wget telnet net-tools -y
cd /opt git clone https://github.com/zabbix/zabbix-docker.git cd zabbix-docker/ git checkout 4.0
由于github访问较慢,我已git一份到我服务器,大家可以使用以下命令下载使用,只是下载地址变化,其他么有大的变化。
cd /opt wget https://dl.cactifans.com/zabbix_docker/zabbix-docker.tar.gz tar zxvf zabbix-docker.tar.gz cd zabbix-docker/ git checkout 4.0
docker-compose_v3_alpine_mysql_latest.yaml v3为docker-compose版本,分v3,v2,与docker-compose版本和docker版本有关系,具体对应关系在这里查看https://docs.docker.com/compose/compose-file/compose-versioning/ alpine为基础镜像类型,三种类型alpine/centos/ubuntu可选,三种镜像在Zabbix使用上没有任何区别,区别的的只有镜像大小及操作系统区别,推荐使用alpine myql为zabbix server所使用的数据库类型,目前有MySQL/PostgreSQL二种,推荐使用mysql latest表示为使用官方的最新镜像,local是下载本地进行build镜像,如网络不好,建议不要尝试,时间较长,很容易失败 本次使用docker-compose_v3_alpine_mysql_latest.yaml配置文件启动Zabbix
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml ps
启动之后即可使用http://ip 直接访问zabbix server,默认账号密码为
账号:Admin 密码:zabbix
安装好之后,部分配置可根据实际需求修改
vi docker-compose_v3_alpine_mysql_latest.yaml 修改端口为8812 zabbix-web-apache-mysql: image: zabbix/zabbix-web-apache-mysql:alpine-4.0-latest ports: - “80:80" //修改为8812:80 - “443:443”
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml down
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d
即可使用http://ip:8812 访问应用
vi .env_web 修改为Asia/Shanghai PHP_TZ=Europe/Riga 修改为 PHP_TZ=Asia/Shanghai
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml down
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d
由于默认镜像中文字体乱码,需要添加中文字体,重新build镜像,此过程较长,需要网络良好。
vi zabbix-docker/web-apache-mysql/alpine/Dockerfile 修改成如下内容 ADD conf/etc/zabbix/web/msty.ttf /usr/share/fonts/ttf-dejavu/msty.ttf ln -s /usr/share/fonts/ttf-dejavu/msty.ttf /usr/share/zabbix/fonts/graphfont.ttf
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
zabbix-docker/web-apache-mysql/alpine/build.sh
vi docker-compose_v3_alpine_mysql_latest.yaml 镜像地址修改为刚才build的 image: zabbix-web-apache-mysql:alpine-latest
docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d
随着Docker的流行,监控Docker已势在必行,使用Zabbix可以利用LLD(自动发现)自动监控宿主机上所运行的所有Docker状态。具体地址可查看https://github.com/monitoringartist/zabbix-docker-monitoring/
提供了二种部署方式
1.使用已有Zabbix Agent加载Docker监控模块方式.如已在Docker宿主机上安装Agent,可直接修改配置文件,加载对应的Docker监控模块,重新启动Agent即可。 2.使用加载了Zabbix Agent的Docker镜像方式.如未安装Zabbix Agent,可直接使用包含了Zabbix Agent的镜像即可。
Zabbix 模块插件是很好用的,可使用C语言编写一个模块,直接加载模块即可使用,个人认为使用模块有以下好处:
在Zabbix Agent里添加模块只需修改以下二项即可
LoadModulePath=/usr/local/modules LoadModule=docker.so
第一项为模块路径,第二项为模块文件。修改之后重启Zabbix Agent即可。
监控Docker模块可在https://github.com/monitoringartist/zabbix-docker-monitoring 下载,注意对应的版本。网站提供的模块有些有错误,需要自行编译。
使用以下命令即可启动一个Agent,即可监控宿主机器上所有运行的Docker容器
docker run --name=dockbix-agent-xxl --net=host --privileged -v /:/rootfs -v /var/run:/var/run --restart unless-stopped -e "ZA_Server=<ZABBIX SERVER IP/DNS NAME/IP_RANGE>" -e "ZA_ServerActive=<ZABBIX SERVER IP/DNS NAME>" -e "ZA_StartAgents=10" -e "ZA_Timeout=30" -d monitoringartist/dockbix-agent-xxl-limited:latest
即可完成Agent部署
在Zabbix主机上导入模版,并关联主机。模版下载地址:
https://dl.cactifans.com/zabbix_docker/Zabbix-Template-App-Docker.tar.gz
下载之后解压导入模版,添加主机即可。主要使用2个模版,一个为主动,一个为被动
Zabbix-Template-App-Docker-active.xml 主动模版 Zabbix-Template-App-Docker.xml 被动模式
添加主机的主机名为宿主机名称,也可以通过docker日志查看。
https://blog.cactifans.com/2018/12/28/Zabbix%E5%9C%A8Docker%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8%E5%92%8C%E7%9B%91%E6%8E%A7/