且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

更新时间:2021-12-03 06:08:53

19.12 添加自定义监控项目

需求监控某台web80端口连接数,并出图

两步:1)zabbix监控中心创建监控项目;

2)针对该监控项目以图形展现

客户端hao2机器配置:

1. 客户端(hao2)编写estab.sh脚本:

[root@hao-02 ~]# vim /usr/local/sbin/estab.sh

添加内容:

#!/bin/bash

##获取80端口并发连接数

netstat -ant |grep ':80 ' |grep -c ESTABLISHED

2. 设定estab.sh脚本权限755

[root@hao-02 ~]# chmod 755 /usr/local/sbin/estab.sh

3. 客户端(hao2)编辑配置文件

[root@hao-02 ~]# vim /etc/zabbix/zabbix_agentd.conf

添加内容( =1表示使用自定义的脚本)

UnsafeUserParameters=1

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

UserParameter=[*],/usr/local/sbin/estab.sh

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

4. 重启zabbix-agent服务:

[root@hao-02 ~]# systemctl restart zabbix-agent

服务端hao1机器测试:

1. 远程到客户端ip执行命令(获取80端口连接数):

[root@hao-01 ~]# zabbix_get -s 192.168.211.129 -p 10050 -k 'my.estab.count'

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

2. 临时关闭getenforce防火墙

[root@hao-01 ~]# setenforce 0

关闭firewalld防火墙;查看是否还有防火墙规则?

[root@hao-01 ~]# systemctl stop firewalld

[root@hao-01 ~]# iptables -nvL

3. 游览器访问ip/zabbix创建监控项

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

名称——键值——添加

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

4. 创建图形

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

名称——添加——并发连接数——选择——添加

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

5. 创建触发器

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

名称——严重性——添加——监控项-选择——功能——N——插入——添加

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.13 配置邮件告警(上)

1. 登录163网易邮箱,设置——客户端授权密码

设置开启POP3IMAPSMTP服务 开启记录授权码

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

2. 创建媒体类型

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16名称——类型——脚本名称(mail.py)——脚本参数

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

3. 图中AlertScriptsPath=目录,mail.py脚本创建这个目录下

[root@hao-01 ~]# vim /etc/zabbix/zabbix_server.conf

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

4. 创建mail.py脚本:

[root@hao-01 ~]# vim /usr/lib/zabbix/alertscripts/mail.py

#####脚本使用说明######

#1. 首先定义好脚本中的邮箱账号和密码

#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"

内容参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py

添加内容:

#!/usr/bin/env python

#-*- coding: UTF-8 -*-

import os,sys

import getopt

import smtplib

from email.MIMEText import MIMEText

from email.MIMEMultipart import MIMEMultipart

from subprocess import *

def sendqqmail(username,password,mailfrom,mailto,subject,content):

gserver = 'smtp.163.com'

gport = 25

try:

msg = MIMEText(unicode(content).encode('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" % err

def main():

to=sys.argv[1]

subject=sys.argv[2]

content=sys.argv[3]

##定义邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开)

sendqqmail('zhuneianxiang@163.com','mima','zhuneianxiang@163.com',to,subject,content)

if __name__ == "__main__":

main()

5. 设定mail.py脚本权限755

[root@hao-01 ~]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

6. 测试发给指定邮箱一封邮件

[root@hao-01 ~]# python mail.py zhuneianxiang@163.com "biaoti" "neirong"

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.1619.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.14 配置邮件告警(下)

1. 创建用户

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

定义用户参数如图 

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

进入hao用户对应用户群组,更改用户群组权限读写!!!

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16定义报警媒介(接收邮箱地址)

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

确定hao用户权限读写!!!

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

2. 创建动作

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

设置动作

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

设置操作

默认信息:

HOST:{HOST.NAME} {HOST.IP}

TIME:{EVENT.DATE} {EVENT.TIME}

LEVEL:{TRIGGER.SEVERITY}

NAME:{TRIGGER.NAME}

messages:{ITEM.NAME}:{ITEM.VALUE}

ID:{EVENT.ID}

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

设置恢复操作

默认信息:

HOST:{HOST.NAME} {HOST.IP}

TIME:{EVENT.DATE} {EVENT.TIME}

LEVEL:{TRIGGER.SEVERITY}

NAME:{TRIGGER.NAME}

messages:{ITEM.NAME}:{ITEM.VALUE}

ID:{EVENT.ID}

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

19.15 测试告警19.16 不发邮件的问题处理

1.创建触发器

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

配置触发器参数为错误参数,达到发邮箱报警效果!!!

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16

检测中——仪表板——最近20个问题

19.12 添加自定义监控项目;19.13,19.14 配置邮件告警(上下);19.15 测试告警19.16










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1966332,如需转载请自行联系原作者