共计 3289 个字符,预计需要花费 9 分钟才能阅读完成。
安装 zabbix 客户端
CentOS 安装脚本:
#!/bin/bash
cd/usr/local/src
yuminstall wget -y
wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-2.2.0-1.el6.x86_64.rpm
wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-agent-2.2.0-1.el6.x86_64.rpm
rpm -ivhzabbix-2.2.0-1.el6.x86_64.rpm
rpm -ivhzabbix-agent-2.2.0-1.el6.x86_64.rpm
cd/etc/zabbix
grep’^Server=’ zabbix_agentd.conf | sed -i ‘s/127.0.0.1/x.x.x.x/g’ zabbix_agentd.conf
servicezabbix-agent restart
chkconfig zabbix-agent on
Ubuntu 安装脚本:
#!/bin/bash
cd/usr/local/src
wgethttp://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.debdpkg-i zabbix-release_2.2-1+precise_all.deb
apt-getupdate
apt-getinstall zabbix-agent -y
cd/etc/zabbix
grep’^Server=’ zabbix_agentd.conf | sed -i ‘s/127.0.0.1/x.x.x.x/g’zabbix_agentd.conf
echo”/etv/init.d/zabbix-agent” >> /etc/rc.local
给脚本赋予权限并执行脚本:
sudo chmod+x jiaoben.sh
sudo ./jiaoben.sh
Zabbix 报警设置
脚本需要放在 zabbix 服务器相对应的脚本触发的目录中 zabbix/share/zabbix/alertscripts/
使用 Zabbxi_sms.py 来调用公司的短信网关:
#!/usr/bin/Python
#coding:utf-8
importurllib2
importurllib
importsys
def sendm(phone,subject,content):
url=’https://xxxxxxxxxxxxxx’
data = urllib.urlencode({
“xx”:’10004′, #调用网关定义输入的参数
“xxxx”:phone,
“xxxx”:content
})
req = urllib2.Request(url,data)
res = urllib2.urlopen(req)
print res.read()
sendm(sys.argv[1],sys.argv[2],sys.argv[3]) #zabbix 调用脚本会自动传输三个参数,账户,主题和内容
使用脚本来进行邮件报警的脚本 zabbix_email.sh:
echo“$3”| mail –s $1 $2
Zabbix 自定义项目
在 zabbix 客户端的 zabbit_agentd.conf 中修改为:
UnsafeUserParameters=1 #打开 zabbix 的主动模式
UserParameter=http.stat,service httpd status | grep –c running #定义一个 httpd.stat 的键值,当 httpd 运行时该值为 1,httpd 没有运行的时候为 0
在对应的主机上添加项目,键值的值为 httpd.stat 就可以监控到 httpd 的状态了
也可以将命令写入脚本,并将路径添加到键值的后面就可以
Zabbix 客户端抓取键值测试:
Zabbix_agentd–t 键值
Zabbix 服务端抓取客户端的键值测试:
Zabbix/bin/Zabbix_get–s 客户端 ip -k 键值
需要注意的自定义例子:
1:Raid 磁盘自定义,可查看 MegaCli 的操作
UserParameter=raid.stat,sudo/usr/bin/MegaCli64 -cfgdsply -aALL | grep “State” | grep -c “Optimal”
#raid 的状态为 1 时表示磁盘的状态正常 0 为不正常
UserParameter=pd.total.disks,sudo/usr/bin/MegaCli64 -cfgdsply -aALL |grep -c “Non Coerced Size”
UserParameter=pd.critical.disks,sudo/usr/bin/MegaCli64 -AdpAllInfo -aALL | grep”Critical Disks” | awk -F : ‘{print $2}’ #告警的物理磁盘的数量
UserParameter=pd.failed.disks,sudo/usr/bin/MegaCli64 -AdpAllInfo -aALL |grep “Failed Disks”|awk -F : ‘{print $2}’ #失败的物理磁盘的数量
由于 MegaCli64 需要使用 sudo 来使用,所以脚本要加入 sudo,这个时候还需要为 zabbix 赋予执行 MegaCli64 的权限
编辑 /etc/sudoers 添加:
Defaults:zabbix!requiretty
zabbix ALL=(ALL)NOPASSWD:/opt/MegaRAID/MegaCli/MegaCli64
2:MySQL 主从监控
grant replication client on *.* to ‘zabbix’@’localhost’; #为 zabbix 账户授权
mysql -uzabbix -e ‘show slavestatus\G’ |grep –E “Slave_IO_Running|Slave_SQL_Running”|awk ‘{print$2}’|grep -c Yes
# 当值为 2 的时候表示 mysql 的主从是正常的当值为 0 的时候表示的是不正常的
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm
CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm
Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-02/128562.htm