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

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

CMDB数据:

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

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

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

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


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


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


wKioL1fWYPLR76bUAACZ7urAiuo679.png


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


wKiom1fWYUWze3u_AAGD2oFdS4g571.png


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


wKiom1fWYzTg_MjQAAAyh_p45IM220.png

机房展示效果:


wKioL1fWYl7AB6ZsAAGQI8GmX6o434.png


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

wKiom1fWY37iruSNAAFt8tVLuXU969.png


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">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
</tbody></table>

   


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程目标     全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统 课程简介         Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。              本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:         1、掌握Zabbix各个组件的配置和管理。         2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。         3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。         4、掌握模版、宏变量、触发器和告警通知的配置和高级的应用方法。         5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。         6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。         7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。                  本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。 特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值