Skip to content

wzh880801/apaas-metrics-deploy-tool

Repository files navigation

这是什么

本项目为飞书低代码平台的开源项目,提供 docker-compose 部署编排,一键部署 PrometheusGrafana 等服务,用于:

  1. 监听低代码平台应用指标上报事件并将对应指标数据写入到 Prometheus server
  2. 监听低代码平台应用观测事件/日志上报事件并将事件和日志存储到 Loki

同时,基于 Grafana 提供了预置的可视化看板和报警规则,使应用管理员和开发者 0 代码实现:

  1. 对应用指标的可视化运维与监控
  2. 更长的事件和日志存储时长,对事件和日志的可视化分析和监控报警,如对函数日志中特定的错误类型进行监控和报警
  • 内置的应用指标看板 应用指标看板

  • 使用 Grafana 的 metrics explore 对指标进行 breakdown 查看分析 指标下钻

  • 使用 Grafana 的 alert rules 创建报警规则 报警规则

  • 飞书中收到的告警推送 oapi报警 函数报警

  • Grafana 中通过 LogQL 对事件和日志进行查询分析 事件日志

如何部署

安装 docker-compose

安装参考链接:

https://github.com/docker/compose?tab=readme-ov-file#docker-compose-v2

Clone 仓库或下载 zip 包后解压

git clone https://github.com/wzh880801/apaas-metrics-deploy-tool.git

修改 docker-compose.yml 中对应配置

  • 修改 grafana 服务中的 ip 地址为你服务器的 ip 地址

    这个地址用于访问 grafana 的 web 页面,根据需要修改为内网或外网 ip 地址。 外网地址时注意修改对应的安全组或防火墙规则放行 3000 端口

    GF_SERVER_DOMAIN: 10.231.249.10
    GF_SERVER_ROOT_URL: http://10.231.249.10:3000
  • 配置 grafana_webhook_addin 服务中对应的 webhook 告警地址为你自己的飞书自定义机器人的 url

    可根据实际需要添加更多的告警机器人地址

    # 配置后,grafana 中的 webhook 地址: 
    # http://172.28.10.11:44444/webhook
    # 172.28.10.11 为 webhook_addin 服务对应的 ip 地址
    WEBHOOK_default: https://open.feishu.cn/open-apis/bot/v2/hook/2235deb4-0972-46db-852f-69fa6aa213bc
    
    # 配置后,grafana 中的 webhook 地址:
    # http://172.28.10.11:44444/webhook/openapi_alert
    # 172.28.10.11 为 webhook_addin 服务对应的 ip 地址
    WEBHOOK_openapi_alert: https://open.feishu.cn/open-apis/bot/v2/hook/2235deb4-0972-46db-852f-69fa6aa213bc
  • 配置 metrics_agent 服务中对应的飞书自建应用 APP_IDAPP_SECRET

    - APP_ID=cli_a59a471e0a7fd00d
    - APP_SECRET=LOplEasQrxvmWDiqa************

进入到工程根目录,拉起服务

sudo ./start.sh

bash docker-run

使用到的 agent-service 和 webhook addin

  • agent-service-node

    • 订阅应用指标上报事件,使用 Prometheus SDK 进行指标处理,暴露 metrics http endpoint 以便让 Prometheus server 抓取指标数据;
    • 订阅应用观测事件/观测日志上报事件,将事件和日志数据存储到 Loki 中,后续可以在 Grafana 中通过 LogQL 进行日志查询、可视化分析、监控报警等
  • webhook addin

    • 提供一个 http webhook,接收 grafana 推送的 webhook alert,将信息以飞书卡片消息的形式推送到对应的飞书自定义机器人

About

deploy tool for apaas app metrics

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages