Zabbix监控不同版本安装和RAID监控及MySQL主从监控


安装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 源码编译安装 

安装部署分布式监控系统Zabbix 2.06

《安装部署分布式监控系统Zabbix 2.06》

CentOS 6.3下Zabbix安装部署

Zabbix分布式监控系统实践

CentOS 6.3下Zabbix监控apache server-status

CentOS 6.3下Zabbix监控MySQL数据库参数

64位CentOS 6.2下安装Zabbix 2.0.6   

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

本文永久更新链接地址

相关内容