博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
监控平台zabbix高级配置
阅读量:6982 次
发布时间:2019-06-27

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

hot3.png

12月26日任务

19.12 添加自定义监控项目

19.13/19.14 配置邮件告警

19.15 测试告警

19.16 不发邮件的问题处理

 

添加自定义监控项目

zabbix可以自定义监控项目,满足个性化的需求。例如网站注册量、访问量等具体监控项目就需要编写相关的脚本来监控数据,以满足具体应用的需求。

实例:监控某台web的80端口连接数,并出图(步骤如下)

  1. zabbix监控中心创建监控项目
  2. 针对该监控项目以图形展现

客户端脚本编写

  • 客户端上定义脚本
[root@client ~]# vim /usr/local/sbin/estab.sh#!/bin/bash##获取80端口转发连接数netstat -ant | grep ':80' | grep -c ESTABLISHED[root@client ~]# chmod 755 /usr/local/sbin/estab.sh
  • 客户端上编辑配置文件
[root@client ~]# vim /etc/zabbix/zabbix_agentd.conf//增加UnsafeUserParameters=1 //表示使用自定义脚本UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh //自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh//重启zabbix-agent服务[root@client ~]# systemctl restart zabbix-agent
  • 到服务器端验证
//有值显示表示配置有效[root@server ~]# zabbix_get -s 192.168.65.134 -p 10050 -k 'my.estab.count'0

这里测试时最好保持防火墙、selinux的通畅

服务器端web配置

  • 创建监控项

在web网页配置监控项配置-->主机-->client1--> 创建监控项

新建监控项

监控项

填写监控项名称及键值

监控项图形效果预览

  • 创建触发器(报警)

选择触发条件

需要点击添加,使表达式生效


配置邮件告警

开启邮箱相关服务

登录你的163邮箱,点击设置-->POP3/SMTP/IMAP,选中POP3/SMTPIMAP/SMTP这2个服务。(开启IMAP/SMTP服务需要设置客户端授权码,该密码用于后续发邮件)

服务器web配置

创建报警媒介

新建监控项

服务器上编写发邮件脚本

# 脚本存放目录在zabbix_server.conf内定义了[root@server ~]# grep alert /etc/zabbix/zabbix_server.conf | grep -v "#"AlertScriptsPath=/usr/lib/zabbix/alertscripts[root@server ~]# cd /usr/lib/zabbix/alertscripts/# 编写脚本并赋予权限[root@server alertscripts]# vim 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'    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" % errdef main():    to=sys.argv[1]    subject=sys.argv[2]    content=sys.argv[3]    sendqqmail('18367826960@163.com','你的授权码','18367826960@163.com',to,subject,content)if __name__ == "__main__":    main()[root@server alertscripts]# chmod 777 /usr/lib/zabbix/alertscripts/mail.py
  • 脚本测试
[root@server alertscripts]# python mail.py 18367826960@163.com "test" "this is a test"

创建接收邮件的用户

  • 配置用户

  • 配置报警媒介

  • 配置权限

这里需要到用户组内进行设置

创建告警动作

  • 创建动作

维护状态 非在 维护 :在维护状态时不报警

  • 修改操作: 修改默认信息为
HOST:{HOST.NAME} {HOST.IP}TIME:{EVENT.DATE}  {EVENT.TIME} LEVEL:{TRIGGER.SEVERITY} NAME:{TRIGGER.NAME}messages:{ITEM.NAME}:{ITEM.VALUE}ID:{EVENT.ID}

配置操作的细节

  • 配置恢复操作(维护后)

最终告警配置


测试告警

这里在主机内新建一个触发器"负载"用于测试,并调整其监控项刷新时间为10s。

设置表达式{client1:system.cpu.load[percpu,avg1].last()}<1

新建监控项

点击监测中 --> 仪表盘,问题出现,邮箱成功接收到告警邮件

新建监控项


问题处理

在测试中,由于我报警媒介类型设置中脚本名称写错导致邮件无法发送(报找不到文件错误),修改后正常接收邮件。

常用的排查错误的步骤:

  1. 告警媒介类型

    脚本名称、参数及其顺序

  2. 邮件脚本

    脚本存储路径、脚本是否可用、脚本权限

  3. 用户

    用户群组设置、报警媒介选择、权限是否读写

  4. 动作

    触发条件、操作、恢复操作是否配置正确

配置主动、被动模式

在主机(模板)的监控项内配置

模式选择

默认是zabbix客户端即被动模式;主动模式需要选择zabbix客户端(主动式)

 

转载于:https://my.oschina.net/u/3964535/blog/2993420

你可能感兴趣的文章
reveal.js实现html播放ppt的炫酷效果
查看>>
《HTML5 canvas开发详解(第2版)》——2.12 检查一个点是否在当前路径
查看>>
《深入理解Scala》——第2章,第2.1节学习使用Scala交互模式(REPL)
查看>>
《黑客秘笈——渗透测试实用指南(第2版)》—第2章2.1节被动信息搜索——开源情报(OSINT)...
查看>>
《21天学通HTML+CSS+JavaScript Web开发(第7版)》——1.7 作业
查看>>
微服务,微架构[一]之springboot[helloWorld]
查看>>
MySql导入CSV文件或制表符分割的文件
查看>>
《机器学习与R语言(原书第2版)》一1.2 机器学习的使用与滥用
查看>>
Android Monkey原理探讨
查看>>
微服务架构是什么
查看>>
MongoDB Secondary同步慢问题分析
查看>>
mysql主主同步
查看>>
【Android】用MediaRecorder录制视频太短崩的问题
查看>>
Bridge网络模式下Linux虚拟机和主机进行通信
查看>>
Golang web之http标准库简析
查看>>
PowerShell删除故障群集节点
查看>>
一个数组实现两个栈
查看>>
Fedora 27 命令行提示符修改
查看>>
Erlang 简易安装和卸载
查看>>
Windows Server 2012 R2 DirectAccess功能测试(3)—App2服务器安装及配置
查看>>