Python之路,Day20 - 分布式监控系统开发   本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则   常用监控系统设计讨论 Zabbix Nagios   监控系统需求讨论 1.可监控常用系统服务.应用.网络设备等 2.一台主机上可监控多个不同服务.不同服务的监控间隔可不同 3.同一个服务在不同主机上的监控间隔.报警…
一.策略和动作多对多的好处坏处 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…
本节内容 为什么要做监控? 常用监控系统设计讨论 监控需求讨论 如何实现监控服务器的水平扩展? 监控系统架构设计 一.为什么要做监控? 熟悉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.一…
一.需求讨论 1.请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次客户端汇报过来的同时,触发trigger检测,就可以实时的实现报警反应 2.这样有什么问题? 前提是它给你汇报,如果客户端网络断了,客户端宕机了,就无法汇报了 3.你要确保客户端存活的检测机制 拿到每台机器的所有触发器,检测阈值,如果超过阈值,存到redis你不用再连redis我给你传(从外部调用…
一.报警自动升级代码解析 发送邮件代码 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…
一.目录结构 二.入口 1.文件MonitorServer.py import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CrazyMonitor.settings") from monitor.backends.management import execute_from_command_line execu…
一.需求讨论 1.zabbix触发器的模板截图 1.zabbix2.4.7 2.zabbix3.0 2.模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu.内存.IO的监控 3.模板触发器多对多的优缺点 1.优点: 可以批量引用,不用重复创建相同的模板,比如我说我有1000机器都要监控cpu.内存.IO的监控创建相同的触发器, 2.缺点: 模板1更改触发器的阀值会影响所有的模板 3.生产不建议使用多对多的关系,这样灵活性就会很差,而且修改模板1会影响别的模板,这…