博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux监控平台搭建(添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理)...
阅读量:6909 次
发布时间:2019-06-27

本文共 2970 字,大约阅读时间需要 9 分钟。

  hot3.png

添加自定义监控项目

场景:监控某台web的80端口连接数,并出图

方案:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现

1.针对上面解决方案我们分步分析,对于第一步需要在客户端定义脚本文件,/usr/local/sbin/estab.sh,内容如下:

#!/bin/bash##获取80端口并发连接数netstat -ant |grep ':80 ' |grep -c ESTABLISHED

2.修改脚本权限:

chmod 755 /usr/local/sbin/estab.sh

3.客户端编辑配置文件 /etc/zabbix/zabbix_agentd.conf ,找到并修改以下参数:

UnsafeUserParameters=1 #表示使用自定义脚本#自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.shUserParameter=my.estab.count[*],/usr/local/sbin/estab.sh

如图所示:

ps:需要注意iptables规则,以及脚本的执行权限是否755

4.重新客户端zabbix-agent

systemctl restart zabbix-agent

5.服务端进行验证

1)windows浏览器zabbix端创建监控项

下面红色的框内自定义名称即可,然后选择添加

2)创建图形

填写名称,选择监控项,最后选择添加按钮:

点击创建好的图形预览进行查看

3)创建触发器

选择告警,添加规则:比如最新的值大于200时告警,点击添加按钮保存

配置邮件告警

使用163或者QQ邮箱发告警邮件,本篇教程我们使用163邮箱;

1.登录163邮箱,点击设置选择下拉的POP3/SMTP/IMAP选项

2.检查两选项都已勾选

3.第一次开启需要客户端授权码,如图:

4.设置完成之后进来windows浏览器zabbix服务端,选择管理-->> 报警媒介类型

5.创建媒体类型

6.选择脚本,填写三个脚本参数:

  • {ALERT.SENDTO} :接收邮箱地址
  • {ALERT.SUBJECT} :主题
  • {ALERT.MESSAGE} :邮件内容

7.服务端编写脚本mail.py

文件地址:/usr/lib/zabbix/alertscripts/mail.py

脚本内容:

#!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartfrom  subprocess import *def sendqqmail(username,password,mailfrom,mailto,subject,content):    gserver = 'smtp.163.com' #定义发件人服务器,网易邮箱smtp.163.com,腾讯邮箱smtp.qq.com    gport = 25    try:        # msg = MIMEText(unicode(content).encode('utf-8')) //如果发送的邮件有乱码,可以尝试把这行改成如下:        msg = MIMEText(content,'plan','utf-8')         msg['from'] = mailfrom        msg['to'] = mailto        msg['Reply-To'] = mailfrom        msg['Subject'] = subject        smtp = smtplib.SMTP(gserver, gport)        smtp.set_debuglevel(0)        smtp.ehlo()        smtp.login(username,password)        smtp.sendmail(mailfrom, mailto, msg.as_string())        smtp.close()    except Exception,err:        print "Send mail failed. Error: %s" % errdef main():    to=sys.argv[1]    subject=sys.argv[2]    content=sys.argv[3]##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)    sendqqmail('你的邮箱@163.com','客户端授权码','你的邮箱@163.com',to,subject,content)if __name__ == "__main__":    main()        #####脚本使用说明#######1. 首先定义好脚本中的邮箱账号和密码#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

8.修改脚本权限

chmod 755 /usr/lib/zabbix/alertscripts/mail.py

9.测试一下是否能正常发送

python /usr/lib/zabbix/alertscripts/mail.py 自己的邮箱@163.com "i'm yolks" "bilibilibili"

效果图

10.windows浏览器端使用zabbix创建用户

选择红色标记出的位置,填写完成点击添加按钮完成用户添加

配置用户告警媒介,完成添加

还需要设置用户所属群组的权限,否则还是无法接收邮件

必须点击添加

查看是否显示为读写

11.添加动作

执行原理即: 先监控-->> 然后创建触发器 -->> 配置好收邮件的人信息及权限 -->> 动作(即触发之后的行为)

修改动作里的默认信息,内容如下:

HOST:{HOST.NAME} {HOST.IP}TIME:{EVENT.DATE}  {EVENT.TIME} LEVEL:{TRIGGER.SEVERITY} NAME:{TRIGGER.NAME}messages:{ITEM.NAME}:{ITEM.VALUE}ID:{EVENT.ID}

并且修改操作细节

修改恢复操作,默认信息和上面代码一致

12.看到动作列表如下则准备工作完成

测试告警

为了测试告警,我们需要手动制造故障,以模拟实现告警功能;

1.创建自定义触发器:

2.默默喝杯水等几分钟,刷新下zabbix主页

不发邮件的问题处理

检查脚本,权限,查看教程对比检查问题

转载于:https://my.oschina.net/yolks/blog/2050530

你可能感兴趣的文章
windows下安装mysql5.6及基本命令
查看>>
jsp的九个内置对象简介
查看>>
用户如何获得***服务---步骤与效果
查看>>
学习沟通技巧--- SOFTEN法则与SOLER法则
查看>>
用户密码重设对EFS的影响
查看>>
基于mdrill的大数据分析
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
gitlab web hooks 应用
查看>>
STM32的停机模式与唤醒
查看>>
安全运维之端口安全
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
【转载】什么是站点,Active Directory系列之十一
查看>>
代码设计中常见的pitfall-----翻译《An Introduction to Design Patterns in C++ with Qt4 》
查看>>
配置struts2.3.15+felix网站项目时遇到Template /osgi/admin/viewBundles.ftl not found解决方案...
查看>>
Red Hat Enterprise Liunx6 配置apache 全攻略
查看>>
CentOS 5.5下LVM的分区管理
查看>>
[Template]HTML Template 简介
查看>>
用传统的NAT方式替代H3C的DNS-MAP功能
查看>>