zabbix3.2.1西门子冰箱出现报警微信胡乱报警的情况怎么办

没有学过python语言,使用二天时间查了网上相关的脚本,有些不支持中文报警,自己重新写了一份。给大家参考下。只提供脚本,减少大家的时间,微信申请请参考大神博客http://itnihao./3245 一、效果图:二、python2脚本:#!/usr/bin/python# coding: utf-8#python2将zabbix报警信息发送到微信。#by linwangyi #import urllib,urllib2import jsonimport sysdef gettoken(corpid,corpsecret):& & gettoken_url = 'https://qyapi./cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret& & try:token_file = urllib2.urlopen(gettoken_url)& & except urllib2.HTTPError as e:& & & & print e.code& & & & print e.read().decode("utf8")sys.exit()& & token_data = token_file.read().decode('utf-8')& & token_json = json.loads(token_data)& & token_json.keys()& & token = token_json['access_token']& & return tokendef senddata(access_token,user,content):& & send_url = 'https://qyapi./cgi-bin/message/send?access_token=' + access_token& & send_values = {& & & & "touser":user, & &#企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。& & & & "toparty":"1", & &#企业号中的部门id
上一篇: 下一篇:&关于Zabbix3版本发送微信报警配置
秒后自动跳转到登录页
(奖励5下载豆)
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
视频课程推荐
关于Zabbix3版本发送微信报警配置
上传时间:
技术分类:
资源评价:
(0位用户参与评价)
已被下载&15&次
关于Zabbix3版本发送微信报警配置
本资料共包含以下附件:
关于Zabbix3版本发送微信报警配置.doc
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
下载1014次
下载2025次
下载1091次
下载1302次
相关专题推荐
本专题为电脑报随书视频——《黑客入
本专题精心收录思科各类网络数通设备
本专题为CISCO公司内部网络技术培训视
马哥教育是从事Linux运维、系统、架构
数字监控系统可实现数字影像监控以及
本专题精心收录华为各类网络数通设备
本专题为YesLab讲师赵小明讲解的Linu
Linux Shell命令行及脚本编程实例详解
一个网站如果能够从支撑100用户并发到
收集、创作自动化运维经典文档,如果
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理关于Zabbix3版本发送微信报警配置 1、因为我的代码是用python3写的,所以要安装python3用于执行Weixin.py。 安装openssl与openssl-devel包 yum install openssl openssl-devel 到官网下载Python3的最新版 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 解压Python安装包(我默认放在/root下) cd /root tar xzvf Python-3.5.2.tgz 进入python源代码文件夹,进入Modules文件夹,修改Setup.dist,使其支持发送https请求。 cd /root/Python-3.5.2/Modules vim Setup.dist 将 # Socket module helper for SSL you must comment out the other # socket line above, and possibly edit the SSL variable: #SSL=/usr/local/ssl #_ssl _ssl.c / #-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl / #-L$(SSL)/lib -lssl -lcrypto 修改为 # Socket module helper for SSL you must comment out the other # socket line above, and possibly edit the SSL variable: SSL=/usr/local/ssl _ssl _ssl.c / -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl / -L$(SSL)/lib -lssl -lcrypto 编译安装,设置安装目录为/usr/local/python-3.5,以免与系统已安装的python2冲突。 cd .. ./configure --prefix=/usr/local/python-3.5 make make install
附上Weixin.py脚本代码 #!/usr/local/python-3.5/bin/python3.5# coding: utf-8import urllib.requestimport jsonimport sysimport timeimport osimport shutilimport loggingdef gettoken(corp_id,corp_secret):gettoken_url = 'https://qyapi./cgi-bin/gettoken?corpid=' + corp_id + '&corpsecret=' + corp_secrettry: token_file = urllib.request.urlopen(gettoken_url)except urllib.error.HTTPError as e: print(e.code) print(e.read().decode("utf8"))token_data = token_file.read().decode('utf-8')token_json = json.loads(token_data)token_json.keys()token = token_json['access_token']return tokendef senddata(access_token,user,content):try: send_url = 'https://qyapi./cgi-bin/message/send?access_token=' + access_token send_values = { "touser":user, "msgtype":"text", "agentid":"0", "text":{"content":content + sendtime}, "safe":"0" } send_data = json.dumps(send_values, ensure_ascii=False).encode(encoding='UTF8') send_request = urllib.request.Request(send_url, send_data) response = urllib.request.urlopen(send_request) msg = response.read()# ("returned value : " + str(msg)) print("returned value : " + str(msg))# return msgexcept:# logging.error("returned value : " + str(msg)) print("returned value : " + str(msg))sendtime = "/n告警时间:" + time.strftime("%Y.%m.%d%H:%M:%S", time.localtime())#logging_root_dir = os.getcwd() + "/logging_weixin/"#logging_name = "log_" + file_day + ".txt"#if not os.path.isdir(logging_root_dir):#os.makedirs(logging_root_dir)#logging.basicConfig(filename = os.path.join(logging_root_dir, logging_name), level = , filemode = "a", format = "%(asctime)s - %(levelname)s: %(message)s")default_encoding = 'utf-8'#("running")if sys.getdefaultencoding() != default_encoding:reload(sys)sys.setdefaultencoding(default_encoding)user = str(sys.argv[1])title = str(sys.argv[2])content = str(sys.argv[3])corpid = 'wx'corpsecret = '00'accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,content)#logging.shutdown() 2、首先添加由python3写的脚本放进zabbix存放脚本的默认路径 [ ~]# cd /lib/zabbix/alertscripts/ [ alertscripts]# chmod 755 Weixin.py [ alertscripts]# chown zabbix.zabbix Weixin.py [ alertscripts]# ll Weixin.py -rwxr-xr-x 1 zabbix zabbix
18:49 Weixin.py [ alertscripts]#2、在zabbix管理页面“Media types”里面添加脚本配置
3、添加相关用户,并添加告警接收配置
添加相应主机操作权限
4、添加报警动作
附上我的报警内容 [猪头]Zabbix报警[猪头]{HOSTNAME}IP:{HOST.CONN} 状态: {TRIGGER.STATUS}详情: (ID: {EVENT.ID}){TRIGGER.NAME};{ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}事件时间:{EVENT.DATE}{EVENT.TIME}
到此就完成了,可以效果如下
转载请注明原文链接:http://my.oschina.net/caiyuanbo/blog/712375 教程比较简略,可能有些纰漏,如果有问题可以跟我一起研究。 QQ: E-mail:
最新教程周点击榜
微信扫一扫温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
在本文中,我将指导您完成:安装和配置基本的LNMP环境。安装和配置基本的 zabbix-3.2.3 设置。如何使用主机自发现。如何使用微信告警。如何添加数据库告警。基本的安全配置。ZABBIX介绍:ZABBIX 是一种企业级的开放源码分布式监视解决方案。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix
server可以通过SNMP,zabbix
agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX,
AIX, Free BSD, Open BSD, OS X等平台之上。zabbix
agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix
agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X,
Tru64/OSF1, Windows /XP)等系统之上。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。还包括扩展和重复的通知以及对 Internet Protocol version 6 (IPv6) 的支持。zabbix主要特性:跨平台支持多语言(包括中文)免费开源自动发现服务器与网络设备分布式监视以及WEB集中管理功能Internet Protocol version 6 (IPv6) 的支持用户安全认证和柔软的授权方式通过WEB界面设置或查看监视结果短信邮件微信电话等通知功能可自定义监控项(如通过脚本获取数据绘制生成图形并设置告警阈值)Zabbix主要功能:CPU负荷内存使用磁盘使用网络状况端口监视日志监视数据库监控基于LNMP环境的安装和配置CentOS release 6.8 (Final) & &nginx/1.10.2 &mysql-5.6.34&php-5.6.30 & &zabbix-3.2.3 &网上有很多介绍如何安装 zabbix 的技术文章和参考资料,可多阅读了解新版本功能特性和差异以便做参考。本文操作系统是 CentOS release 6.8 (Final)(对于其他企业 Linux 操作系统略有差异)。架设概述图先决条件yum
install gcc gcc-c++ automake autoconf libtool make glib2 glib2-devel
bzip2 bzip2-devel zlib zlib-devel openssl openssl-devel pcre-devel
libxml2 libxml2-dev libxslt libxslt-dev libcurl-devel libjpeg-devel&
libpng-devel freetype-devel gd gd-devel curl curl-devel校对时钟 crontab -e & 00 * * * *& /usr/sbin/ntpdate & && /tmp/time.log 2&&1 ;如具备数据库环境可忽略数据库安装步骤但需为zabbix创建用户和初始化zabbix数据,其它同理Mysql 5.6.27&安装wget& & /mysql/MySQL-5.6/MySQL-5.6.34-1.el6.src.rpmwget& & /mysql/MySQL-5.6/MySQL-client-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-devel-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-embedded-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-server-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-shared-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-shared-compat-5.6.34-1.el6.x86_64.rpmwget& & /mysql/MySQL-5.6/MySQL-test-5.6.34-1.el6.x86_64.rpm停止并卸载旧版本数据库service mysql stoprpm -qa|grep mysql|xargs rpm -e --nodeps创建数据库用户RPM安装rpm -ivh MySQL-5.6.34-1.rhel5.src.rpmrpm -ivh MySQL-shared-compat-5.6.34-1.rhel5.x86_64.rpmrpm -ivh MySQL-shared-5.6.34-1.rhel5.x86_64.rpmrpm -ivh MySQL-client-5.6.34-1.rhel5.x86_64.rpmrpm -ivh MySQL-devel-5.6.34-1.rhel5.x86_64.rpmrpm -ivh MySQL-server-5.6.34-1.rhel5.x86_64.rpmrpm -ivh MySQL-embedded-5.6.34-1.rhel5.x86_64.rpm配置自启动项chkconfig --add mysqlchkconfig& mysql on#启动并初始化数据库(切记备份)service mysql startmkdir /home/mysql/data0/MYSQLDATA -p/usr/bin/mysql_install_db --user=mysql --defaults-file=/f --datadir=/home/mysql/data0/MYSQLDATAchown mysql.mysql -R&/home/mysql/mysql初始密码mysql -uroot -p`cat /root/.mysql_secret |awk '{print $18}' `新建zabbix数据库create database zabbix character set utf8 collate utf8_授权zabbix用户和本机使用zabbix这个数据库grant all on zabbix.* to zabbix@localhost identified by 'zabbix123qwe';/usr/local/mysql/bin/mysql -uzabbix -pzabbix123qwe -hlocalhost zabbix & database/mysql/schema.sql& & //zabbix的数据库表结构/usr/local/mysql/bin/mysql -uzabbix -pzabbix123qwe -hlocalhost zabbix & database/mysql/images.sql/usr/local/mysql/bin/mysql -uzabbix -pzabbix123qwe -hlocalhost zabbix & database/mysql/data.sql数据库配置好后,测试登录和数据库表结构数据导入正常与否/usr/local/mysql/bin/mysql -uzabbix -pzabbix123qwemysql&mysql&Nginx1.10.2 安装&wget http://nginx.org/download/nginx-1.10.2.tar.gz./configure &--prefix=/usr/local/nginx --user=www --group=www & --with-http_ssl_module &&--with-http_stub_status_modulemake && make install启动脚本cat /etc/init.d/nginx# Startup script for the Nginx Web Server## chkconfig: # description: Nginx is a World Wide Web server.##! /bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="nginx daemon"NAME=nginxDAEMON=/usr/local/nginx/sbin/$NAMECONFIGFILE=/usr/local/nginx/conf/$NAME.confPIDFILE=/usr/local/nginx/logs/$NAME.pidSCRIPTNAME=/etc/init.d/$NAMEset -e[ -x "$DAEMON" ] || exit 0do_start() {$DAEMON -c $CONFIGFILE || echo -n "nginx already running"}do_stop() {kill -INT `cat $PIDFILE` || echo -n "nginx not running"}do_reload() {kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"}case "$1" instart)echo -n "Starting $DESC: $NAME"do_startecho ".";;stop)echo -n "Stopping $DESC: $NAME"do_stopecho ".";;reload|graceful)echo -n "Reloading $DESC configuration..."do_reloadecho ".";;restart)echo -n "Restarting $DESC: $NAME"do_stopdo_startecho ".";;*)echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" &&2exit 3;;esacexit 0nginx配置访问域zabbix监控的是整个机群,出于安全考虑,需引用Apache的htpasswd&做登陆认证,并增加nginx上做IP白名单(当然也可以在iptables做,但并非所有人都能设置iptables,再有哪天在家办公又得申请增加IP了)。/usr/bin/htpasswd -c /usr/local/nginx/conf/htpasswd/zabbix usernameNew password: #按提示输入密码Re-type new password: #按提示输入密码-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.-n 不更新passwordfile,直接显示密码-m 使用MD5加密(默认)-d 使用CRYPT加密(默认)-p 使用普通文本格式的密码-s 使用SHA加密-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互-D 删除指定的用户# /usr/local/apache/bin/htpasswd -bc linuxeye_pd linuxeye_user linuxeye_passwordAdding password for user linuxeye_user# cat linuxeye_pdlinuxeye_user:$apr1$M2gpp3FE$zGsi7/JfQIhFXP1qo/Wx/生成当前目录下生成一个linuxeye_pd文件,用户名linuxeye_user,密码:linuxeye_password,默认采用MD5加密方式http {......& & ######## zabbix ########& & server {& & & & listen& & & &19191;& & & & server_name & 127.0.0.1;& & & & location ~ \.php$ {& & & & & & root& & & & & && & & & & & fastcgi_pass& &127.0.0.1:9000;& & & & & & fastcgi_index& index.& & & & & & fastcgi_param& SCRIPT_FILENAME& $document_root$fastcgi_script_& & & & & & include& & & & fastcgi_& & & & & & allow 白名单IP;& & & & & && & & & }& & & & auth_basic "Authorized users only";& & & & auth_basic_user_file& /usr/local/nginx/conf/htpasswd/& & }& & ######## zabbix end ########......}提示:nginx编译的时候采用&./configure &--prefix=/usr/local/nginx --user=www --group=www ,所以进程是以www用户运行,需注意php运行用户和htpasswd目录权限。如php采用www用户运行,将nginx目录改750chmod -R 750 /usr/local/nginx/chmod -R 755 /usr/local/nginx/conf/htpasswd增加nginx启动项chkconfig --add nginxchkconfig nginx onservice nginx startcat /etc/sysconfig/iptables | grep 19191-A INPUT -p tcp -m tcp --dport 19191 &-j&ACCEPTphp 5.6.30 &安装下载源码wget http://cn2.php.net/distributions/php-5.6.30.tar.gz编译参数./configure
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config --disable-debug
--disable-ipv6 --with-iconv --with-freetype-dir --with-jpeg-dir
--with-png-dir --with-zlib --with-curl --enable-mbregex --enable-fpm
--enable-mbstring --with-openssl --with-mhash --enable-pcntl
--enable-sockets --with-xmlrpc --enable-zip --with-bz2 --with-pdo-mysql --enable-opcache=no --with-gd --enable-gd-native-ttf --with-libxml-dir=/usr --enable-xml --with-gettext --enable-bcmath执行安装make && make install启动脚本cat /etc/init.d/php-fpm#!/bin/bash# php-fpm startup script for the php-fpm# php-fpm version:5.5.0-alpha6# chkconfig: - 85 15# description: php-fpm is very good# processname: php-fpm# pidfile: /var/run/php-fpm.pid# config: /usr/local/php/etc/php-fpm.confphp_command=/usr/local/php/sbin/php-fpmphp_config=/usr/local/php/etc/php-fpm.confphp_pid=/usr/local/php/var/run/php-fpm.pidRETVAL=0prog="php-fpm"#start functionphp_fpm_start() {& & /usr/local/php/sbin/php-fpm}start(){& & if [ -e $php_pid& ]& & then& & echo "php-fpm already start..."& & exit 1& & fi& & php_fpm_start}stop(){& & if [ -e $php_pid ]& & then& & parent_pid=`cat $php_pid`& & all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`& & for pid in $all_pid& & do& & & & & & kill $pid& & & & done& & & & kill $parent_pid& & fi& & exit 1}restart(){& & stop& & start}# See how we were called.case "$1" instart)& & & & start& & & & ;;stop)& & & & stop& & & & ;;restart)& & & & stop& & & & start& & & & ;;status)& & & & status $prog& & & & RETVAL=$?& & & & ;;*)& & & & echo $"Usage: $prog {start|stop|restart|status}"& & & & exit 1esacexit $RETVAL添加开机启动chkconfig --add php-fpmchkconfig php-fpm onservice php-fpm start提示:php-fpm 默认是监听9000端口。zabbix 3.2.3 服务端安装下载源码wget&https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz服务端建立用户,zabbix账号无需登录useradd -g zabbix -M -s /sbin/nologin zabbix服务端编译参数./configure
--prefix=/usr/local/zabbix& --user=zabbix& --group=zabbix&
--enable-server --enable-java --enable-agent&--enable-proxy
&--with-mysql=/usr/bin/mysql/mysql_config --with-net-snmp --with-libcurlmake && make install在服务端编译文件目录 拷贝启动项文件cp misc/init.d/fedora/core/zabbix_* &/etc/init.d/chmod +x /etc/init.d/zabbix_*zabbix服务端配置sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.confsed -i 's/^.*DBPassword=.*$/DBPassword=zabbix123qwe/g' /usr/local/zabbix/etc/zabbix_server.confsed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_serversed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd#提示 #LogFile=/home/zabbix/zabbix_server.log #要注意文件目录PidFile=/home/zabbix/zabbix_server.pid #要注意文件目录DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbix123qweDBSocket=/tmp/mysql.sock &#要注意文件目录StartPollers=8Timeout=4AlertScriptsPath=/usr/local/zabbix/script #自定义脚本存放目录LogSlowQueries=3000zabbix服务端的WEB端文件与修改cp frontends/php/ /usr/local/nginx/html/zabbix/ -rmv /usr/local/nginx/html/zabbix/php/conf/zabbix.conf.php.example &/usr/local/nginx/html/zabbix/php/conf/zabbix.conf.php#在Windows的fonts目录找个汉字字体文件 替换 /usr/local/nginx/html/zabbix/fonts/DejaVuSans.ttf#需要注意目录 /nginx/html/zabbix/ 权限#web端配置文件&/usr/local/nginx/html/zabbix/php/conf/zabbix.conf.php服务端添加启动项chkconfig --add zabbix_serverchkconfig zabbix_server onservice& zabbix_server start服务端自身也需要监控,所以需要启动自己的agentdchkconfig --add zabbix_agentdchkconfig zabbix_agentd onservice &zabbix_agentd startcat /etc/sysconfig/iptables | grep 1005-A INPUT -s 172.16.79.0/24 -p tcp -m tcp --dport 10051 -j ACCEPT-A INPUT -s 内网/外网IP -p tcp -m tcp --dport 10051 -j ACCEPT-A INPUT -p tcp -m tcp --dport 10051 -j DROP#数据库端口、nginx的http端口按情况自行增加注意目录权限,避免其他用户查阅敏感配置文件chmod -R 750 &/usr/local/zabbix/zabbix 3.2.3 客户端安装下载源码wget&https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz客户端建立用户,zabbix账号无需登录useradd -g zabbix -M -s /sbin/nologin zabbix客户端 编译参数./configure --prefix=/usr/local/zabbix& --user=zabbix& --group=zabbix& --enable-agent&--with-libcurlmake && make install在客户端编译文件目录 拷贝启动项文件cp misc/init.d/fedora/core/zabbix_* &/etc/init.d/chmod +x /etc/init.d/zabbix_*sed -i 's/DAEMON=\/usr\/local/DAEMON=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd#提示 ##要注意文件目录
PidFile=/home/zabbix/zabbix_agentd.pid&LogFile=/home/zabbix/zabbix_agentd.log#被动模式Server=172.16.79.34#主动模式ServerActive=172.16.79.34#客户端IP web端添加要一致Hostname=172.16.79.35#自发现需打开HostMetadataItemHostMetadataItem=system.hostname客户端添加启动项chkconfig --add zabbix_agentdchkconfig zabbix_agentd onservice &zabbix_agentd startcat /etc/sysconfig/iptables | grep 1005-A INPUT -s 172.16.79.35 -p tcp -m tcp --dport 10050 -j ACCEPT-A INPUT -p tcp -m tcp --dport 10050 -j DROP注意目录权限,避免其他用户查阅敏感配置文件chmod -R 750 &/usr/local/zabbix/服务端WEB安装配置浏览器打开:19001/zabbix/setup.php &(先部署好服务端和agentd)配置自发现主机上面是“发现主机”,但未能自动加入到监控组和模板上,在“配置-动作-事件源于自发现” 配置下则可如不采用自发现,可手动添加主机同时再选择下相应的 模板。zabbix 3.2.3对mysql 5.6监控自定义数据库监控脚本在zabbix服务端的配置文件&定义脚本目录AlertScriptsPath=/usr/local/zabbix/script放在mysql所在的agentd端的shell脚本&cat & /usr/local/zabbix/script/mysql.sh#!/bin/bash# 用户名MYSQL_USER='root'# 密码MYSQL_PWD='123123'# 主机地址/IPMYSQL_HOST='127.0.0.1'# 端口MYSQL_PORT='3306'# 数据连接MYSQL_CONN="/usr/local/mysql/bin/mysqladmin &-u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"# 参数是否正确if [ $# -ne "1" ];then&& & echo "arg error!"&fi&# 获取数据case $1 in&& & Uptime)&& & & & result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`&& & & & echo $result&& & & & ;;&& & Com_update)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`&& & & & echo $result&& & & & ;;&& & Slow_queries)&& & & & result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`&& & & & echo $result&& & & & ;;&& & Com_select)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`&& & & & echo $result&& & & & & & & & ;;&& & Com_rollback)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Questions)&& & & & result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Com_insert)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Com_delete)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Com_commit)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Bytes_sent)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Bytes_received)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Com_begin)&& & & & result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`&& & & & & & & & echo $result&& & & & & & & & ;;&& & Slow_queries)& & & & result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`& & & & echo $result& & & & ;;& & & & *)&& & & & echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"&& & & & ;;&esac上脚本借助&/usr/local/mysql/bin/mysqladmin -uroot -h127.0.0.1 -P3306 -p extended-status 输出的结果再筛选切割达到最终输出一个具体数值另mysql 5.6等新版本,在安全机制上有提升,如&/usr/local/mysql/bin/mysqladmin -uroot -h127.0.0.1 -P3306 -p123123会发出警告 “Warning: Using a password on the command line interface can be insecure.”这里做法是: 在mysql设置root用户且host为127.0.0.1 的密码为空(数据库服务器只有DBA和授权运维才能登陆),然后在上脚本去除-p参数 &MYSQL_CONN="/usr/local/mysql/bin/mysqladmin -u${MYSQL_USER}& -h${MYSQL_HOST} -P${MYSQL_PORT}"&当然也可以将密码写到 my.cnf下,但这个做法见仁见智。mysql& select host,user,password from user where password ='' and host='127.0.0.1';+-----------+------+----------+| host& & & | user | password |+-----------+------+----------+| 127.0.0.1 | root |& & & & & |+-----------+------+----------+1 row in set (0.00 sec)chmod 750&/usr/local/zabbix/script/mysql.shagentd端的配置文件more /usr/local/zabbix/etc/zabbix_agentd.conf......# 获取mysql版本UserParameter=mysql.version,mysql -V# 获取mysql性能指标的脚本UserParameter=mysql.status[*],/usr/local/zabbix/script/mysql.sh $1# 获取mysql运行状态UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h127.0.0.1& ping | grep -c alive......重启agentd并tail
zabbix服务端日志会发现 很多 &类似&06: item "Zabbix
server:mysql.status[Slow_queries]" became supported ,这时候可以通过web界面查看图形数据service zabbix_agentd restart微信告警1去申请一个微信个人号,提取其 “CropID & 和 & Secret”#认证信息CorpID & xxxxxxxx &Secret && xxxxxxxx &#get 获取 access_tokenhttps://qyapi./cgi-bin/gettoken?corpid=wx6d567a077a7ec2da&corpsecret=m2mYCQCy0ocYaq5Ae4Wx-KaqEhzlaF32rUzJAtX7u21OBOEU40sj3XNaLJthLnrmvPh-2hDqXluct9pH5qZFxB-ix1_sFi5DxqoHm7LjQJRFGZGDIB48u9eBcQ2BdofX#在线调试入口http://qydev./debug#发送消息的接口文档说明http://qydev./wiki/index.php?title=%E6%B6%88%E6%81%AF%E7%B1%BB%E5%9E%8B%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F#text.E6.B6.88.E6.81.AF2在zabbix服务端的配置文件&定义脚本目录AlertScriptsPath=/usr/local/zabbix/script本文微信告警脚本命名为 &/usr/local/zabbix/script/weixin.sh#!/bin/bash###SCRIPT_NAME:weixin.sh######send message from weixin for zabbix monitor######Dkmen######V1-###CropID='wx6d567------'Secret='m2mYCQCy0ocYaq5Ae4------'GURL="https://qyapi./cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F \" '{print $4}')PURL="https://qyapi./cgi-bin/message/send?access_token=$Gtoken"function body() {& & & & #企业号中的应用id& & & & local int AppID=1& & & & #部门成员id,zabbix中定义的微信接收者& & & & local UserID=$1& & & & #部门id,定义了范围,组内成员都可接收到消息& & & & local PartyID=1& & & & #过滤出zabbix中传递的第三个参数& & & & local Msg=$(echo "$@" | cut -d" " -f3-)& & & & printf '{\n'& & & & printf '\t"touser": "'"$User"\"",\n"& & & & printf '\t"toparty": "'"$PartyID"\"",\n"& & & & printf '\t"msgtype": "text",\n'& & & & printf '\t"agentid": "'" $AppID"\"",\n"& & & & printf '\t"text": {\n'& & & & printf '\t\t"content": "'"$Msg"\""\n"& & & & printf '\t},\n'& & & & printf '\t"safe":"0"\n'& & & & printf '}\n'}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL并赋予给zabbix用户运行权限(进程是zabbix用户运行)chown zabbix.zabbix /usr/local/zabbix/script/weixin.shchmod 750 /usr/local/zabbix/script/weixin.sh测试脚本:sh weixin.sh testsend{"errcode":0,"errmsg":"ok"}此时微信个人号收到消息则代表调用正常。如不能正常收取根据返回状态码与微信文档对照排查。3创建媒体类型发现新版本执行脚本带参数需自行配置参数变量&4创建 触发器动作上图操作的内容如下:主题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!默认信息:告警主机:{HOSTNAME1}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}上图的恢复操作的内容如下:恢复主题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME}: {TRIGGER.NAME}已恢复!恢复信息:告警主机:{HOSTNAME1}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}7 需要在:右上角基本信息-报警媒介-添加一个 名为 &weixin的项目 ,不然zabbix的web端 ”报表-动作日志& ”会出现 “ No media defined for user "Zabbix Administrator (Admin)"”&最后,在停止任意 一个 agentd ,测试微信告警是否生效,默认触发时间5分钟。可以自行更改触发器的时间周期。告警如下恢复如下转载请注明出处:Dkmen
阅读(423)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'zabbix-3.2.3监控系统架设全攻略',
blogAbstract:'zabbix-3.2.3监控系统架设全攻略在本文中,我将指导您完成:安装和配置基本的LNMP环境。安装和配置基本的 zabbix-3.2.3 设置。如何使用主机自发现。如何使用微信告警。如何添加数据库告警。基本的安全配置。ZABBIX介绍:ZABBIX 是一种企业级的开放源码分布式监视解决方案。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix\n server可以通过SNMP,zabbix \nagent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, \nAIX, Free BSD, Open BSD, OS X等平台之上。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:4,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 zabbix3 微信报警 的文章

 

随机推荐