邮件报警

#下载安装邮件报警系统wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
yum -y install perl-Net-SSLeay perl-IO-Socket-SSL
tar xf sendEmail-v1.56.tar.gz -C /usr/local/
cd /usr/local/sendEmail-v1.56/
/bin/cp -ra sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail 

sendmail命令使用说明

命令/参数 内容 解释说明
/usr/local/bin/sendEmail 命令主程序
-f from@163.com 发件人邮箱
-t to@163.com 收件人邮箱
-s smtp.163.com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu from@163.com 发件人邮箱的用户名
-xp 123456 发件人邮箱密码(授权码)
-m "我是邮件内容" 邮件的具体内容
sendEmail -f yupanlong1@163.com -t yupanlong1@163.com -u "邮件标题" -s smtp.163.com -o message-content-type=html -o message-charset=utf8 -xu yupanlong1@163.com -xp w17908452 -m "邮件内用"          发件人邮箱             收件人邮箱                         发件人的smtp服务器     邮件内容的格式              邮件美容的编码             发件人的用户名      发件人的邮箱授权码(非密码) Aug 28 20:27:39 wk sendEmail[6668]: Email was sent successfully!      #表示发送成功

如果报错

nvalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 444.加入参数
-o tls=no sendEmail -f yupanlong1@163.com -t yupanlong1@163.com -u "zabbix_server" -s smtp.163.com -o message-content-type=html -o message-charset=utf8 -xu yupanlong1@163.com -xp w17908452 -m "邮件发送成功" -o tls=no

编写163邮件平台报警脚本

#!/bin/bash
# author:Mr.chen
to=$1
subject=$2
body=$3
from=yupanlong1@163.com
smtp=smtp.163.com
passwd=w17908452
/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu "$from" -xp "$passwd" -m "$body" -o tls=no                                        

脚本测试

chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
ocal/zabbix/share/zabbix/alertscripts/sendmail.sh yupanlong1@163.com "22" "11111"

修改zabbix_server.conf配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf
#将内容修改成如下所示
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
#重启zabbix_server服务
/etc/init.d/zabbix_server restart

自定义自动报警的内容

自定义内容样例

如果不修改报警的内容格式,看起来太乱了。我们可以按照如下方式修改

#告警通知格式样例
#题目
A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
#内容
告警主机:&nbsp;{HOSTNAME1}<br/>
告警时间:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>
告警等级:&nbsp;{TRIGGER.SEVERITY}<br/>
告警信息:&nbsp;{TRIGGER.NAME}<br/>
告警项目:&nbsp;{TRIGGER.KEY1}<br/>
问题详情:&nbsp;{ITEM.NAME}&nbsp{ITEM.VALUE}<br/>
当前状态:&nbsp;{TRIGGER.STATUS}&nbsp{ITEM.VALUE1}<br/>
事件ID:&nbsp;{EVENT.ID}

用户参数User parameters

自定义一个key值,对应一条命令,这条命令可以监测一项服务

用户参数的语法

UserParameter=<key值>,<命令>
key值自定义    

一个简单的例子:

UserParameter=ping,echo 1
代理程序将会永远的返回1,当我们在服务器端添加item的key为ping的时候。

稍微复杂的例子:

UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p123456 ping | grep -c alive当我们在服务器端添加item的key为mysql.ping时候,对于Zabbix代理程序,如果mysql存活,则状态将返回1,否则,状态将返回0。

让key接受参数

让key也接受参数的方法使item添加时更具备了灵活性,例如系统预定义key:vm.memory.size[],其中的mode模式就是用户要接受的参数,当我们填写为free时则返回的为内存的剩余大小,如果我们填入的为userd时这返回的是内存已经使用的大小。

相关语法:

UserParameter=key[*],echo $1
#举例:
UserParameter=ping[*],echo $1
ping[0]:此时0就是*,也就是传入参数是0,$1也就是0,因此表达式将一直返回‘0’
ping[aaa]:此时aaa就是*,也就是传入参数是aaa,$1也就是aaa,因此表达式将一直返回‘aaa’

我们先制作一个获取数据的脚本:

mkdir -p /server/scriptsvim /server/scripts/mem_check
#!/bin/bash
case $1 infree)echo "`free | awk 'NR==3{print $4}'`";;used)echo "`free | awk 'NR==3{print $3}'`";;*) echo "`free | awk 'NR==2{print $2}'`" ;; esac

#测试脚本chmod +x mem_check
chown zabbix.zabbix mem_check
sh mem_check.sh
2177604
sh mem_check.sh free
2097148
sh mem_check.sh used
0

后台自定义一个监控项的键值

vim /etc/zabbix/zabbix_agentd.d/mem_check.conf
UserParameter=mem.check[*],/server/scripts/mem_check $1

测试自定义键值

/etc/init.d/zabbix-agent restart
zabbix_get -s 192.168.50.166 -p 10050 -k "mem.check"
2177604
zabbix_get -s 192.168.50.166 -p 10050 -k "mem.check[free]"
1569912
zabbix_get -s 192.168.50.166 -p 10050 -k "mem.check[user]"
2177604

Agentd主动模式与被动模式

默认情况下,zabbix server会直接去每个agent上抓取数据,这对于agent来说,是被动模式,也是默认的一种获取数据的方式,但是,当zabbix server监控主机数量过多的时候,由server端去抓取agent上的数据,zabbix server会出现严重的性能问题:

  • 调整Agentd为主动模式

Agentd的配置调整

修改zabbix_agentd.conf配置文件,打开如下参数:

ServerActive=192.168.50.166
Hostname=192.168.50.166
StartAgents=1

ServerActive是指定Agentd收集的数据往哪里发送,Hostname是必须要和zabbix web端添加主机时的主机名对应起来,这样zabbix server端接收到数据才能找到对应关系,这里为了兼容被动模式,没有把StartAgents设为0,如果一开始就是使用主动模式的话建议把StartAgents设为0,关闭被动模式。

zabbix Server端配置调整

如果开启了agent端的主动发送数据模式,需要在zabbix Server端修改如下两个参数,保证性能。

StartPollers=10     #把这个zabbix Server主动收集数据进程减少一些。
StartTrappers=200   #把这个负责处理Agentd推送过来的数据的进程开大一些。

转载于:https://www.cnblogs.com/ywrj/p/9553429.html

zabbix*邮件报警 *用户参数User parameters *定义key值 *Agentd主动模式与被动模式相关推荐

  1. Zabbix邮件报警配置

    一.安装sendmail或者postfix(安装一种即可) yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail ...

  2. zabbix邮件报警和微信报警

    文章目录 配置zabbix邮件报警和微信报警. 一.邮件报警 1. 配置报警媒介类型 2. 创建用户 创建用户组并设置权限 创建用户 添加报警媒介 设置权限 3. 配置动作 1.创建主机组 2.创建模 ...

  3. 企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警

    企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警 [root@Zabbix-Server ~]# wget http://nchc.dl.sourceforge.n ...

  4. zabbix 邮件报警配置

    1.邮箱配置,登陆163邮箱开启smtp和授权: 授权并记住授权码: 2.网页登陆zabbix页面配置 操作配置 名称:from xbz-web 监控信息 默认标题:故障{TRIGGER.STATUS ...

  5. 介绍Zabbix的两种监控模式(主动模式和被动模式)

    Zabbix  agent检测分为两种模式:主动模式和被动模式 被动模式,也是默认的Zabbix监控模式,被动模式是相对于proxy来说的.proxy主动发送数据就是主动模式,proxy等待serve ...

  6. zabbix的主动模式和被动模式、添加监控主机、添加自定义模板、处理图形中的乱码、自动发现...

    主动模式和被动模式 主动或者被动是相对客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端 主动模式,客户端会主动把监控数据汇报给服务端,服务 ...

  7. 监控利器Zabbix之主动模式和被动模式

    一:zabbix的主动模式和被动模式 zabbix客户端分数据给服务端分为主被动两种模式,主动模式是zabbix客户端主动向服务端发送数据,被动模式是被动等待客户端来取数据. 主动模式的流程: 客户端 ...

  8. Zabbix 邮件报警、钉钉报警、微信报警

    文章目录 一.部署server端和agent端 1.实验准备 2.部署zabbix-server[监控端] (1)安装zabbix-server (2)启动mariadb (3)准备数据库及授权 (4 ...

  9. zabbix邮件报警接入,微信报警接入

    本文接上一篇文章http://blog.51cto.com/superleedo/2071393 详细图解zabbix告警功能使用 邮件报警接入 1 添加报警媒介 管理--报警媒介类型--Email ...

  10. zabbix邮件报警发送至qq邮箱

    第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmail  start #开启,因为发送邮件需要开启25端口    chkconfig ...

最新文章

  1. NLP未来,路在何方?12位巨佬联名指路!
  2. Windows Phone开发(48):不可或缺的本地数据库
  3. mysql+8.0+新特性_MySQL 8.0的一些新特性汇总大全
  4. Linux下Tomcat与Apache Web服务器的整合
  5. Tensorflow安装笔记
  6. 天梯赛 L2-005 集合相似度 (set容器)
  7. 用boost库实现traceroute小工具
  8. 【转】C++学习二 vector的用法(使用sort对于vector排序)
  9. java抽象类及其派生类_java抽象类
  10. 机器学习+云服务,一种互惠互利的结合物
  11. python获取文件绝对路径_如何在Python中获得绝对文件路径
  12. 将公共云延伸至本地,阿里云推出本地化部署服务云盒Cloud Box
  13. 【笔记】Altera - Quartus II使用方法——工程创建、Modelsim破解/仿真、Verilog编写、举例(待续)
  14. BI项目经理入门指南:用最详细的图解,带你落地企业自助分析项目
  15. Android开发-视图view讲解
  16. 谷歌 Jason Wei | AI 研究的 4 项基本技能
  17. 【JZ38 字符串的排列】
  18. Kotlin高仿微信-第6篇-主页-我的
  19. hydra(海德拉)暴力破解工具
  20. GIMP类似于PhotoShop的开源免费软件

热门文章

  1. 简单易懂实例说明如何设计子网掩码
  2. 关于web开发的一点理解
  3. Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
  4. 【原创】使用blockUI制作自定义的漂亮的网页提示框(代替confirm和alert)
  5. C#中执行SQL语句
  6. sudo chown r mysql_Linux 文件基本属性: chown修改所属组 和 chmod修改文件属性命令
  7. 用c语言ipv6组播,闲谈IPv6-组播和广播
  8. hive数据库初始化失败
  9. 如何复制网上的收费文本
  10. (秒杀项目) 4.7 缓存商品与用户