Zabbix介绍
跟nagios一样是一款开源的服务器资源监控软件。达到企业级对万百上千台服务器、虚拟机、网络设备进行实时监控。
安装
安装环境:Centos 6.5,相关的下载地址在
1.yum安装方式
rpm-ivh/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yuminstallzabbix-server-mysqlzabbix-serverzabbix-agentzabbix-web-mysql
#如果需要还可以安装zabbix-proxy
yuminstallzabbix-proxy-mysqlzabbix-proxy
#再安装一些其它组件
wget/dist/fping-3.13.tar.gz
wget/meduketto/iksemel/archive/master.zip&&mvmaster.zipiksemel-master.zip
#有需要下载单独安装包的也可以从下面地址下载
/zabbix/2.4/rhel/6/x86_64/
安装介绍文档
要注意选择相同的版本安装
2.手工下载包的安装方式
#查询依赖包rpm-qpRzabbix-server-2.4.6-1.el6.x86_64.rpm
rpm-ivhzabbix-2.4.6-1.el6.x86_64.rpmzabbix-agent-2.4.6-1.el6.x86_64.rpmzabbix-web-mysql-2.4.6-1.el6.noarch.rpmzabbix-web-2.4.6-1.el6.noarch.rpmzabbix-server-mysql-2.4.6-1.el6.x86_64.rpmzabbix-server-2.4.6-1.el6.x86_64.rpmzabbix-sender-2.4.6-1.el6.x86_64.rpm
#注意,安装时如果出现要安装database-implement的提示,表示你没有按上述一起同时安装的方法,最少需要
#rpm-ivhzabbix-server-mysql-2.4.6-1.el6.x86_64.rpmzabbix-server-2.4.6-1.el6.x86_64.rpm
yuminstallOpenIPMI-libsnet-snmpunixODBCpythonpython-develtextinfo
#安装fping
tarxzvffping-3.13.tar.gz&&cdfping-3.13&&./configure&&make&&makeinstall
#安装iksemel
unzipiksemel-master.zip&&cdiksemel-master&&./autogen.sh&&./configure&&make&&makeinstall
#安装zabbix
rpm-ivhzabbix-2.4.6-1.el6.x86_64.rpm
3.安装结果,检查安装的各包及路径
rpm-qa|grepzabbix
zabbix-agent-2.4.6-1.el6.x86_64
zabbix-2.4.6-1.el6.x86_64
zabbix-server-mysql-2.4.6-1.el6.x86_64
zabbix-web-2.4.6-1.el6.noarch
zabbix-release-2.4-1.el6.noarch
zabbix-server-2.4.6-1.el6.x86_64
zabbix-web-mysql-2.4.6-1.el6.noarch
#查看配置文件
rpm-qlzabbix-2.4.6
相关从二进制安装的官方文档在
/documentation/2.4/manual/installation/install_from_packages
在需要收集信息的机器上安装agent,有多少台机器要监控就安装多少台
rpm-ivh/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
yuminstallzabbix-agent
如果要下载预编译好的二进制包agent 可在这里下载 /download.php
配置服务端
初始化zabbix数据库
#mysql-uroot-p
>createdatabasezabbixdefaultcharset'utf-8';
>grantallonzabbix.*tozabbix@localhostidentifiedby'xxx';
#cd/usr/share/doc/zabbix-server-mysql-2.4.0/create
#mysql-uzabbix-pzabbix
#mysql-uzabbix-pzabbix
#mysql-uzabbix-pzabbix
vi/etc/zabbix/zabbix_server.conf
ListenPort=10051
DBName=zabbix
DBUser=zabbix
DBPassword=xxx
DBUser=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
启动服务器
servicezabbix-serverstart
#查看服务启动是否正常
tail-f/var/log/zabbix/zabbix_agentd.log
配置agent
vi/etc/zabbix/zabbix_agentd.conf
#注意配置成服务端的ip
Server=127.0.0.1
ListenPort=10050
#注意配置成服务端的ip
ServerActive=127.0.0.1
#注意名称要与服务端一致!
Hostname=[服务端的主机名]
UnsafeUserParameters=1
#如果是限制了zabbix访问数据库,最好以root权限运行
AllowRoot=1
启动agentd
servicezabbix-agentstart
#查看服务启动是否正常
tail-f/var/log/zabbix/zabbix_agentd.log
添加mysql的配置参数
mkdir/var/lib/zabbix
echo"[client]">>/var/lib/zabbix/.f
echo"user=root">>/var/lib/zabbix/.f
echo"password=xxx">>/var/lib/zabbix/.f
#另外注意检查/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
#是否为默认形式,特别是mysql.status[*]命令,最后的awk'{print$$2}'注意有两个$符号!!
配置web
我使用的是nginx+php-fpm+mysql
#vi/etc/nginx/conf.d/zabbix.conf
server{
listen80;
server_nameYOUR_SERVER_NAME;
root/usr/share/zabbix;
location/{
indexindex.phpindex.htmlindex.htm;
}
location~\.php${
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
fastcgi_read_timeout1300;
}
}
#servicenginxrestart
注意zabbix web的数据库连续在2.4版本时是配置在
/etc/zabbix/web/zabbix.conf.php
#下面这个文件是辅助的配置,上面的文件没找到时使用
/usr/share/zabbix/conf/zabbix.conf.php
使用实践
更多自定义key相关的用法请参考官方网站
添加自定义事件
#cat/etc/zabbix/zabbix_agentd.d/userparameter_zg.conf
UserParameter=check_process_alive[*],psaux|grep-vgrep|grep$1|wc-l
#servicezabbix-agentrestart
#要过几分钟在管理网站才生效
在管理网站添加Item和trigger,如下图
与百度告警的整合
注意几个细节:
1、下面这一步添加media type时,Name项要用英文名称,中文名称在zabbix上处理上可能有问题;
2、baidu_gaojing.sh 此文件在服务器上属主要是zabbix的运行用户,一般是zabbix,不能是root;
3、baidu_gaojing.sh 此文件会输入日志,注意日志目录对zabbix要可写;
整合完成后,在zabbix触发消息,百度告警后台可以查看得到通知,根据你在百度告警配置的升级策略,将会通过电话、短信、微信等方式通知相关人员。效果如下图:
总结
zabbix功能非常强大,监控规则也非常灵活,亦可以自定义监控程序扩展其功能,非常适应复杂多变的应用场景,其自身带了多套模板,如果服务器资源,mysql模板,网络带宽模板等等,已经足够应付大都场景了,还有更多更强大的功能有待自已去发现。
通过与百度告警服务的整合,可以实现免费的微信报警功能,方便实用!
参考
ZabbixInstallation from packages
百度告警与zabbix的整合