随笔分类 - 1.Python基础
摘要:一、希尔排序思路 二、图解希尔算法 三、希尔排序代码 四、希尔排序性能分析 1、算法复杂度 会根据增量的不同而不同,一般来说: 时间复杂度: 1. 最好情况:O(n^1.3) 2. 最坏情况:O(n^2) 空间复杂度:O(1) 2、稳定性 稳定性:不稳定(相同元素的相对位置会改变) 希尔排序的时间复
阅读全文
摘要:一、归并排序基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 分而治
阅读全文
摘要:一、堆排序小根堆 二、堆排序内置模块 一、内置模块总览 2、实现堆排序 1、实现代码 2、测试结果 3、打印堆的第一个和第二个数 1、实现代码 2、测试结果 4、加大测试范围 1、实现代码 2、测试结果 1 "C:\Program Files\Python35\python.exe" E:/heap
阅读全文
摘要:一、画图代码 1、收集处理数据 2、生成流量图 3、画图展示 二、国外画图软件hcharts 1、官方网址 2、静态图讲解 3、动态图片讲解 动态看红框 4、API使用 1、数据格式 2、api文档 截图 3、文档教程 截图 三、国内百度echarts 1、官方网址 2、地图展示 3、3D图展示 4
阅读全文
摘要:一、报警自动升级代码解析 发送邮件代码 二、报警自动升级测试 1、iowat 过高过程 截图 2、报警升级过程 截图 3、发送邮件截图 1、触发器截图 2、控制台截图
阅读全文
摘要:一、负责把达到报警条件的trigger进行分析 ,并根据 action 表中的配置来进行报警 1、目录结构 2、功能如下 3、实现代码 二、报警发送邮件内容 1、实现代码 2、邮件截图类似于下图 三、分析trigger并报警 1、为什么tigger里关联了template,template里又关联了
阅读全文
摘要:一、目录结构 二、报警策略队列处理 1、入口MonitorServer 2、启动调用management 3、实例化 1、支持三个参数,启动、停止监控触发器 2、通过反射的形式,3、监听所有的触发器4、同一个频道,声明一下就开始接收了 三、打开收音机准备挺广播 1、功能如下 1、打开收音机2、调频3
阅读全文
摘要:一、目录结构 二、入口 1、文件MonitorServer.py 2、启动函数management.py 三、检测主机需要监控的服务数据是否按时正常汇报 1、功能如下 1、生成全局的监控配置dict 2、循环所有要监控的服务 3、检测此服务最近的汇报数据 4、检测 有没有这个机器的trigger,如
阅读全文
摘要:一、计算单条表达式的结果 1、解决了什么问题 2、代码实现 二、如何拿到精确的数据 1、功能如下 1、我取出6个数据(下面的+60是默认多取一分钟数据,宁多勿少,多出来的后面会去掉)2、approximate_data_range存的是大概的数据,要拿到精确的,我判断一下3、把数据集合交给不同的方法
阅读全文
摘要:一、策略和动作多对多的好处坏处 1、好处: 相同服务,相同策略的服务可以不用重复写好多次触发器 2、坏处: 1、策略A给小李和小罗发邮件2、策略B给小胡和小崔发邮件3、策略A是第三部发邮件4、策略B是第五步发邮件 二、解决问题与代码实现 1、trigger发生后,如何报警 1、解决了什么问题 1、问
阅读全文
摘要:一、需求讨论 1、zabbix触发器的模板截图 1、zabbix2.4.7 2、zabbix3.0 2、模板与触发器关联的好处 好处就是可以批量处理,比如我说我有1000机器都要监控cpu、内存、IO的监控 3、模板触发器多对多的优缺点 1、优点: 可以批量引用,不用重复创建相同的模板,比如我说我有
阅读全文
摘要:一、需求讨论 1、请问如何解决延迟问题 1000台机器,每1分钟循环一次但是刚好第一次循环第一秒刚处理完了,结果还没等到第二分钟又出问题,你那必须等到第二次循环,假如我这个服务很重要必须实时知道,每次客户端汇报过来的同时,触发trigger检测,就可以实时的实现报警反应 2、这样有什么问题? 前提是
阅读全文
摘要:一、如何存储 二、目录结构 三、代码调用逻辑关系 四、实现代码 1、data_optimization 1、存筛选出来符合条件的数据 2、优化筛选出来的数据 3、把数据存储到redis 4、存储临时数据并计算最大值、最小值、平均值 1 def get_optimized_data(self,data
阅读全文
摘要:一、数据如何存储方案讨论 1、一个服务存所有主机 2、一台主机的所有服务 3、所有的服务一分钟存一次? 数据量大,浏览器会卡住, 4、最终方案如下 二、解决方案存在问题 1、只能存7天如何处理? 超过一个周就10分钟的平均值,存1个月 2、四种数据如何存?你存的是最近7天的数据 1、看追加时间,左边
阅读全文
摘要:一、目录结构 二、引子与代码 1、客户端获取服务列表接口 1、解决了什么问题 2、实现代码 总urls 监控app urls 2、试图函数 1、解决了什么问题 我要给客户端返回的是一个json大字典,这个大字典长什么?我在视图里倒入这个模块,执行这个实例 2、大字典长什么样? 3、代码实现 3、序列
阅读全文
摘要:一、注册站点初始化数据库 1、目录结构 2、初始化数据库 3、创建超级用户 4、登陆后台:http://127.0.0.1:8000/admin/monitor/ 二、后台建立主机模板服务 1、创建两台主机 2、创建服务列表 3、创建监控指列表 4、创建主机组 5、模板列表 6、模板详情 7、主机关
阅读全文
摘要:一、表结构关系图 二、表结构需求讨论 1、主机表(Host) 1、解决了什么问题? 1、如果我不想让它监控了,就有一个开关的东西给它禁掉2、主机存活状态检测间隔 2、代码 2、主机组表(HostGroup) 1、解决了什么问题? 当你有1000台的主机,当有900台需要用到同一个模板的时候我就把这个
阅读全文
摘要:本节内容 一、为什么要做监控? 二、常用监控系统设计讨论 成熟的监控 Zabbix Nagios/cacti ganglia openfalcon go 成熟的监控 三、监控系统需求讨论 1.可监控常用系统服务、应用、网络设备等 网络层 网络质量 流量,丢包率、带宽 系统层 cpu disk ram
阅读全文
摘要:一、实际生产的架构图 1、生产环境为什么要这样干 2、常用的queue软件 二、我们今天如何实现? 1、实现思路 问题:views和web之间已返回,线程这里就断开了,那是因为你用django又启了一个线程 怎样才启动一个独立的进程,和django是没有关系,只不过是用django启动的,由操作系统
阅读全文
摘要:一、批量任务开发思路 1、开发目标 2、开发思路 1、前端提交发起请求100台机器,那我要等待5分钟, 问题就在于,这100台不是同时执行完的,有可能我有10台执行完了,执行完了不能让他等五分钟,让他执行完了立刻就返回 2、返回一个什么呢? task_id的值,这个值是唯一值 3、触发任务和拿取结果
阅读全文

浙公网安备 33010602011771号