没有项目描述

graphitepager的Python项目详细描述


Graphite是一个很好的记录度量的工具,但是它不容易被调用 当指标通过某个阈值时。

石墨寻呼机是一个易于使用的石墨报警工具,将发送 如果度量达到警告或严重级别,则发出通知警报。

要求

  • Python2.7+
  • 石墨
  • redis
  • libmagic

安装

使用pip:

来自github:

pip install git+git://github.com/seatgeek/graphitepager.git@0.2.11#egg=graphitepager

来自PYPI:

pip install graphitepager==0.2.11

运行

目前,安装石墨寻呼机最简单的方法是使用Heroku!见 在https://github.com/philipcristiano/graphite-pager-heroku-example的例子。

  1. 设置环境变量:

    exportGRAPHITE_USER=HTTP-basic username
    exportGRAPHITE_PASS=HTTP-basic password
    exportGRAPHITE_URL=HTTPS(hopefully) URL to your Graphite installation
    exportPAGERDUTY_KEY=Specific PagerDuty application key
    exportREDIS_URL=redis://localhost:6379/
    # REDISTOGO_URL is also supported
  2. alerts.yml文件中设置警报

  3. 运行graphite-pager

    graphite-pager --config alerts.yml
    

其中文件alerts.yml采用以下格式。

环境变量也可以在顶层的yaml文件中指定。只需将环境变量的大小写改为小写,如下所示:

redis_url:"redis://localhost:6379/"

警报配置

警报的配置由yaml文件处理。这可以用

graphite-pager verfify --config=config.yml

如果它是无效的石墨寻呼机将可能崩溃。

通知

通知程序是与您首选的警报服务进行通信的工具。目前 Graphite寻呼机支持以下通知程序:

  • hipchat
  • 页面输出
  • 按钮
  • 松弛度

pagerduty需要将环境中的应用程序密钥设置为PAGERDUTY_KEY

hipchat需要一个应用程序密钥HIPCHAT_KEY和通知空间HIPCHAT_ROOM

松弛需要松弛SLACK_URL

pushBullet需要应用程序密钥PUSHBULLET_KEY,并且可以选择 PUSHBULLET_DEVICES和/或逗号中以逗号分隔的设备列表 PUSHBULLET_CONTACTS中联系人的分隔列表。

更多的通知程序很容易写,如果有什么问题,你想提交!

文档url

配置中的docs\_uls属性将向 警报的文档。目前的格式是 {docs\_url}/{alertname}#{alert legend name}

警报格式

警报有4个必需参数和2个可选参数。

必需参数:

  • name—警报组的名称
  • 警告-警告值的整数
  • 临界值-临界值的int
  • target-要检查的Graphtie度量,如果有别名则最佳

石墨寻呼机了解警告和临界值,以便 选中<;和>;。如果警告小于临界值,则以上值都将 触发警报。如果警告大于临界值,则 触发警报。

Example:

    Warning: 1
    Critical: 2

    0 is fine, 3 will be critical

    Warning: 2
    Critical: 1

    0 is critical, 3 is fine.

可选参数:

  • from-graphitefrom参数,用于查询ex.-10mindefault-1min的时间。
  • 排除-要包括的目标列表。这必须与完整目标匹配,因此建议您使用graphite函数alias()使这些内容可读。

警报排序

具有相同名称和目标的警报将只检查一次!这很有用 如果您想要一个子集具有不同的检查时间和/或 值

-name:Loadtarget:aliasByNode(servers.worker-*.loadavg01,1)warning:10critical:20-name:Loadtarget:aliasByNode(servers.*.loadavg01,1)warning:5critical:10

在上面的示例中,任何worker-*节点都将为10个或更高的节点发出警报,但catchall节点除外 将允许在不发出警报的情况下检查其余度量 高于5的工作节点

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
验证Java验证用户输入的一系列数字   java如何在SpringBoot中字段验证失败时在ConstraintViolationException中获取RequestParam名称   java如何解决Vertx阻塞DNS问题   java意外类型平均值   java如何将dataframe的UUID列转换为包含相同十六进制序列的简单字符串?   身份散列映射的java用法   java无法在eclipse中导入现有项目   进程从运行的java程序中获取CPU号   java将文本视图的特定行滚动到顶部在最后一个屏幕上不起作用   无法初始化java SpringSecurityFilterChain   java当我在项目中使用volatile时,为什么下面的代码显示不同的结果?   是否有转换java的标准方法。util。函数,消费者<T>转换为java。util。作用函数<T,Void>   java nginx分块传输编码失败   java如何将几个IF转换为一个循环   java URI从路径中删除/删除