ujamii/prometheus-trello-exporter

为 Trello 数据提供的度量端点。

v0.5.1 2023-05-05 12:09 UTC

This package is auto-updated.

Last update: 2024-08-29 13:04:48 UTC


README

此软件包使用 Trello REST API 查询某些统计数据,并以 OpenMetrics 格式输出,该格式可被 Prometheus 抓取。

为了便于部署,我们还提供了一个 Docker 容器

API 密钥

此工具在 REST API 进行认证时需要一对 API 密钥,您可以通过在 Trello 上登录并访问 trello.com/app-key 创建。

使用方法

您可以将此库包含到自己的代码中,或者以容器形式运行它。

使用 Composer

安装

composer req ujamii/prometheus-trello-exporter

在自定义文件中使用

require 'vendor/autoload.php';

$exporter = new \Ujamii\OpenMetrics\Trello\TrelloExporter('<TRELLO_API_KEY>', '<TRELLO_API_TOKEN>', '<TRELLO_ORG>');
$exporter->run();

使用 Docker

此镜像基于 php:8.1-apache,因此默认情况下在端口 80 上暴露数据。假设您在本地主机上以 -p 80:80 运行它,您可以在 https:///metrics 上查看度量。

配置通过三个环境变量完成:用于认证的 TRELLO_API_KEYTRELLO_API_TOKEN,以及可选的 TRELLO_ORG 变量,如果您想查询组织中的看板而不是用户中的看板。

docker run -d --name trello-prometheus -e TRELLO_API_KEY=verylongfoobarkey -e TRELLO_API_TOKEN=foobarlongtoken -p "80:80" ghcr.io/ujamii/prometheus-trello-exporter

GitHub 获取预构建镜像

使用 Docker Compose

cp docker-compose.example.yml docker-copose.yml
vim docker-compose.yml #add env variables
docker-compose up -d

输出

脚本将生成类似以下的内容:

# TYPE trello_cards_in_list_total gauge
# HELP trello_cards_in_list_total Number of cards per list.
trello_cards_in_list_total{board="FooBar Board", list="To Do"} 2.000000
trello_cards_in_list_total{board="FooBar Board", list="In Progress"} 0.000000
trello_cards_in_list_total{board="FooBar Board", list="Done"} 16.000000
# TYPE trello_labeled_cards_on_board gauge
# HELP trello_labeled_cards_on_board Number of cards per board and label.
trello_labeled_cards_on_board{board="FooBar Board", label="on hold"} 2.000000
trello_labeled_cards_on_board{board="FooBar Board", label="late"} 1.000000
trello_labeled_cards_on_board{board="FooBar Board", label="needs input"} 5.000000
# TYPE trello_cards_per_board_member gauge
# HELP trello_cards_per_board_member Number of cards per board and member.
trello_cards_per_board_member{board="FooBar Board", member="John Doe"} 3.000000
trello_cards_per_board_member{board="FooBar Board", member="Jane Doe"} 13.000000
...