一.报警自动升级代码解析 发送邮件代码 def action_email(self,action_obj,action_operation_obj,host_id,trigger_data): ''' sending alert email to who concerns. :param action_obj: 触发这个报警的action对象 :param action_operation_obj: 要报警的动作对象 :param host_id: 要报警的目标主机 :param trigger…
Python之路,Day20 - 分布式监控系统开发   本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则   常用监控系统设计讨论 Zabbix Nagios   监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 2.一台主机上可监控多个不同服务.不同服务的监控间隔可不同 3.同一个服务在不同主机上的监控间隔.报警…
本节内容 为什么要做监控? 常用监控系统设计讨论 监控需求讨论 如何实现监控服务器的水平扩展? 监控系统架构设计 一.为什么要做监控? 熟悉IT监控系统的设计原理 开发一个简版的类Zabbix监控系统 掌握自动化开发项目的程序设计思路及架构解藕原则 二.常用监控系统设计讨论 成熟的监控 Zabbix Nagios/cacti ganglia openfalcon go 三.监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 网络层 网络质量 流量,丢包率.带宽 系统层 cpu disk…
为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则 常用监控系统设计讨论 Zabbix Nagios 监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 2.一台主机上可监控多个不同服务.不同服务的监控间隔可不同 3.同一个服务在不同主机上的监控间隔.报警阈值可不同 4.可以批量的给一批主机添加.删除.修改要监控的服务 5.告警级别: 不同的服务 因为业务重要程度不同,如果出了问题可以设置不同的报警级别…
本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则   常用监控系统设计讨论 zabbix (c php) nagios cacti open-falcon (服务器后端 go, 前端python) gridcontrol(perl) ganglia(java) 监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 2.一…
 zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用 自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次自动发现的配置. 打开Linux模板,添加自动发现规则 上面的key值是需要在 zabbix_agent.conf 中配置的…
一.需求讨论 1.请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次客户端汇报过来的同时,触发trigger检测,就可以实时的实现报警反应 2.这样有什么问题? 前提是它给你汇报,如果客户端网络断了,客户端宕机了,就无法汇报了 3.你要确保客户端存活的检测机制 拿到每台机器的所有触发器,检测阈值,如果超过阈值,存到redis你不用再连redis我给你传(从外部调用…
一.策略和动作多对多的好处坏处 1.好处: 相同服务,相同策略的服务可以不用重复写好多次触发器 2.坏处: 1.策略A给小李和小罗发邮件2.策略B给小胡和小崔发邮件3.策略A是第三部发邮件4.策略B是第五步发邮件 二.解决问题与代码实现 1.trigger发生后,如何报警 1.解决了什么问题 1.问题恢复自定义通知2.触发是触发器决定,报警不报警是报警中心说了算,一个是收集部门,一个是处理部门3.报警的次数报警升级阈值4.通知组别5.脚本名称相当与故障自愈 2.代码实现 class Action…
一.目录结构 二.报警策略队列处理 1.入口MonitorServer import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CrazyMonitor.settings") from monitor.backends.management import execute_from_command_line ex…
一.需求讨论 1.zabbix触发器的模板截图 1.zabbix2.4.7 2.zabbix3.0 2.模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu.内存.IO的监控 3.模板触发器多对多的优缺点 1.优点: 可以批量引用,不用重复创建相同的模板,比如我说我有1000机器都要监控cpu.内存.IO的监控创建相同的触发器, 2.缺点: 模板1更改触发器的阀值会影响所有的模板 3.生产不建议使用多对多的关系,这样灵活性就会很差,而且修改模板1会影响别的模板,这…