场景 监控一个后台服务各个url的响应时间,需要在mysql数据库的一张表中设计一个字段需要包含且不仅限于以下一种规则(1. 大于 2. 小于 3. 大于等于 4. 小于等于),表结构大概是这样的 每个接口有不同的响应时间范围,超出这个范围就说明这个接口异常了,我们需要定义这个规则,并且能够让代码通过规则进行通知,刚开始的时候规则为 ">100,<200" 这种格式的,采用python中eval()这个方法,这样虽然勉强可以实现,但是eval不是很安全,所以放弃eval,经…
python入门(11)条件判断和循环 条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= 18: print 'your age is', age print 'adult' 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做. 也可以给if添加一个else语句,意思是,如果if判断是False,…
if语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print 'your age is', age print 'adult' print 'END' 注意: Python代码的缩进规则.具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print).如果 if 语句判断为 True,就会执行这…
0x00 变化 Prometheus 2.0 已经发布一段时间了,从今天开始我将分几篇文章为大家介绍其中的一些变化. 此篇文章主要介绍 2.0 的告警规则声明的新写法. 从 1.x 到 2.0 规则声明由自定义的 DSL 语法变成了标准的 yaml. 这么做的主要原因是 yaml 能够提供更丰富的配置信息,能够彻底解决告警规则分组问题. 在 2.0 中我们可以很方便的给不同告警组设置不同的检查轮询时间,详情请参考官方的文档. 0x01 升级 你的Prometheus 1.x已经运行一段时间了,其…
python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性 inspect import inspect def fun(): pass inspect.ismodule(fun) inspect.isclass(fun) inspect.ismethod(fun) for attr in dir(inspect): print(attr) 输出: isabstractisasyncgenisasyncgenfunctionisawaitableisbui…
继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样,否则就怎么怎么这样,格式如下: score = int(input('请输入你的分数:')) #接收输入,因为input接收的是一个字符串,所以需要用int函数强制类型转换成整数类型                 if score==100: #如果成绩等于100分的话              …
Prometheus 编写告警规则案例 注:确保alertmanager配置完毕! 1.创建编辑文件:vim /usr/local/prometheus/rules/node.yml # groups:组告警 groups: # name:组名.报警规则组名称 - name: general.rules # rules:定义角色 rules: # alert:告警名称. 任何实例5分钟内无法访问发出告警 - alert: NodeFilesystemUsage # expr:表达式. 获取磁盘使…
Prometheus告警规则增删改自动化 前言: 随着容器技术的发展,zabbix监控方式与k8s的结合不完善,导致不得不放弃zabbix,而新的监控工具prometheus的使用就越来越多了.但是经过初步使用,发现prometheus过于原始,很多设置都要通过配置文件手动添加修改,本篇文章介绍我是如何解决prometheus的“原始”. 环境: 语言:python2.7 web框架:flask 简介: Prometheus的告警设置是通过文件设置,在prometheus.yml配置文件中设置r…
#prometheus linux系统告警规则 实例 #根据实际情况修改参数 #rules.linux.yml groups: - name: linux rules: - alert: Node-Down #告警名称 expr: up == 0 for: 1m #持续多久后发送 labels: severity: warning annotations: #信息 summary: "Node has been down" description: "has been dow…
记录规则(recording rules) 配置规则 Prometheus支持两种类型的规则,可以对其进行配置,然后定期进行评估:记录规则和警报规则.要在Prometheus中包含规则,请创建一个包含必要规则语句的文件,并让Prometheus通过Prometheus配置中的rule_files字段加载该文件.规则文件使用YAML. 可以通过发送SIGHUP到Prometheus进程在运行时重新加载规则文件.仅当所有规则文件格式正确时,才会应用更改.   语法检查规则 要在不启动Promethe…