使用 Prometheus 监控 Signal 服务器各项指标
监控方案
Signal-Server 里默认的指标采集使用了 StatsD 协议,可以推送到诸如 Telegraf 或 statsd 等,官方是直接使用了 DogStatsD 提供的云服务;
但时下更流行的监控/告警方案显然是基于 Prometheus/Grafana,于是就有了几种可行的方案:
- 修改代码,将原 StatsD 指标输出改为 Prometheus 指标输出,引入 Prometheus 依赖,简单修改服务端代码即可;
- 部署 telegraf 并配置使用 Prometheus 为其输出/后端存储引擎,此方案优点是无须修改服务器代码;
为尽量减少侵入性,某在此处使用方案2尝试。
配置 StatsD/Telegraf
首先拉取对应容器
# 国内服务器 找个镜像 如果你不需要可以去除 docker.1ms.run
docker pull docker.1ms.run/telegraf:1.34.2
docker tag docker.1ms.run/telegraf:1.34.2 telegraf:1.34.2
配置一个 telegraf,建一个目录 曰 telegraf,再建一文件,named it statsd.conf 如下:
[agent]
interval = "3s"
flush_interval = "5s"
[[inputs.statsd]]
service_address = ":8125"
metric_separator = "."
datadog_extensions = true
[[outputs.prometheus_client]]
listen = ":9273"
建一个运行 telegraf 的docker compose 组件:
services:
telegraf:
image: telegraf:1.34.2
container_name: telegraf
restart: always
volumes:
- ./statsd.conf:/etc/telegraf/telegraf.conf:ro
expose:
- 8125
- 9273
networks:
- signal
networks:
signal:
external: true
运行
docker compose -f telegraf.yml up -d
配置 Prometheus/Grafana
prometheus
grafana


大屏配置
先找个指标:org_whispersystems_textsecuregcm_push_MessageSender_sendMessage 先看看其指标类型与取值:
消息的大致发送数量
效果图示:
未完待续...

浙公网安备 33010602011771号