一、需求讨论

1、zabbix触发器的模板截图

1、zabbix2.4.7

2、zabbix3.0

2、模板与触发器关联的好处

好处就是可以批量处理,比如我说我有1000机器都要监控cpu、内存、IO的监控

3、模板触发器多对多的优缺点

1、优点:

可以批量引用,不用重复创建相同的模板,比如我说我有1000机器都要监控cpu、内存、IO的监控创建相同的触发器,

2、缺点:

模板1更改触发器的阀值会影响所有的模板

3、生产不建议使用多对多的关系,这样灵活性就会很差,而且修改模板1会影响别的模板,这样会出现很多坑

4、表达式的创建考虑的逻辑处理

二、实现代码

1、触发器表

class Trigger(models.Model):name = models.CharField(u'触发器名称',max_length=64)severity_choices = ((1,'Information'),(2,'Warning'),(3,'Average'),(4,'High'),(5,'Diaster'),)#expressions = models.ManyToManyField(TriggerExpression,verbose_name=u"条件表达式")severity = models.IntegerField(u'告警级别',choices=severity_choices)enabled = models.BooleanField(default=True)memo = models.TextField(u"备注",blank=True,null=True)def __str__(self):return "<serice:%s, severity:%s>" %(self.name,self.get_severity_display())

2、触发器表达式表

class TriggerExpression(models.Model):trigger = models.ForeignKey('Trigger',verbose_name=u"所属触发器")service = models.ForeignKey(Service,verbose_name=u"关联服务")service_index = models.ForeignKey(ServiceIndex,verbose_name=u"关联服务指标")specified_index_key = models.CharField(verbose_name=u"只监控专门指定的指标key",max_length=64,blank=True,null=True)operator_type_choices = (('eq','='),('lt','<'),('gt','>'))operator_type = models.CharField(u"运算符",choices=operator_type_choices,max_length=32)data_calc_type_choices = (('avg','Average'),('max','Max'),('hit','Hit'),('last','Last'),)data_calc_func= models.CharField(u"数据处理方式",choices=data_calc_type_choices,max_length=64)data_calc_args = models.CharField(u"函数传入参数",help_text=u"若是多个参数,则用,号分开,第一个值是时间",max_length=64)threshold = models.IntegerField(u"阈值")logic_type_choices = (('or','OR'),('and','AND'))logic_type = models.CharField(u"与一个条件的逻辑关系",choices=logic_type_choices,max_length=32,blank=True,null=True)def __str__(self):return "%s %s(%s(%s))" %(self.service_index,self.operator_type,self.data_calc_func,self.data_calc_args)

转载于:https://www.cnblogs.com/luoahong/p/9558352.html

分布式监控系统开发【day38】:监控trigger表结构设计(一)相关推荐

  1. Python自动化开发基础 分布式监控系统开发实战 day8-李杰-专题视频课程

    Python自动化开发基础 分布式监控系统开发实战 day8-10994人已学习 课程介绍         从0基础开始讲解Python语法.流程控制.函数式编程.面向对象开发等重要的Python开发 ...

  2. 智能农业大棚监控系统开发

    近年来,我国农业温室大棚得到了迅速发展,但这些大棚的管理主要是由人工来完成的,管理的技术含量很低.随着温室种植面积的迅速增加,单纯依靠人工管理已经不能满足高效农业生产的需求.随着物联网技术的进一步发展 ...

  3. 数字视频监控系统开发及应用

    前言  第1章 概述  1.1 模拟视频监控现状  1.1.1 模拟视频监控系统简介  1.1.2 模拟视频监控系统存在的问题  1.2 数字视频监控系统  1.2.1 数字视频监控系统的组成  1. ...

  4. 对微服务监控系统分层和监控架构的理解

    对微服务监控系统分层和监控架构的理解 目录 微服务专栏地址 目录 1. 简介 2. 为什么需要监控体系 3. 与单体应用有什么区别 4. 要监控什么 5. 监控体系和分层 6. 监控架构和主流技术栈 ...

  5. 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目

    案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...

  6. 打造自己的树莓派监控系统2--内存监控-matplotlib显示数据

    系列文章: 文章1:打造自己的树莓派监控系统1–CPU监控-matplotlib显示数据 文章2:打造自己的树莓派监控系统2–内存监控-matplotlib显示数据 文章3:打造自己的树莓派监控系统3 ...

  7. 什么是机房监控系统(机房监控系统功能特点)

    一个完善的机房环境动环监控系统应该具备三个特点:能够实现从设备运行到机柜微环境再到机房整体环境的多层次监控:有丰富的阈值设置来监控危机的存在,有丰富的预警方式和预警流程来保证相关人员能够收到预警信息, ...

  8. 水厂监控系统、巡检监控、数据分析、生产报表、工艺报表、设备监控、水厂加药、工艺监控、水质分析、电耗、阀门、供水、冲洗、原水、加氯、蓄水、加药、滤池、沉淀池、配水井、氯耗、压力、浊度日、流量日、故障巡检

    水厂监控系统.巡检监控.数据分析.生产报表.工艺报表.设备监控.水厂加药.工艺监控.水质分析.电耗.阀门.供水.冲洗.原水.加氯.蓄水.加药.滤池.沉淀池.配水井.氯耗.压力.浊度日.流量日.故障巡检 ...

  9. 分布式监控系统开发【day37】:需求讨论(一)

    本节内容 为什么要做监控? 常用监控系统设计讨论 监控需求讨论 如何实现监控服务器的水平扩展? 监控系统架构设计 一.为什么要做监控? 熟悉IT监控系统的设计原理 开发一个简版的类Zabbix监控系统 ...

  10. 艺龙十万级服务器监控系统开发的架构和心得

    一.监控系统架构 经历了许多公司,监控系统大概都是从无到有,该经历的也都经历了.所谓监控系统,大概的架构如下: ◆在服务器布置一个Agent,它负责采集数据:  ◆由网上转发到一个分布式管道再转接,就 ...

最新文章

  1. Linux 虚拟化网络技术 — 虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun)
  2. 优秀的中文分词第三方库——jieba
  3. PHP中常见的几种运行代码的方式
  4. 网络最大流的三种基础算法
  5. asp 检查黑名单_十九、绕过黑名单检查实现文件上传2
  6. Windows10 对系统盘C 有效清理
  7. 光流 | MATLAB实现HS Optical Flow(代码类)
  8. 自定义PopupWindow弹出后背景灰色状态
  9. 2017《面向对象程序设计》作业四
  10. A的大小是多少c语言中,C/C+中字符(A)的大小
  11. [Leetcode][第977题][JAVA][有序数组的平方][排序][双指针]
  12. 驱动的定义、分类、安全性
  13. wordpress模板-单栏多色调全站pajx个人博客模板 idevs主题
  14. 母亲节:微信喊你给母亲充钱 华为帮你教爸妈用手机
  15. Amazon亲儿子MXNet与其他框架有哪些不同?| 赠书
  16. android 批量扫描,Android:连续扫描所有AP(接入点)
  17. 自定义加载等待动画,仿金山词霸
  18. 团队管理---管理经典理论
  19. C++二分查找相关函数用法总结
  20. android app报告,知乎APP用户体验报告

热门文章

  1. 关于linux拨号上网的软件实现方案[原创]
  2. 晨哥真有料丨女生眼中的高级感!
  3. linux下面java配置,linux下面配置java环境变量
  4. mysql8 修改密码_Mysql 8新特性之(1):账户与安全更人性化
  5. 软考路:2021年系统架构设计师之心得
  6. Linux Intel网卡IGB驱动修改mac地址
  7. 再记一下sscanf的一个小问题
  8. sscanf一小用法
  9. java------用File类列出一个目录下的所有文件夹和文件
  10. 【Kafka】kafka Failed to acquire lock on file .lock in /data/kafak-logs a kafka instance