zabbix

自动安装zabbix

#!/bin/bash
#auto install zabbix
#by jfedu.net 2017
#############
ZABBIX_SOFT="zabbix-3.2.6.tar.gz"
ZABBIX_DIR=`echo $ZABBIX_SOFT|sed 's/.tar.*//g'`
INSTALL_DIR="/usr/local/zabbix/"
SERVER_IP="192.168.1.145"
IP=`ifconfig|grep Bcast|awk '{print $2}'|sed 's/addr://g'`

SERVER_INSTALL(){
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
groupadd zabbix ;useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix

tar -xzf $ZABBIX_SOFT;cd `echo $ZABBIX_SOFT|sed 's/.tar.*//g'`
./configure  --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl &&make install
if [ $? -eq 0 ];then
    ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
fi
cd - ;cd $ZABBIX_DIR
cp  misc/init.d/tru64/{zabbix_agentd,zabbix_server}  /etc/init.d/ ;chmod o+x /etc/init.d/zabbix_*
mkdir -p /var/www/html/zabbix/;cp -a  frontends/php/*  /var/www/html/zabbix/

#config zabbix server 
cat >$INSTALL_DIR/etc/zabbix_server.conf<<EOF
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
EOF
#config zabbix agentd
cat >$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF
LogFile=/tmp/zabbix_agentd.log
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname = $IP 
EOF

#start zabbix agentd
/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart
/etc/init.d/iptables stop
setenforce 0
}

AGENT_INSTALL(){
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
groupadd zabbix ;useradd -g zabbix zabbix;usermod -s /sbin/nologin zabbix

tar -xzf $ZABBIX_SOFT;cd `echo $ZABBIX_SOFT|sed 's/.tar.*//g'`
./configure  --prefix=/usr/local/zabbix  --enable-agent&&make install
if [ $? -eq 0 ];then
    ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
fi
cd - ;cd $ZABBIX_DIR
cp  misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agentd ;chmod o+x /etc/init.d/zabbix_agentd

#config zabbix agentd
cat >$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF
LogFile=/tmp/zabbix_agentd.log
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname = $IP 
EOF

#start zabbix agentd
/etc/init.d/zabbix_agentd restart
/etc/init.d/iptables stop
setenforce 0
}

read -p "Please confirm whether to install Zabbix Server,yes or no? " INPUT
if [ $INPUT == "yes" -o $INPUT == "y" ];then
    SERVER_INSTALL
else
    AGENT_INSTALL
fi

钉钉报警配置脚本

#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=2a44c2ab0f092b3b47e82dafb55eef100d3dfce3059dab1153c0849a80591deb" #这里改为自己创建的机器人的webhook值;
user=sys.argv[1]
text=sys.argv[3]
data={
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": [
user
],
"isAtAll": False
}
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/tmp/zabbix_dingding.log"):
 f=open("/tmp/zabbix_dingding.log","a+")
else:
 f=open("/tmp/zabbix_dingding.log","w+")
 f.write("
"+"--"*30)
if x.json()["errcode"] == 0:
 f.write("
"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"
"+str(text))
 f.close()
else:
 f.write("
"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "
" + str(text))
 f.close()

微信报警及配置文件

wechat.sh

#!/bin/bash
CropID='ww897b25cbdbb596ea'
Secret='jZnh2cxjz32nHAkHn1QS3d7SiGGiCskiluz8I256Wj0'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $10}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
        #企业号中的应用id
        local int AppID=1000002
        #部门成员id,zabbix中定义的微信接收者
        local UserID=$1
        #部门id,定义了范围,组内成员都可接收到消息
        local PartyID=2     
        #过滤出zabbix传递的第三个参数
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf '{
'
        printf '	"touser": "'"$UserID""",
"
        printf '	"toparty": "'"$PartyID""",
"
        printf '	"msgtype": "text",
'
        printf '	"agentid": "'" $AppID """,
"
        printf '	"text": {
'
        printf '		"content": "'"$Msg"""
"
        printf '	},
'
        printf '	"safe":"0"
'
        printf '}
'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL##

winxincfg.json

{
"corp": {
        "corpid": "wwee709d9d06421d99",
        "secret": "NDEkaS2poXD3H0hOJIUwosJ1z8pdPPDMAANMcIrjReI",
        "agentid": 1000003
    }
}
原文地址:https://www.cnblogs.com/fengyuanfei/p/13797706.html