向zabbix发送任务执行度量
celery-zabbix的Python项目详细描述
向zabbix发送任务执行度量:启动了多少个任务 已成功完成或失败,以及仍有多少任务在 队列(仅支持Broker Redis)。对Zabbix-3.0进行测试。
灵感来自https://gitlab.com/kalibrr/celery-prometheus
用法
- 运行bin/celery zabbix --zabbix-nodename myhost.example.com --zabbix-server zabbix.example.com。 (或者,您可以传递--zabbix-agent-config=/etc/zabbix/zabbix_agentd.conf,然后从中读取server+nodename的值。)
- 导入相应的Zabbix Template以设置匹配项。
项目
以下项目将每60秒发送一次(通过--dump-interval=x进行配置):
- 芹菜.task.started
- 芹菜.task.succeeded(带触发器{$WARN_TASKS_FAILED})
- 芹菜.task.failed
- 芹菜.task.retried
从监控过程开始算起, 所以您需要在zabbix服务器上将它们作为delta处理。
- 芹菜.task.queuetime(仅当task_send_sent_event已启用时)
- 芹菜.task.runtime
这些是中值,使用项目类型“numeric(float)”。
队列长度
如果通过--queuelength-interval=x,则每隔x秒将检查队列长度(注意:这仅适用于作为代理的redis),并且还将发送以下项:
- 芹菜.队列[myqueuename]
这些是测量值,即它们包含每次检索时的长度 时间,所以他们可以上下移动。
- 芹菜.discover.queues
这是一个自动发现项,连同Zabbix Template这将为每个队列创建一个项和触发器。在主机上,创建{$WARN_QUEUE_LENGTH:myqueuename}格式的宏来确定触发阈值。
芹菜的变化
1.0.4(2019-06-26)
- 允许使用代理配置文件并仍重写命令行上的值 (彼得·雷德克里夫的补丁)
1.0.3(2018-03-23)
- 使用后关闭用于队列长度检查的redis连接
- 捕获转储统计信息中的异常并检查队列长度的线程
1.0.2(2018-03-21)
- 对丢失的task.runtime进行防御
1.0.1(2018-03-09)
- 修复代理配置解析中的输入错误
1.0.0(2018-03-06)
- 初始版本