跟nagios一样是一款开源的服务器资源监控软件。达到企业级对万百上千台服务器、虚拟机、网络设备进行实时监控。
今天发现zabbix被墙了,要下载软件的同学自行寻找科学上网的方法。安装环境:Centos 6.5,相关的下载地址在
1.下载安装包 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm wget http://fping.org/dist/fping-3.13.tar.gz wget https://github.com/meduketto/iksemel/archive/master.zip && mv master.zip iksemel-master.zip #有需要下载单独安装包的也可以从下面地址下载 http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/ 2.安装 #安装依赖包 rpm -qpR zabbix-server-2.4.6-1.el6.x86_64.rpm yum install OpenIPMI-libs net-snmp unixODBC python python-devel textinfo #安装fping tar xzvf fping-3.13.tar.gz && cd fping-3.13 && ./configure && make && make install #安装iksemel unzip iksemel-master.zip && cd iksemel-master && ./autogen.sh && ./configure && make && make install #安装zabbix rpm -ivh zabbix-2.4.6-1.el6.x86_64.rpm #检查安装路径 rpm -qa|grep zabbix 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 -ql zabbix-2.4.6
相关从二进制安装的官方文档在
https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
在需要收集信息的机器上安装agent,有多少台机器要监控就安装多少台
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm yum install zabbix-agent
如果要下载预编译好的二进制包agent 可在这里下载 http://www.zabbix.com/download.php
初始化zabbix数据库
# mysql -uroot -p >create database zabbix default charset 'utf-8'; >grant all on zabbix.* to zabbix@localhost identified by 'xxx'; # cd /usr/share/doc/zabbix-server-mysql-2.4.0/create # mysql -uzabbix -p zabbix < schema.sql # mysql -uzabbix -p zabbix < images.sql # mysql -uzabbix -p zabbix < data.sql
vi /etc/zabbix/zabbix_server.conf ListenPort=10051 DBName=zabbix DBUser=zabbix DBPassword=xxx DBUser=zabbix DBSocket=/var/lib/mysql/mysql.sock DBPort=3306
启动服务器
service zabbix-server start #查看服务启动是否正常 tail -f /var/log/zabbix/zabbix_agentd.log
vi /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 ListenPort=10050 ServerActive=127.0.0.1 Hostname=[服务端的主机名] UnsafeUserParameters=1 #如果是限制了zabbix访问数据库,最好以root权限运行 AllowRoot=1
启动agentd
service zabbix-agent start #查看服务启动是否正常 tail -f /var/log/zabbix/zabbix_agentd.log
mkdir /var/lib/zabbix echo "[client]" >> /var/lib/zabbix/.my.cnf echo "user=root" >> /var/lib/zabbix/.my.cnf echo "password=xxx" >> /var/lib/zabbix/.my.cnf #另外注意检查/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf #是否为默认形式,特别是mysql.status[*]命令,最后的awk '{print $$2}'注意有两个$符号!!
我使用的是nginx+php-fpm+mysql
#vi /etc/nginx/conf.d/zabbix.conf server { listen 80; server_name YOUR_SERVER_NAME; root /usr/share/zabbix; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 1300; } } #service nginx restart
使用浏览器访问 http://YOUR_SERVER_NAME/
更多自定义key相关的用法请参考官方网站
https://www.zabbix.com/documentation/2.4/manual/config/items/userparameters
#cat /etc/zabbix/zabbix_agentd.d/userparameter_zg.conf UserParameter=check_process_alive[*],ps aux|grep -v grep|grep $1|wc -l #service zabbix-agent restart #要过几分钟在管理网站才生效
在管理网站添加Item和trigger,如下图
首页在百度告警注册帐号 http://gaojing.baidu.com/
详细的整合流程参考 http://help.gaojing.baidu.com/help/?p=345
注意几个细节:
1、下面这一步添加media type时,Name项要用英文名称,中文名称在zabbix上处理上可能有问题;
2、baidu_gaojing.sh 此文件在服务器上属主要是zabbix的运行用户,一般是zabbix,不能是root;
3、baidu_gaojing.sh 此文件会输入日志,注意日志目录对zabbix要可写;
整合完成后,在zabbix触发消息,百度告警后台可以查看得到通知,根据你在百度告警配置的升级策略,将会通过电话、短信、微信等方式通知相关人员。效果如下图:
zabbix功能非常强大,监控规则也非常灵活,亦可以自定义监控程序扩展其功能,非常适应复杂多变的应用场景,其自身带了多套模板,如果服务器资源,mysql模板,网络带宽模板等等,已经足够应付大都场景了,还有更多更强大的功能有待自已去发现。
通过与百度告警服务的整合,可以实现免费的微信报警功能,方便实用!
Zabbix Installation from packages
https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
百度告警与zabbix的整合
http://help.gaojing.baidu.com/help/?p=345
<作者 朱淦 [email protected] 2015.11.6>