跳转到主要内容

将任务执行指标发送到Zabbix

项目描述

将任务执行指标发送到Zabbix:启动了多少任务,成功完成或失败的任务有多少,还有多少任务仍在队列中(仅支持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,然后将从那里读取服务器+节点名称的值。)

  • 导入相应的 Zabbix模板 来设置匹配的项目。

项目

以下项目将每60秒发送一次(通过 --dump-interval=x 来配置)

  • celery.task.started

  • celery.task.succeeded (触发器 > {$WARN_TASKS_FAILED})

  • celery.task.failed

  • celery.task.retried

这些是从监控进程开始的时间计算的,因此您需要在Zabbix服务器上将这些值作为增量处理。

  • celery.task.queuetime (仅当启用 task_send_sent_event 时)

  • celery.task.runtime

这些是中值,并使用“数值(浮点)”项目类型。

队列长度

如果你传递 --queuelength-interval=x,则每x秒将检查队列长度(注意:这仅适用于redis作为代理),并且还将发送以下项目

  • celery.queue[myqueuename]

这些是量表值,即它们包含每次检索的长度,因此它们可以上下波动。

  • celery.discover.queues

这是一个自动发现项,与Zabbix模板一起,将为每个队列创建一个项目和触发器。在您的宿主上,创建形式为{$WARN_QUEUE_LENGTH:myqueuename}的宏以确定触发阈值。

运行测试

使用toxpy.test。也许需要安装tox(例如通过pip install tox),然后简单地运行tox

celery_zabbix更改

1.1.0 (2019-11-28)

1.0.4 (2019-06-26)

  • 允许使用代理配置文件并在命令行上覆盖值(由Peter Radcliffe补丁)

1.0.3 (2018-03-23)

  • 在检查队列长度后关闭我们使用的redis连接

  • 在dump_stats和check_queue_length线程中捕获异常

1.0.2 (2018-03-21)

  • 对缺失的task.runtime进行防御性处理

1.0.1 (2018-03-09)

  • 修复代理配置解析中的拼写错误

1.0.0 (2018-03-06)

  • 初始版本

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

celery_zabbix-1.1.0.tar.gz (8.7 kB 查看哈希值)

上传时间

支持者: