docker安装配置zabbix教程
缘起
在大约2年前,在树莓派上配置过zabbix
用来监控服务端的各种系统情况,而现在树莓派已经从nas的位置退役下来了,需要在新的j3455服务器上配置下。
另外呢,上次配置zabbix真的是异常的折腾,感觉裸配置真的非常的麻烦,设置要自己去创建数据库表,导入zabbix的数据结构,这一次就想着直接从虚拟机或者docker上来搞,这样肯定方便很多,未来迁移也方便。
折腾过程
查找现有资料
网上找了不少的资料,有安装docker的zabbix-nginx前端和zabbix-mysql后端的,直接docker一把就好了,但是我试了很多次都是不行。
遇到的问题包括:
1、端口连不上的,猜测可能是ipv6或者docker的网络机制导致的
2、数据库异常的,猜测单独安装的mysql和前端的通信有啥问题
安装统一的docker镜像
查了好久,发现其实zabbix官方已经提供了统一的docker镜像,包含mysql数据库,zabbix server,nginx前端这些所有的东西,而且基本是免配置的,包含数据库的创建等。
创建过程如下:
1、docker安装zabbix-appliance
使用下面的命令安装即可
sudo docker run --name zabbix-appliance -e PHP_TZ=Asia/Shanghai -t -p 10051:10051 -p 8080:80 -d zabbix/zabbix-appliance:latest
**注意:**这里的PHP_TZ必须设置,否则zabbix安装后的时间就不是中国时区,时间总是不对的
其中这里的8080:80意思是在物理机的8080端口开了zabbix的网页服务
其他很多更详细的参数,可以从dockerhub网页上查看 https://hub.docker.com/r/zabbix/zabbix-appliance
经过上面的一步操作,zabbix已经跑起来了,如果没有正确运行,可以在宿主机上查看网络是否有问题,通过下面的命令可以产看错误日志。
sudo docker logs -t 75bf18710468
其中75bf18710468
是docker实例的id
通过下面的命令在docker内运行命令
sudo docker exec -it fd99cfc04966 /bin/bash
通过下面的命令查看实例,其中包含了实例的id
sudo docker ps -a
解决图形乱码问题
经过上面的步骤,zabbix已经运行了,接下来我们解决下图形中文乱码问题。
这个问题的原因,是zabbix在绘制图表时,使用了内置的一个字体,这个字体是没有中文的,因此在我们设置了中文的图表图例时,就会出现乱码。
解决方法也很简单,从网络上下载一个simhei即简黑的字体,通过如下命令替换即可
sudo docker cp /usr/share/fonts/truetype/dejavu/simhei.ttf fd99cfc04966:/usr/share/zabbix/assets/fonts/DejaVuSansMono.ttf
其中/usr/share/zabbix/assets/fonts/DejaVuSansMono.ttf是docker实例中,字体的位置,可以通过exec命令进去看下,确认下名称即可。
设置agent
由于我们是docker安装的,docker本身的agent是没有必要安装或启用的。
因此我们在需要监控的主机上,安装zabbix-agent即可,在ubuntu上如下命令安装。
sudo apt install zabbix-agent
通过/etc/zabbix/zabbix_agentd.conf文件配置agent,其中,需要设置的就几个:
1、zabbix的ip地址,使用安装docker zabbix的服务器的ip即可,端口我们没设置就是默认的
2、通过如下命令增加自定义的参数
UserParameter=get_temp_cpu[*],sensors|grep "Physical id $1"|cut -c 35-39
这里的sensors|grep "Physical id $1"|cut -c 35-39 是一条获取cpu温度的命令,可以换成其他的任意命令。
设置zabbix的监控项
通过上面设置后,我们可以使用zabbix的默认模板(很多),可以选择genial linux即可,里边能监控系统的负载、cpu、内存使用等。
自定义的监控,可以通过自定义监控项来实现,参数名称可以填上一步我们写的,比如get_temp_cpu[0]
设置zabbix的图表
和上一步类似,zabbix默认的linux模板已经足够监控基础系统情况了,自定义的在添加完监控项后,也可以增加图表,关联刚才的监控项即可。
注意:这里需要注意下,图表只能使用数值类型的监控项,字符的可以通过映射的方式实现,但是图例不是很好看。
设置图表数据保存时间
更新于230702,最近想看下历史的数据情况,发现历史图表里的趋势图只有最近一年的了,搜索后发现是默认的一年设置,因此需要修改下,可以如下操作:
在配置
->主机
->点击下面主机的监控项链接
->全选监控项
->点击底部批量更新
->趋势存储时间
-->修改为需要的天数
->点击底部更新
;如果监控项有好几页,每一页都操作,按下面步骤操作
在监控项列表,标记想要更新的监控项的复选框 点击列表下方的 批量更新按钮 标记想要更新的属性的复选框 键入新的值,然后单击更新按钮
总结
通过上面的步骤,我们就可以很方便的安装zabbix了,相比于上一次在树莓派上配置来说,简单了很多,以后这些服务我会更加考虑使用docker实现,更加方便且未来迁移很方便。
参考资料
https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers
http://www.rfyy.net/archives/1881.html
https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf
https://www.cnblogs.com/operationhome/p/11016809.html#zabbix-40--docker-版本-图表乱码问题解决
https://hub.docker.com/r/zabbix/zabbix-appliance
https://blog.csdn.net/tladagio/article/details/80714527
https://aijishu.com/a/1060000000014166
https://jaminzhang.github.io/monitoring/zabbix-agentd-config/
https://ngx.hk/2016/10/18/安装配置zabbix-agent-添加监控点.html
https://www.jianshu.com/p/ac2a145d2235
https://www.jianshu.com/p/1eb1d1d3f25e
https://www.zabbix.com/documentation/5.2/zh/manual/config/items/itemupdate
发表评论