
idealista/prom2teamsprom2teams是一个基于Python构建的服务,用于接收来自Prometheus Alertmanager的告警通知,并通过已定义的连接器转发至Microsoft Teams。其核心特性包括告警分组、标签/注解排除及Teams告警重试策略等。
prom2teams作为Prometheus与Microsoft Teams之间的桥梁,解决了Prometheus告警无法直接发送至Microsoft Teams的问题。通过配置连接器和自定义模板,用户可以将Prometheus监控系统产生的告警信息格式化后发送到指定的Teams频道,实现高效的告警通知与协作。
/metrics端点暴露服务运行指标适用于所有使用Prometheus作为监控系统,并需要将告警通知集成到Microsoft Teams的团队,尤其适合:
bash# 使用环境变量指定连接器和分组字段 docker run -it -d \ -e PROM2TEAMS_GROUP_ALERTS_BY=severity \ -e PROM2TEAMS_CONNECTOR="[***]" \ -p 8089:8089 \ idealista/prom2teams:VERSION
bash# 使用本地配置文件覆盖容器默认配置 docker run -it -d \ -v /path/to/local/config.ini:/opt/prom2teams/config.ini \ -p 8089:8089 \ idealista/prom2teams:VERSION
配置文件为INI格式,结构如下:
ini[Microsoft Teams] # 至少需要一个连接器 Connector: <webhook url> AnotherConnector: <webhook url> [HTTP Server] Host: <主机IP> # 默认: localhost Port: <端口> # 默认: 8089 [Log] Level: <日志级别(DEBUG|INFO|WARNING|ERROR|CRITICAL)> # 默认: DEBUG Path: <日志文件路径> # 默认: /var/log/prom2teams/prom2teams.log [Template] Path: <Jinja2模板路径> # 默认: 内置模板 [Group Alerts] Field: <分组字段> # 可选,不配置则不分组 [Labels] Excluded: <逗号分隔的要排除的标签> [Annotations] Excluded: <逗号分隔的要排除的注解> [Teams Client] RetryEnable: <是否启用重试> # 默认: false RetryWaitTime: <重试间隔(秒)> # 默认: 60 MaxPayload: <最大 payload 限制(字节)> # 默认: 24576 (24KB)
在Prometheus Alertmanager配置中添加webhook接收器:
yamlreceivers: - name: 'teams-notifications' webhook_configs: - url: '[***] # Connector为配置文件中的连接器名称 send_resolved: true
可通过--templatepath参数指定自定义Jinja2模板:
bashprom2teams --templatepath /path/to/custom_template.j2
默认模板提供了基本的告警信息展示,包含告警状态、标签、注解等内容。自定义模板可根据需求调整消息格式和内容。
推荐使用uWSGI作为WSGI服务器运行:
bash# 安装时需添加--no-binary选项 pip install --no-binary :all: prom2teams # 使用uWSGI配置文件启动 prom2teams_uwsgi /path/to/uwsgi.ini
uWSGI配置示例:
ini[uwsgi] master = true processes = 5 socket = /tmp/prom2teams.sock chmod-socket = 777 vacuum = true env = APP_ENVIRONMENT=pro env = APP_CONFIG_FILE=/etc/default/prom2teams.ini
http://<host>:<port>http://<host>:<port>/v2启用指标收集:
--enablemetrics标志PROM2TEAMS_PROMETHEUS_METRICS=true指标端点:http://<host>:<port>/metrics,包含请求数、响应状态等监控指标。
idealista/prom2teams:2.4.0本项目基于Apache 2.0许可证开源,详见LICENSE。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务