如何自动将New Relic APM&Services事务报表发送至Slack
实现New Relic Transaction报表自动发送至Slack频道的方法
可以实现这个需求,以下是两种常用方案:
方案一:利用New Relic内置集成与告警规则
- 创建自定义仪表盘
进入New Relic APM & Services的Transaction模块,按「最慢平均响应时间」排序后,保存当前视图为自定义仪表盘,调整展示内容确保包含所需的API详情字段(如事务名称、平均响应时间、吞吐量等)。 - 配置Slack集成
在New Relic的「集成」页面找到Slack,完成账号授权绑定。 - 设置自动化通知
进入仪表盘的「告警设置」,创建触发条件(支持固定周期触发或响应时间阈值触发),通知渠道选择已绑定的Slack频道,设置发送频率,触发时会自动将仪表盘内容以图片或摘要形式推送到指定频道。
方案二:通过New Relic API+自定义脚本实现灵活推送
如果需要定制化内容格式,可通过API拉取数据后处理再发送:
- 获取New Relic API密钥
在New Relic账号的「API密钥」页面生成具有数据读取权限的密钥。 - 调用Transactions API拉取数据
使用NRQL查询按最慢平均响应时间排序的事务数据,示例查询语句:
通过New Relic API执行该查询,获取结构化的API详情数据。SELECT average(duration) FROM Transaction WHERE appName = '你的应用名称' FACET name ORDER BY average(duration) DESC LIMIT 10 - 编写脚本发送至Slack
用Python/Shell等语言编写脚本,将拉取到的数据整理成Slack支持的消息格式(如Markdown文本或附件),调用Slack Incoming Webhook API发送到指定频道,最后借助定时任务工具(如Linux的cron、Windows任务计划)设置定期执行,实现自动推送。
内容的提问来源于stack exchange,提问作者iamarunk
相关产品推荐
相关产品推荐

