随着IDC的服务器越来越多,一直都想用套软件来承担日常的运维监控工作,但是普通的网管软件基本上都是基于SNMP的,监控的层次比较低,特别是对于我们运维来说应用方面的监控是主要工作。做为我想要的运维监控软件,它应该满足一下一些要求:
1。对于主机基本情况的监控。如CPU、文件系统、MEM等;
2。对于主流应用系统的监控,比如http、mysql、mail等,同时它对于应用系统的监控必须能够细化到如http进程、mysql当前有多少query打开多少table等等这些情况;
3。它必须有良好的扩展性,比如对于webst这样少见的应用最好自己可以定制脚本来抓取连接信息等;
4。web监控和灵活的图表定制能力,我可以根据服务器或者某个应用来自由定制曲线图;
5。它还需要有灵活的预警功能,对于服务器down应用down等预设阀进行预警处理,同时预警功能最好具有拓展性,比如能通过我们现有的短信平台发送。
本来打算自己写一个agent/Server模式的软件,agent在每个监控节点上开放端口,由server通过crond定期呼叫agent获取监控信息,然后用php+mysql在server端前台管理和监控。不过试了leera介绍的zabbix,我期望的功能要求它基本都达到了,而且是开源的产品,这样基本打消了我的念头。
下面就开始一起认识强大的zabbix吧,首先来看看如何安装。
zabbix的官方站点:
当前稳定版本:1.1.6
zabbix想比较其他管理监控软件而言,安装非常简单。
首先配置数据库环境,我这里使用mysql作为数据库支持,
引用
mysql> create databases zabbix;
mysql> use zabbix;
mysql> source /tmp/zabbix-1.1.6/create/mysql/schema.sql
mysql> source /tmp/zabbix-1.1.6/create/data/data.sql
mysql> source /tmp/zabbix-1.1.6/create/data/images.sql
引用
# tar zxvf zabbix-1.1.6.tar.gz
# cd zabbix-1.1.6
# ./configure --prefix=/data/app/zabbix \ //指定安装目录
--enable-server \ //安装server端,监控节点不需要
--enable-agent \ //安装agent端
--with-mysql \ //需要mysql支持需要指定其目录
--with-oracle \ //需要oracle支持需要指定其目录
--with-net-snmp //需要snmp支持需要指定
# make
# make install
# cp -r misc/conf/*.conf /etc/zabbix //如果是agent那么只需要zabbix_agent.conf zabbix_agentd.conf两个文件即可
# cp -r misc/init.d/redhat/*ctl /data/app/zabbix/bin
注意修改/data/app/zabbix/bin/zabbix_agentd_ctl和zabbix_suckerd_ctl文件中默认的zabbix目录;
如果是server端,需要修改/etc/zabbix中的zabbix_server.conf、zabbix_trapper.conf两个文件,主要是配置一些路径、IP、端口、数据库信息等等;如果是agent端,需要修改/etc/zabbix中的zabbix_agent.conf、zabbix_agentd.conf两个文件,也是配置类似的相关信息,这些都比较简单不用详说。
在agent端服务器上需要通过/data/app/zabbix/bin/zabbix_agentd_ctl start来启动agent进程,在server端通过/data/app/zabbix/bin/zabbix_suckerd_ctl start来启动server进程,如果发生错误可以查看指定的log文件来分析。
最后我们需要在server端来配置web脚本的环境,拷贝frontends/php目录的脚本到web文件目录,并修改include/db.inc.php中的数据库连接信息。
ok,安装基本完成,后面再来看看如何使用zabbix,先来两张我的zabbix的截屏,不过只添加了部分server。
一服务器列表界面
二手工指定的监控面板
阅读(2045) | 评论(0) | 转发(0) |