一、 添加 WEB Monitorings
Web Monitoring是用来监控web程序的,可以监控到web程序的下载速度、返回码及响应时间,还支持把一组连续的web动作作为一个整体来监控。
下面我们以监控登陆zabbix的web程序为例,来展示如何使用web monitoring。
Configuration->web->Create Scenario 创建一个Scenario(注:必须选择host后才能创建scenario,zabbix的所有items都必须创建在hosts上)
Application:选择这个scenario所在的application组  
Name:scenario的名字
Basic authentication:鉴权
Update interval:监控频率,s为单位
Agent:选择要使用的浏览器客户端,可能同样的web程序对不同的客户端展示的内容会不一样
Status:默认为active
Variables:变量定义,这里定义的变量可在后续的steps中使用,这里我们定义了用户和密码的变量
Steps:web 程序的各个步骤,选择add新增一个Login的step,来模拟用户登陆,传递用户和密码给index.php页面
URL:监控的web页面(注:必须是全路径带页面名)  
Post:传递给页面的参数,多个参数之间用&连接,此处可引用前面定义的变量
Timeout:超时时间
Required:页面中能匹配到字符,匹配不到即认为错误
Status codes:页面返回码
 
添加完step后,我们在Monitoring->web页面即能看到监控的状态和图示
创建完scenario后,zabbix server会自动创建相关的items,所以我们只需为这些items添加triggers即可让web scenario出错时产生告警  
Configuration->hosts->点击scenario所在的host条目的trigger,直接create trigger,在select items的时候就可以看到系统自动创建的items(注:自动创建的items在host的items列表中直接是看不到的,需要在创建trigger时选择items时才能看到)
可以在items列表中看到,系统为每个step创建了3个item,Download Speed/Response Code/Response Time,为整个scenario创建了一个test.fail的item,可以分别为其创建trigger  
下例我们创建一个Login页面返回码的trigger,大于等于400即为错误
再创建一个整个scenario所有step运行是否成功的trigger,采集值为0表示整个scenario的所有step都执行成功了,第几步的step执行失败就返回数字几,且后续的step都不会继续执行下去。
这样,一个完整的web monitoring就配置完成了。  
Web monitoring还有更多强大的功能,未能一一研究了解,有待挖掘
二、  添加 Graphs
Zabbix的Graphs功能很强大,可以为每一个item绘制图表,也可以把多个items绘制在一张图表内。
通过configuration->hosts选择要绘制图表的host,点击graphs,create graphs即可创建图表。
Graph type:图表样式,有线状、柱状、饼状 
还可以自定义图表大小,及Y轴最大最小值
通过add items可以添加在同一个图表中展示的多个items(注:注意每个item的颜色及取值范围,范围相差太大图表会显示不全)
配置好的graphs在monitoring->graphs中查看
在monitoring->last data下能快速查看每个host的每个item的graph
三、  添加 Screens
Screen将多种信息放在一起展示,便于集中展示某个host的多个信息,或是比较多个hosts的同一种信息,这些信息可以为graphs、maps、server infos等等,几乎涵盖zabbix所有的监控信息。
通过configuration->screen->creat screen来创建,创建时定义screen的行数和列数,点击对应单元格内的change,添加相应的信息
通过monitoring-screen,可以查看之前配置好的信息。 
四、 添加 Maps
五、 添加 MySQL 监控
Zabbix自带有MySQL的监控模板,可以做一些简单的监控。
1 、更改agentd 配置
Agent的配置文件上默认就有通过mysqladmin工具取MySQL数据库监控信息的配置,我们只需更改需MySQL所在host上的agentd.conf文件,将文件最后的所有关于mysql的UserParameter前的#号去掉,更改登陆mysql的用户和密码即可。
例如:修改后其中一条监控数据库状态如下:
UserParameter=mysql.ping,mysqladmin -uroot –proot ping|grep alive|wc –l
修改后重启host上的agentd,使配置文件生效。
2 、添加items
web端编辑mysql所在的host,使之link到template_APP_MySQL模板,然后在host的items里就能看到刚才定义的这些MySQL的监控项了,修改相应的trigger值即可。
 
这个zabbix自带的mysql监控功能比较弱,只是通过mysqladmin工具去查询mysql的一些状态而已。
我们可以自己编写或是找一些功能更强的mysql监控脚本,加到zabbix监控里,后面会讲到如何自己添加监控。
另外更详细的方法可参考zabbix wiki上的mysql监控方法,这个监控的就非常详细: http://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication