博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix对服务器资源进行监控及百度告警的整合
阅读量:5928 次
发布时间:2019-06-19

本文共 4642 字,大约阅读时间需要 15 分钟。

hot3.png

Zabbix介绍

跟nagios一样是一款开源的服务器资源监控软件。达到企业级对万百上千台服务器、虚拟机、网络设备进行实时监控。

安装

安装环境:Centos 6.5,相关的下载地址在

1.yum安装方式rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpmyum install zabbix-server-mysql zabbix-server zabbix-agent zabbix-web-mysql#如果需要还可以安装zabbix-proxyyum install zabbix-proxy-mysql zabbix-proxy#再安装一些其它组件wget http://fping.org/dist/fping-3.13.tar.gzwget 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.rpmrpm -ivh zabbix-2.4.6-1.el6.x86_64.rpm zabbix-agent-2.4.6-1.el6.x86_64.rpm zabbix-web-mysql-2.4.6-1.el6.noarch.rpm  zabbix-web-2.4.6-1.el6.noarch.rpm zabbix-server-mysql-2.4.6-1.el6.x86_64.rpm zabbix-server-2.4.6-1.el6.x86_64.rpm zabbix-sender-2.4.6-1.el6.x86_64.rpm#注意,安装时如果出现 要安装 database-implement的提示,表示你没有按上述一起同时安装的方法,最少需要#rpm -ivh  zabbix-server-mysql-2.4.6-1.el6.x86_64.rpm zabbix-server-2.4.6-1.el6.x86_64.rpmyum install OpenIPMI-libs net-snmp unixODBC python python-devel textinfo#安装fpingtar xzvf fping-3.13.tar.gz && cd fping-3.13 && ./configure && make && make install#安装iksemelunzip iksemel-master.zip && cd iksemel-master && ./autogen.sh && ./configure && make && make install#安装zabbixrpm -ivh zabbix-2.4.6-1.el6.x86_64.rpm3.安装结果,检查安装的各包及路径rpm -qa|grep zabbixzabbix-agent-2.4.6-1.el6.x86_64zabbix-2.4.6-1.el6.x86_64zabbix-server-mysql-2.4.6-1.el6.x86_64zabbix-web-2.4.6-1.el6.noarchzabbix-release-2.4-1.el6.noarchzabbix-server-2.4.6-1.el6.x86_64zabbix-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.rpmyum 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.confListenPort=10051DBName=zabbixDBUser=zabbixDBPassword=xxxDBUser=zabbixDBSocket=/var/lib/mysql/mysql.sockDBPort=3306

启动服务器

service zabbix-server start#查看服务启动是否正常tail -f /var/log/zabbix/zabbix_agentd.log

配置agent

vi /etc/zabbix/zabbix_agentd.conf#注意配置成服务端的ipServer=127.0.0.1ListenPort=10050#注意配置成服务端的ipServerActive=127.0.0.1#注意名称要与服务端一致!Hostname=[服务端的主机名]UnsafeUserParameters=1#如果是限制了zabbix访问数据库,最好以root权限运行AllowRoot=1

启动agentd

service zabbix-agent start#查看服务启动是否正常tail -f /var/log/zabbix/zabbix_agentd.log

添加mysql的配置参数

mkdir /var/lib/zabbixecho "[client]" >> /var/lib/zabbix/.my.cnfecho "user=root" >> /var/lib/zabbix/.my.cnfecho "password=xxx" >> /var/lib/zabbix/.my.cnf#另外注意检查/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 {    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

注意zabbix web的数据库连续在2.4版本时是配置在

/etc/zabbix/web/zabbix.conf.php#下面这个文件是辅助的配置,上面的文件没找到时使用/usr/share/zabbix/conf/zabbix.conf.php

使用实践

使用浏览器访问

235313_VRYN_1263162.jpg

001829_PDl1_1263162.jpg

更多自定义key相关的用法请参考官方网站

添加自定义事件

#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,如下图

124907_OhAa_1263162.png

124934_LpcU_1263162.png

trigger表达式语法说明 

与百度告警的整合

首页在百度告警注册帐号 

详细的整合流程参考 

注意几个细节:

1、下面这一步添加media type时,Name项要用英文名称,中文名称在zabbix上处理上可能有问题;

000556_Dldn_1263162.jpg

2、baidu_gaojing.sh 此文件在服务器上属主要是zabbix的运行用户,一般是zabbix,不能是root;

3、baidu_gaojing.sh 此文件会输入日志,注意日志目录对zabbix要可写;

整合完成后,在zabbix触发消息,百度告警后台可以查看得到通知,根据你在百度告警配置的升级策略,将会通过电话、短信、微信等方式通知相关人员。效果如下图:

001204_BHDz_1263162.jpg

总结

zabbix功能非常强大,监控规则也非常灵活,亦可以自定义监控程序扩展其功能,非常适应复杂多变的应用场景,其自身带了多套模板,如果服务器资源,mysql模板,网络带宽模板等等,已经足够应付大都场景了,还有更多更强大的功能有待自已去发现。

通过与百度告警服务的整合,可以实现免费的微信报警功能,方便实用!

参考

Zabbix Installation from packages

百度告警与zabbix的整合

<作者 朱淦 350050183@qq.com 2015.11.6>

转载于:https://my.oschina.net/swingcoder/blog/524884

你可能感兴趣的文章
Linux命令总结【待续】
查看>>
Android实现播放视频
查看>>
【程序员眼中的统计学(2)】集中趋势度量:分散性、变异性、强大的距
查看>>
Leetcode: Add and Search Word - Data structure design
查看>>
Is valid identifier?
查看>>
Atitit.python web环境的配置 attilax 总结
查看>>
[CS231n-CNN] Training Neural Networks Part 1 : parameter updates, ensembles, dropout
查看>>
图像的一般格式
查看>>
在ubuntu 15.04下安装VMware Tools
查看>>
adobe media encoder cc 2015在win10中打开崩溃的解决办法(该方法同样适用于adobe其他产品)...
查看>>
“不支持一个STA线程上针对多个句柄的WaitAll。”的解决方案
查看>>
cordova添加platform
查看>>
MySQL存储过程详解 mysql 存储过程
查看>>
Android 使用版本控制工具时添加忽略文件方式
查看>>
notepad++ 如何选择10000行-20000行之间的文本?
查看>>
AIX系统上压缩与解压文件
查看>>
java 有用的类库
查看>>
JNI——访问数组
查看>>
一图秒懂http与https的区别
查看>>
Android 增加(键盘)按键
查看>>