zabbix的自动发现、自定义添加监控项目、配置邮件告警
1、zabbix的自动发现
这里的自动发现,所显示出来的是规则的上自动了现
然后 可以对其内容进行相关的配制,如时间或周期

注意:对于单个主机的规则,可以自行添加或删除, 但对于已经添加好了的规则,若需要修改那么,就只有到模板里面进行相关设置。
2、自定义添加监控项目,监控项目都是针对于客户机而言的,一般都是对客户机进行配制
先在客户机创建一个脚本加入以下内容:mkdir /etc/zabbix/sh; vim /etc/zabbix/sh/estab.sh
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
改变权限:chmod 755 /etc/zabbix/sh/estab.sh
然后再编辑配制文件:vim /etc/zabbix/zabbix_agentd.conf
改成如下:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=47.**.***.***
ServerActive=47.**.***.***
Hostname=os72
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
UserParameter=nginx.estab.count[*],/etc/zabbix/sh/estab.sh


然后再重启zabbix-agent服务:systemctl restart zabbix-agent.service
然后,再测试自定义的脚本是否有效:zabbix_get -s **.***.***.*** -p 10050 -k 'nginx.estab.count'
zabbix_get -s IP -p 10050 -k 'name.sh'
最后,就到zabbix服务器上进行相关配制 
然后再新建一个监控项:
添加完成后,再到图形界面,配制一个图形:
监控项配制好了,还可以创建触发器:
流程:监控项,在客户端自定义要获取某个服务的是一个值,然后给权限,最后在服务端,进行相关的监控项的配制。
3、配置邮件告警
邮箱配制以163邮箱为例进入邮箱进行相关设置:

然后访问监控服务器页面,进行脚本及参数的配制:

然后,就去服务器创建发邮箱的脚本(即客户机出问题了,由服务器发邮件报警):

然后编辑脚本:vim /etc/zabbix/sh/mail.py
加入:
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
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_SSL(gserver,465)
#其它的就用正常的
smtp = smtplib.SMTP(gserver,25)
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('mail_name@163.com','password','mail_name@163.com',to,subject,content)
if __name__ == "__main__":
main()
注意阿里云的服务器不支持:smtplib.SMTP(smtp_server, 25),
若用阿里云的服务器,这里改成:smtp = smtplib.SMTP_SSL(gserver,465)


然后再测试:python mail.py to_email_name@qq.com "this is a test" "use python script to send e-mail"

再到服务器zabbix页面进行配制创建用户(即出现问题了报警信息发给谁):



最后再配制权限: 这里所配制的权限都是针对于组而言的,所以配制的都是用户组


最后再进行查看:

这时,整个配制有了:
在服务器页面上设置了报警的媒介(可以有N个) 、然后在服务器上设置了对应的脚本、再然后又在服务器页面上设置了用哪个报警媒介脚本,
并且设置了用户及权限(即出现问题后通知谁)。 但最后还差的就是一个动作(即一个问题的评判标准,在什么情况下执行脚本发邮件)
动作配制:
操作配制:

恢复操作也同样的设置:

最后就进行测试:
我们添加一个用户看一下:
查看:

再查看邮件:
最后,对这于这几个操作的个人理解:

到此zabbix邮件报警配制完成。
小总结:
1、先配制报警媒介
2、根据报警媒体,设置相应的脚本
3、设置脚本执行后,配制报告给予对象 (通知用户)
4、设置执行脚本的前提条件(即 要执行该脚本需要在什么条件下)
5、根据不同的执行条件,进行不同的动作(如 发邮件、重启等等)
zabbix的自动发现、自定义添加监控项目、配置邮件告警的更多相关文章
- Zabbix实现自动发现端口并监控
1.新建客户端需要的脚本 # vim discovertcpport.sh #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1&q ...
- zabbix实现自动发现功能添加磁盘监控
zabbix实现对磁盘动态监控 - Lenwood 原文 http://www.cnblogs.com/baizhantang/p/3253246.html 主题 Linux命令 zabbix 前言 ...
- zabbix主机自动发现和监控
在主机较多的时候,配置主机自动发现并加入监控可以代替手动的添加主机,减轻工作量,自动发现由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器.设备.可以根据需要,在对主 ...
- zabbix 添加自动发现端口并监控
最近在部署zabbix监控 有些服务器上开启的服务端口非常多 如果一个个添加监控会很繁琐,于是想到了自动发现规则 自动发现服务器上的服务端口并进行监控. 在zabbix客户端服务器上进行操作 1 ...
- zabbix使用自动发现监控esxi的磁盘存储storage
zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...
- zabbix—自动发现端口并监控
自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...
- 01 - zabbix | LLD自动发现
01 - zabbix | LLD自动发现 1. 原理 zabbix支持设置变量,用{#VAR_NAME}来表示.然后有一些系统保留的变量 2. 设置 2.1 交换机电源自动发现 名字写好后进进入 ...
- 【Zabbix】Zabbix Server自动发现
Zabbix自动发现 由于有上百台的虚拟机需要监控,如果一个个去添加配置,费时费力.Zabbix的自动发现,可以自动发现需要监控的机器,监控相应指标. 前置条件 安装部署好Zabbix Server. ...
- zabbix3.4.8配置自动发现主机并监控
一. 自动发现功能简介 Zabbix服务器端通过网络或者主机名等方式进行客户端的扫描发现,从进行加入到监控的主机队列中,适用于批量加入多主机监控的场景. 二. 自动发现功能实施 ...
随机推荐
- 在cef中使用自定义协议(scheme)
在谷歌浏览器中点击设置,地址栏里出现的不是普通网址,而是chrome://settings/ 这个地址就是谷歌浏览器的自定义scheme,cef也提供了自定义协议手段.主要是通过 以下几步: 1.继承 ...
- sql server 查询某个表被哪些存储过程调用
sql server 查询某个表被哪些存储过程调用 select distinct object_name(id) from syscomments where id in (select id fr ...
- 浅谈HTTP中GET、POST用法以及它们的区别
浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...
- MapReduce编程:单词去重
编程实现单词去重要用到NullWritable类型. NullWritable: NullWritable 是一种特殊的Writable 类型,由于它的序列化是零长度的,所以没有字节被写入流或从流中读 ...
- 将nginx添加至service服务
一.问题描述: 无法用service命令启动nginx 二.问题分析: /etc/init.d/目录下缺少nginx默认启动脚本 三.问题解决: 在/etc/init.d/路径下添加脚本文件,名称为n ...
- gulp点滴
var gulp = require('gulp'), connect = require('gulp-connect'), browserify = require('gulp-browserify ...
- 第 8 章 容器网络 - 067 - 如何部署 Calico 网络?
0.准备工作 Calico 是一个纯三层的虚拟网络方案,Calico 为每个容器分配一个 IP,每个 host 都是 router,把不同 host 的容器连接起来. 与 VxLAN 不同的是,Cal ...
- ubuntu18.04.2LTS下安装和配置MySql数据库 --ubuntu
1.安装MySql ubuntu@thanlon-Ubuntu:~$ sudo apt install mysql-server 2.mysql安装完成后,默认用户名不是root,为了方便,一般我们需 ...
- 【分布式搜索引擎】Elasticsearch中的基本概念
一.Elasticsearch中的基本概念 以下概念基于这个例子:存储员工数据,每个文档代表一个员工 1)索引(index) 在Elasticsearch中存储数据的行为就叫做索引(indexing ...
- win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误
前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...