没有项目描述

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检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异