以下是 Zabbix 的简单入门使用,主要是简单接触了解下添加主机、监控项、触发器、报警媒介,结合使用下。
一、监控主机
提前下载准备好 zabbix-agent 软件,上传到要监控的主机进行安装配置:
[root@web01 ~]# yum localinstall -y zabbix-agent-4.0.27-1.el7.x86_64.rpm
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.70
[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbix-agent
[root@web01 ~]# netstat -ntlp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 18144/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 18144/zabbix_agentd
然后选择模板:(这里我们可以暂时将模板理解为监控项的集合,zabbix 自带的模板 Template OS Linux 提供了CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些相关的监控项。)
此时已经自动使用模板中的监控项去监控 web01 主机了,我们可以通过 web 界面以图表的形式监控查看。
二、监控项
监控项是 Zabbix 中获得数据的基础,没有监控项,就没有数据。
所有的监控项都是依赖于主机的,所以当我们要配置一个监控项时,先要进入 配置 => 主机
页面找到要应用的主机,然后在主机那行点击监控项,选择创建监控项进行配置。
例如,监控 web01 主机当前系统的登陆用户数。
首先在被监控端 web01 主机上配置自定义监控项:
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/login_number.conf
# 监控当前系统登录用户数
UserParameter=login_number,w | awk 'NR==1 {print $(NF-6)}'
[root@web01 ~]# systemctl restart zabbix-agent
语法格式:
UserParameter=<key>,<shell command>
查看所有监控项:
zabbix_agentd -p
在 server 端测试是否能正常获取到该被监控端主机自定义监控项的值:
[root@zabbix ~]# yum install -y zabbix-get
[root@zabbix ~]# zabbix_get -s 10.0.0.10 -k login_number
2
web界面创建监控项:(当然我们可以在键值对哪里选择 Zabbix 预先定义好的使用)
当一个监控项定义完成后,我们可以从 监测 => 最新数据
,在过滤器中进行过滤,然后查看你之前定义的监控项和获得的值,如下:
三、触发器
监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
如果收到的数据超过了这个定义好的阈值,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。
例如,沿用上面自定义监控项,当系统用户登录数超过2个,则触发报警。
同样,先要进入 配置 => 主机
页面找到要应用的主机,然后在主机那行点击触发器,选择创建触发器进行配置。
四、报警
我们可以自定义报警媒介。当有监控项不正常时,通过触发器调用定义好的报警媒介报警,如发送电子邮件。
进入 管理 => 报警媒介类型
,点击创建媒体类型:
参考官方文档:https://www.zabbix.com/documentation/4.0/zh/manual