zoukankan      html  css  js  c++  java
  • 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
        }
    }
  • 相关阅读:
    System.InvalidOperationException异常的处理!vs15版
    五子棋项目的实现(四)具体的总结
    五子棋项目的实现(三)人机对战类的具体设计
    五子棋项目的实现(二)博弈树算法的描述
    五子棋项目的实现(一)
    java Exception和Error的区别
    java内存分配实例
    expdp与impdp
    SQL*PLUS下使用AUTOTRACE、sql顾问、实时sql监控
    Linux下如何将数据库脚本文件从sh格式变为sql格式
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/13797706.html
Copyright © 2011-2022 走看看