9780j 发表于 2016-2-15 15:16:17

zabbix监控 不同版本安装和raid监控,mysql主从监控

安装zabbix客户端

Centos安装脚本:

#!/bin/bash

cd/usr/local/src

yuminstall wget -y

wgethttp://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-2.2.0-1.el6.x86_64.rpm

wgethttp://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

chkconfigzabbix-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+xjiaoben.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,sys.argv,sys.argv)#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的时候表示的是不正常的



页: [1]
查看完整版本: zabbix监控 不同版本安装和raid监控,mysql主从监控