问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何实现zabbix报警邮件中可以显示ip地址

发布网友 发布时间:2022-04-30 02:01

我来回答

2个回答

懂视网 时间:2022-05-01 13:17

 最近看了刘天斯老师的机柜展示平台,非常绚丽,而且有大屏显示的话也是能够体现运维价值的,这里就说下我最近在做的CMDB平台的一些数据:

CMDB数据:

 机房,机柜,机柜电源,机柜位置,机房合同,合同到期时间,机房联系人。

 服务器,CPU,硬盘,是否虚拟化,宿主机,raid类型,内存。

 资产ID,上架日期,下架记录,服务器代理商,代理商联系方式,服务器到保日期。

 IP地址,MAC地址,业务线,产品线,操作系统。


通信这块主要技术json-rpc,然后提供Api接口给程序调用,按照固定格式导入即可;硬件固定信息,如IP,MAC,硬盘等信息,通过自动采集的API POST方式加入到数据表。像机房信息,机柜之类的可以给机房抄送一份excel表格然后直接导入即可。


  机房服务器展示:通过把刘天斯老师机柜暂时平台的前端拿过来,然后结合到表结构里面展示;在故障告警的时候,留有一个告警接口的API,通过zabbix 把告警数据发送到运维平台;运维平台入库告警展示:下面是前端简单展示效果,具体操作如下:


技术分享


前端机柜生成效果显示:闪烁效果直接获取厂商的gif文件调用即可,机柜命名方式比如下面的:5-6,5-7就分别表示第五排第六,第七个机柜:


技术分享


上面是正常显示,当出现故障时候:就结合zabbix 告警脚本,发送过去给接口,故障如下:


技术分享

机房展示效果:


技术分享


鼠标移动到机柜就显示服务器的相关信息:

技术分享


zabbix 的告警脚本并且发送状态到运维平台,并且更改服务器状态:


[root@controller alertscripts]# cat zabbix_alert.py 
#!/usr/bin/python
#coding:utf-8 
import requests,json 
import smtplib
from email.mime.text import MIMEText
import sys 
 
#邮箱服务器地址
mail_host = ‘smtp.163.com‘
#邮箱用户名
mail_user = ‘xxxxx@163.com‘
#邮箱密码
mail_pass = ‘xxxxxx123456‘
mail_postfix = ‘163.com‘
 
def send_mail(to_list,subject,content):
    me = mail_user+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content)
    msg[‘Subject‘] = subject
    msg[‘From‘] = me
    msg[‘to‘] = to_list 
 
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
def alert(message):
    headers = {"Content-Type": "application/json"}
    data = {}
    res = {}
    data[‘status‘] = message 
    res[‘params‘]=data
    res[‘jsonrpc‘] = "2.0"
    res["id"] = 1
    res["method"]= "alert.turn"
    url = "http://192.168.63.216:2000/api"
    r = requests.post(url, headers=headers,json=res)
 
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
    alert(sys.argv[2])


后端返回状态改变之后直接入库修改,我这边只是判断是否主题是PROBLEM或者OK:


前端代码可以按照刘天斯老师的然后自己修改成jquery即可,前端可以去自由发挥,如下简单样例:


<table border="0" cellpadding="1" cellspacing="0" height="440" width="99%">    
<tbody><tr>    
<td class="jgtable" align="center" height="30" valign="bottom"><font class="jgtitle">01</font></td></tr>      
<td class="jgtable" align="center" height="30" valign="bottom">     
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">     
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">     
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">     
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">     
</td>    
</tr>    
</tbody></table>

   


本文出自 “小罗” 博客,请务必保留此出处http://xiaoluoge.blog.51cto.com/9141967/1852029

CMDB机柜平台结合zabbix告警展示

标签:cmdb   运维平台   机柜展示   zabbix告警   

热心网友 时间:2022-05-01 10:25

说明:

Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。

实现目的:

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

具体操作:

以下操作在Zabbix监控服务端进行

备注:Zabbix监控服务端

操作系统:CentOS

主机名:zabbix.osyunwei.com

邮件报警有两种情况:

1、Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain),只能发送,不能接收外部邮件。

2、使用一个可以在互联网上正常收发邮件的邮箱账号(例如:xxx@163.com),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱。

第一种:使用Zabbix服务端本地邮箱账号发送邮件

一、安装sendmail或者postfix

yum install sendmail #安装

service sendmail start #启动

chkconfig sendmail on #设置开机启动

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 默认已经安装好sendmail

CentOS 6.x 默认已经安装好postfix

sendmail和postfix只需要安装一个即可并开启服务即可。

二、安装邮件发送工具mailx

yum install mailx #安装

CentOS 5.x
编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make install UCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

echo "zabbix test mail" |mail -s "zabbix"
xxx@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test
mail,发送到的邮箱:xxx@163.com

三、配置Zabbix服务端邮件报警

1、打开Zabbix

管理-示警媒介类型-Email

名称:Email

类型:电子邮件

SMTP伺服器:zabbix.sa.huanqiu.com

SMTP HELO:zabbix.sa.huanqiu.com

SMTP电邮:zabbix@zabbix.sa.huanqiu.com

已经用:勾选

存档

备注:zabbix.sa.huanqiu.com为Zabbix监控端主机名称,建议修改,否则使用默认的localhost.localdomain发送邮件会被当做垃圾邮件拦截。

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

切换到示警媒介

添加

类型:Email

收件人:xxx@163.com

其他默认即可,也可以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:
{TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}:
{TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

用户:勾选Admin

选择

仅送到:Email

存档

四、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用Zabbix服务端本地邮箱账号发送邮件设置完成。

第二种:使用外部邮箱账号发送报警邮件设置

一、关闭sendmail或者postfix

service sendmail stop #关闭

chkconfig sendmail off #禁止开机启动

service postfix stop

chkconfig postfix off

备注:

使用外部邮箱账号时,不需要启动sendmail或者postfix

如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读取外部邮箱

配置信息。

二、安装邮件发送工具mailx

yum install mailx #安装

CentOS 5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum remove mailx #卸载系统自带的旧版mailx

下载mailx:

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar jxvf mailx-12.4.tar.bz2 #解压

cd mailx-12.4 #进入目录

make #编译

make install UCBINSTALL=/usr/bin/install #安装

ln -s /usr/local/bin/mailx /bin/mail #创建mailx到mail的软连接

ln -s /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis mailx #查看安装路径

mailx -V #查看版本信息

三、配置Zabbix服务端外部邮箱

vi /etc/mail.rc #编辑,添加以下信息

set from=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.com
smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo "zabbix test mail" |mail -s "zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test
mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

四、配置Zabbix服务端邮件报警

1、打开Zabbix

管理-示警媒介类型-创建媒体类型

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh

已启用:勾选

存档

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

切换到示警媒介-添加

类型:Sendmail

收件人:xxx@163.com

其他默认即可,也可

以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:
{TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}:
{TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

4、添加Zabbix服务端邮件发送脚本

cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录

vi sendmail.sh #编辑,添加以下代码

#!/bin/sh

echo "$3" | mail -s "$2" $1

:wq! #保存退出

chown zabbix.zabbix
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务

service zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

至此,Zabbix邮件报警设置完成。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
银耳茉莉汤制作要诀 茉莉银耳羹制作过程 银耳饮料茉莉银耳汤 发几张很好看的手机壁纸来 无纺壁纸的优缺点有哪些? 移动破碎机价格多少钱一台,移动破碎机需要办理什么手续 你知道窝瓜和倭瓜的区别是啥吗? 窝瓜和倭瓜是一种东西吗? 经常吃韭菜有什么危害 像素标定板 闭路电视监控系统怎么与报警联动??? zabbix 监控怎样设置短信接受报警邮件 请教,如何对所有品种进行监控,并发送邮件预警? 监控网络是否断开,如果断开则发邮件通知相关人员的软件 怎么实现邮件报警通知以及免费短信报警通知 海康DS 8804HW-SH 怎么设置报警时发送电子邮件 视频监控侦测报警,截图并发送电子邮件,第三方软件或DVR 买了一个网络摄像头,带移动监测报警发邮件功能需要怎么设置 菊花茶搭配什么降火效果好 喷漆房废气是什么过滤 怎么处理五金厂喷漆废气? 金员集团是央企吗? 开心旅游的幽默句子有哪些? 霸州市金一制管有限公司怎么样? 求,想放下一切想去旅行的唯美句子? 处理过的喷漆废气还有味吗 湖南金一指大健康管理有限公司怎么样? 喷漆废气应该怎么处理? 关于我想一个人去旅行的句子 寿光金一建筑工程有限公司怎么样? 有没有可以邮件报警的摄像头可以直接发送到手机上 电脑监控专家(邮件设置) 海康威视无线监控报警截图发送手机在哪里面设置 我安装了一个USB监控,拍摄到的画面会发送到电子邮件上,可我不知道这电子邮件如何设置, 为啥青少年模式关闭了?还不能玩,小程序 学生模式如何关闭qq小程序? 陕西考生,体育类,请问录取分数线多少? 西安交通大学体育生分数线高中学体育的想考西安交大分数线是多少 华中师范大学的体育生录取分数线是多少?(陕西) 陕西省体育特长生高考分数线是多少 今年陕西省高考分数线是多少? 西安交通大学体育生分数线 今天申购新股山西证券,怎么看自己是否申购成功啊? 如何进行新股申购手机上用山西证券软件 爱奇艺里面的废柴逆袭的动漫有哪些 宁德人喜欢吃熏鸭吗 日期的计算 在爱奇艺中能够缓存的而且好看的日本动漫有哪些,谢谢帮助 我是郑州民生证券的客户,请问这次建行配股我的库存怎么是0股买不了 爱奇艺的纯爱动漫电影