zabbix 文档 https://www.zabbix.com/documentation/2.4/
zabbix安装http://bbotte.blog.51cto.com/6205307/1612664
zabbix-server,agent安装完毕,接下来实现几个常用的监控功能
监控主机的操作流程:
1,Configuration--Hosts下为需要监控的主机创建host:“Create host”
2,在host里面添加Items,即需要监控的项目,添加cpu,内存,网络,nginx,页面响应代码及时间
等监控,在添加Items中把属于一个组的项目添加至一个application,这样就不用新建Applications
3,接下来在Graphs里面“Create graph”,即图形化
4,把多个graph添加至一个屏幕里面显示:Configuration--Screens--Create screen,即监控墙
5,当然要添加报警功能了,需要先添加触发器“Triggers”;再Configuration--Actions--“Create
action”即做什么操作;最后完成怎么做:Administration--Media types--选择Email发邮件通知
6,创建模板,方便添加主机后重复操作
7,配置自动发现,减少配置时间
图片看不清的话,点击一下图片,在浏览器新的窗口打开
1,创建host
到zabbix后台,Configuration--Hosts--Create host 创建一个host
https://www.zabbix.com/documentation/2.4/manual/quickstart/host
Host name 填agent的ip或者主机的作用,自己起个名字就好
Visible name host里面看到的名称
Groups 在New group直接填group的名字
Agent interfaces
IP address 写agent的ip(必须),如果内网有dns的话,也可以写dns name,后面的port默认是10050,当然agent的iptables这个端口需要打开
其他的选项默认就可以,这样就添加了一台host
2,创建Items Configuration--Hosts--Items--Create item
Items里面比较重要的Key名称,要保证是唯一的(往数据库键方面想),下面是存储的数据格式:"Type of infomation","Date type";多长时间采集一次数据:"flexible intervals";把采集的数据以原始的数据存储"As is"还是换算为每秒的平均值再存入数据库"Delta (speed per second)",最后"Enabled" Add即可
可以多添加item,比如"system.cpu.intr" "system.cpu.load[<cpu>,<mode>]" "system.cpu.util[<cpu>,<type>,<mode>]"
"system.cpu.intr"没有需要传入的参数
cpu.load可以写system.cpu.load[all,avg5],表示取所有cpu(多核)平均5分钟的负载
cpu.util可以写system.cpu.util[,user,avg5],表示所有cpu的用户空间5分钟的平均利用率
比如添加一个自定义的shell脚本:
# cat /tmp/test.sh
#!/bin/bash
/usr/bin/dstat 1 1 |awk 'NR>3{print $1}'
# vim /etc/zabbix/zabbix_agentd.conf 在最后添加
UserParameter=Test.test, /tmp/test.sh
测试一下:
# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t Test.test
Test.test [t|0]
在菜单 Configuration--Hosts--Items--Create item 添加自定义的这个shell,其中“Key”选项写:“Test.test” 即可。
3,添加图形
Configuration--Hosts--Graphs--Create graph
https://www.zabbix.com/documentation/2.4/manual/web_interface/frontend_sections/monitoring/graphs
把刚创建的item添加到里面即可,点击"Preview"预览生成后的图形,如果没有采集到数据的话,需要等待一会
4,Screens里面自己添加吧,Configuration--Screens--Create screen--为screen命名--Add添加--点击进入添加页面,Change-- 选择要画图的graph即可
5,设置报警功能
a,创建trigger
Configuration--Hosts--Triggers--Create trigger--
Expression里面添加Ttem,Function设置最后一次取值大于(选项太多)下面定义的数值N,Insert即可
Severity 选报警的级别
b,添加Actions
Configuration--Actions--Create action
下面是三个选项 Action、Conditions、Operations
Action里面输入Name,Recovery message也打个勾,恢复后也采取措施
Conditions可以定义多个限制或者说是条款,A 没有在维护期,B trigger有报警,C trigger名字类似于“network trigger”,即第5步里面创建的trigger名字
Operations的选项
Default operation step duration是设置每一步间隔多长时间,即下面可以添加多个step,比如触发一个事件,不能立即判定是否属于正常,或者在第1步采取脚本执行某些动作尝试修复,第2步给运维发邮件,第10步给主管发送邮件。下面的Step From 1 To 1,即是发生第一次后就执行"Operation type"的操作
下面的选择发送的组和用户
发送邮件:
Administration--Media types--Create media type
设置接收邮件:
Administration--Users--Members下面的"Admin (Zabbix Administrator)"--Media--添加你的163邮箱
触发报警发送邮件
把host里面Triggers的Expression 值调小,触发报警,查看邮箱的邮件内容
6,创建模板
Configuration--Templates--Create template
做完了上面创建主机的过程,其实创建模板就比较简单
配置过程有疑问的话看看Zabbix server自带的配置和官方文档,将有很大帮助
使用感受:
zabbix逻辑没有nagios那么绕,安装,配置较简单,我认为最重要的是简单并且灵活,一个脚本或者一个页面,能用数字统计出来的信息都可以出图。