官方安装文档
官方文档简单明了,基本的安装步骤就不说了。
填写IP,点击下一步的时候,提示连接不到,因为下面这个√,把这个关闭了在点击下一步
登录的初始用户名密码:
Admin zabbix
修改一下默认密码
配置中文界面
- 点击左侧User settings
2.点击Language ,选择Chinese
Password按钮可以修改密码
3.点击Update
自动发现主机
agent端:
下载zabbix源
rpm -Uvh http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
centos6下载这个源
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/6/x86_64/zabbix-release-5.0-1.el6.noarch.rpm
安装
yum -y install zabbix-agent
安装完成
修改配置
修改处有四项,两个ip,一个主机名,一个元数据HostMetadata
启动服务
systemctl start zabbix-agent
server端:
创建自动发现
添加配置,因为要快速看效果,所以设置了10秒检查一次,检查类型选择“zabbix客户端”,
key值输入“system.uname”,官网怎么写的,大家都这么写,经我测试发现,写“system.hostname”也是可以的,应该是通过系统的key值判断agent是否启动了。
等待一下之后可以看到已经发现了这个主机
为linux主机创建一个组
接下来创建动作
需要点Autoregistration actions后再点击创建动作
添加操作
添加到组里
添加这个主机
关联监控模板
点击选择
再点击选择
选择要关联的模板组
选择要关联的模板,模板可以自定义,创建新的模板,新的监控项,触发器等,根据不同的主机类型来进行不同的模板关联
点击添加
稍等片刻可以看到已经发现了主机,模板正在慢慢添加
实现微信报警:
编写脚本,放到/usr/lib/zabbix/alertscripts/ 下
参考 https://blog.csdn.net/wojiuwangla/article/details/106104276 测试没问题之后,执行下一步
创建报警媒介类型
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
添加消息模板
选项根据自定义来
给用户添加报警媒介
点击添加,然后点击更新
接下来添加动作
条件是,linux servers 主机组里的主机
添加触发报警操作细节
添加恢复问题后的操作
报警主机,恢复主机,用到的{EVENT.ACK.STATUS} 都是宏,更多的宏查看官方文档
https://www.zabbix.com/documentation/5.0/zh/manual/appendix/macros/supported_by_location
接下来自定义监控项和触发器看看效果,监控nginx数量
首先登录agent机器,安装nginx,然后创建key
yum -y install nginx
systemctl start nginx
pgrep nginx
可以看到,nginx的数量是2个,接下来在zabbix-agent配置文件中添加key即可
创建了一个/etc/zabbix/zabbix_agentd.d/nginx.conf文件,文件内容是
UserParameter=nginx.num,pgrep nginx|wc -l
###################################################
UserParameter= #固定格式
nginx.num #是key值,待会就明白了
pgrep nginx|wc -l #是value值,key值和value值是通过“,”分开的
###################################################
修改完配置文件,重启一下agent服务
systemctl restart zabbix-agent
在服务端使用zabbix_get测试,看看是不是成功了
返回的数量是2,成功获取到值了,接下来web配置。
添加完查看一下是否接收到值了
1分钟后才会出现效果,如果没出现就是出问题了。因为设置的是1分钟检查一次,也就是上面监控项里的更新间隔1m,也可以改成10s
键值就是刚才写的key,添加了之后,要创建一个触发器。
写完名字,选择严重性,添加表达式
选择监控项,选择条件last() 最后一次的值,选择个数1,间隔10秒,结果是不等于2。
最后一次的值如果不是2,那就会报警。
接下来测试效果
停掉nginx,数量为0
等待了1分钟,出现了报警,提示微信报警已经送达
微信查看收到了报警信息
接下来恢复问题
等了几分钟,恢复正常,在问题里看到了,仪表板上消失了。
监控项中文乱码
打开Windows的控制面板,找不到字体的话,右上角直接搜索字体
复制字体到server端的/usr/share/zabbix/assets/fonts 目录下
替换线上使用的字体
sed -i 's/graphfont/SIMSUN/g' /usr/share/zabbix/include/defines.inc.php
不需要重启服务,直接刷新web页面即可
奇怪的问题
1. 问题情况:安装zabbix-web-mysql-scl zabbix-nginx-conf-scl 后,只有配置文件。
问题原因: 之前没有卸载掉rh-nginx116 ,rh-php72,卸掉这两个,重新安装即可。
2. 问题情况:zabbix-agent安装问题
问题原因:因为centos6的机器安装centos7的包~
3. 问题情况:两个机器监控数量不一致
问题原因:Mysql Info是我自定义的模板,可以忽略,很明显的就可以看到,数量不一致是因为网卡数量导致。
4. 问题情况:zabbix监控项出现灰色状态,不支持的
解决方法:确认恢复好监控项之后,去web界面选择该监控项,点击清除历史记录,点击Execute now获取一次,如果还不行,那就stop服务,再执行清除历史记录,再启动,差不多就会重新获取了(我是这样解决的)。