Skip to content

蓝鲸监控自定义上报 Python SDK,支持获取当前系统配置的 prometheus metrics 上报到蓝鲸监控中

License

Notifications You must be signed in to change notification settings

normal-wls/bk-monitor-report

 
 

Repository files navigation

license PRs Welcome codecov BK Pipelines Status

(English Documents Available)

Overview

蓝鲸监控自定义上报 Python SDK,支持获取当前系统配置的 prometheus metrics 上报到蓝鲸监控中

Features

  • [Basic] 蓝鲸监控自定义上报 API
  • [Basic] 将 prometheus metrics 转换为蓝鲸监控自定义上报指标
  • [Basic] 周期性上报守护进程
  • [Contrib] Celery worker metrics 自定义上报蓝图

Getting started

from bk_monitor_report import MonitorReporter 

reporter = MonitorReporter(
    data_id=123,  # 监控 Data ID
    access_token="xx",  # 自定义上报 Token
    target="test",   # 上报唯一标志符
    url="http://xxx:10205/v2/push/",  # 上报地址
) 

# 生成上报数据
reporter.generate_report_data()

# 手动进行上报
reporter.report()

# 启动守护进程周期性自动上报
reporter.start()

上报自定义事件

from bk_monitor_report import MonitorReporter 
reporter = MonitorReporter(
    data_id=123,  # 监控 Data ID
    access_token="xx",  # 自定义上报 Token
    target="test",   # 上报唯一标志符
    url="http://xxx:10205/v2/push/",  # 上报地址
) 

reporter.report_event(
    name="my_event",   # 事件名
    content="event content",   # 事件内容
    dimension={"a": "b"}  # 自定义维度
)

如何上报 celery worker 进程的数据

from bk_monitor_report import MonitorReporter 

reporter = MonitorReporter(
    data_id=123,  # 监控 Data ID
    access_token="xx",  # 自定义上报 Token
    target="test",   # 上报唯一标志符
    url="http://xxx:10205/v2/push/",  # 上报地址
) 
MonitorReportStep.setup_reporter(reporter)

# 初始化 celery app
app = Celery("proj")

# 如果worker非多进程模式,可以设置启动蓝图
from bk_monitor_report.contrib.celery import MonitorReportStep
app.steps["worker"].add(MonitorReportStep)

# 如果worker为多进程模式,可以通过监听进程初始化信号进行处理
from celery.signals import worker_process_init
worker_process_init.connect(reporter.start, weak=False)

Installation

pip install bk-monitor-report

Usage

Roadmap

Support

BlueKing Community

  • BK-CI:蓝鲸持续集成平台是一个开源的持续集成和持续交付系统,可以轻松将你的研发流程呈现到你面前。
  • BK-BCS:蓝鲸容器管理平台是以容器技术为基础,为微服务业务提供编排管理的基础服务平台。
  • BK-PaaS:蓝鲸PaaS平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理SaaS应用。
  • BK-SOPS:标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是蓝鲸体系中一款轻量级的调度编排类SaaS产品。
  • BK-CMDB:蓝鲸配置平台是一个面向资产及应用的企业级配置管理平台。

Contributing

如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。

License

基于 MIT 协议, 详细请参考LICENSE

About

蓝鲸监控自定义上报 Python SDK,支持获取当前系统配置的 prometheus metrics 上报到蓝鲸监控中

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%