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.一…
一.负责把达到报警条件的trigger进行分析 ,并根据 action 表中的配置来进行报警 1.目录结构 2.功能如下 1.找到trigger的关联动作, 2.收到的数据传给trigger_msg就是trigger_data 3.trigger_id') == None怎么会等于None 4.每个action都可以直接包含多个主机或主机组 3.实现代码 class ActionHandler(object): ''' 负责把达到报警条件的trigger进行分析 ,并根据 action 表中的配…
一.需求讨论 1.请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次客户端汇报过来的同时,触发trigger检测,就可以实时的实现报警反应 2.这样有什么问题? 前提是它给你汇报,如果客户端网络断了,客户端宕机了,就无法汇报了 3.你要确保客户端存活的检测机制 拿到每台机器的所有触发器,检测阈值,如果超过阈值,存到redis你不用再连redis我给你传(从外部调用…
一.目录结构 二.入口 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…
一.报警自动升级代码解析 发送邮件代码 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.zabbix触发器的模板截图 1.zabbix2.4.7 2.zabbix3.0 2.模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu.内存.IO的监控 3.模板触发器多对多的优缺点 1.优点: 可以批量引用,不用重复创建相同的模板,比如我说我有1000机器都要监控cpu.内存.IO的监控创建相同的触发器, 2.缺点: 模板1更改触发器的阀值会影响所有的模板 3.生产不建议使用多对多的关系,这样灵活性就会很差,而且修改模板1会影响别的模板,这…
一.目录结构 二.报警策略队列处理 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…