邮件报警

#下载安装邮件报警系统
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..tar.gz -C /usr/local/
cd /usr/local/sendEmail-v1./
/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@.com -t yupanlong1@.com -u "邮件标题" -s smtp..com -o message-content-type=html -o message-charset=utf8 -xu yupanlong1@.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 .

加入参数
-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=$
subject=$
body=$
from=yupanlong1@.com
smtp=smtp..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@.com "" ""

修改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,当我们在服务器端添加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/scripts
vim /server/scripts/mem_check
#!/bin/bash
case $1 in
free)
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 sh mem_check.sh free sh mem_check.sh used

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

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

测试自定义键值

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

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=

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

zabbix Server端配置调整

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

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

zabbix*邮件报警 *用户参数User parameters *定义key值 *Agentd主动模式与被动模式的更多相关文章

  1. zabbix 邮件报警(五)

    一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendE ...

  2. Zabbix邮件报警配置

    一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...

  3. Zabbix 邮件报警示例

     Zabbix 邮件报警示例: 1.编辑 mail.rc 文件添加默认的邮箱配置 # vi /etc/mail.rc set from=1234567@qq.com set smtp=smtp.qq. ...

  4. Zabbix主动模式与被动模式的区别——最简单的解释

    一直搞不清楚Zabbix的主动模式和被动模式的差别,网上看到别人博客里的解释都是云里雾里的,完全搞不清.知道偶然看到了以下这个解释.就基本上明白了. Zabbix的主动模式和被动模式都是相对agent ...

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

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

  6. zabbix 主动模式和被动模式说名

    一.zabbix agent主动模式与被动模式的区别 zabbix agent的运行模式有以下两种:1.被动模式:此模式为zabbix默认的工作模式,由zabbix server 向zabbix ag ...

  7. zabbix主动模式和被动模式

    目录 一. 理论概述 二.总结 一. 理论概述 整个zabbix监控过程当中,对于agent来说有两种递交监控项信息的模式:主动模式和被动模式 主动模式 agent向server主动请求对应监控项列表 ...

  8. Zabbix邮件报警-->Script

    Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...

  9. zabbix邮件报警设置

    第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmailstop #关闭   chkconfig sendmailoff #禁止开机启 ...

随机推荐

  1. ssh-copy-id三步实现SSH无密码登录和ssh常用命令

    第一步:在本地机器上使用ssh-keygen产生公钥私钥对 $ ssh-keygen 第二步:用ssh-copy-id将公钥复制到远程机器中 $  ssh-copy-id -i .ssh/id_rsa ...

  2. Mysql(五):索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  3. 微信小程序开发(六)获取手机信息

    // succ.js var app = getApp() Page({ data: { mobileModel: '', // 手机型号 mobileePixelRatio: '', // 手机像素 ...

  4. Git---Ubuntu下的安装与使用

    Git---Ubuntu下的安装与使用 注意:学会Git的唯一方式是在实际使用中学习,切记不要尝试先记住一大堆理论知识或者Git命令.

  5. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?(未完成)

    两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?(未完成)

  6. vsftpd的安装和配置

    1  安装vsftpd sudo apt-get install vsftpd 2  测试是否安装成功 sudo service vsftpd restart 如果有反应即成功 3  彻底卸载vsft ...

  7. inferiors

    inferiors 英[ɪnˈfɪərɪəz] 美[ɪnˈfɪriərz] n. 不如别人的人; 级别(或地位)低的人; [词典] inferior的复数; info inferiors

  8. mybatis的简单搭建和使用(一)

    前言 mybatis是一个持久层的框架,那么问题来了,什么是持久层的框架呢,持久层就是把数据持久化的保存到数据库中,这种过程一般叫数据持久化的过程,现为了程序员能够很方便的操作数据库,于是就出现持久层 ...

  9. Sklearn分类树在合成数集上的表现

    小伙伴们大家好~o( ̄▽ ̄)ブ,今天我们开始来看一下Sklearn分类树的表现,我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你的版本至少要3.4以上) S ...

  10. Anaconda 下 Jupyter 更改默认启动路径和默认浏览器

    1.Jupyter 更改默认启动路径方法 输入jupyter notebook --generate-config 会生成jupyter_notebook_config.py 找到文件,并打开 将 # ...