zabbix 文档 https://www.zabbix.com/documentation/2.4/ ios
zabbix安装http://bbotte.blog.51cto.com/6205307/1612664 nginx
zabbix-server,agent安装完毕,接下来实现几个经常使用的监控功能web
监控主机的操做流程:
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,配置自动发现,减小配置时间
shell
图片看不清的话,点击一下图片,在浏览器新的窗口打开
数据库
1,建立hostvim
到zabbix后台,Configuration--Hosts--Create host 建立一个host浏览器
https://www.zabbix.com/documentation/2.4/manual/quickstart/host bash
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
app
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那么绕,安装,配置较简单,我认为最重要的是简单而且灵活,一个脚本或者一个页面,能用数字统计出来的信息均可以出图。