自定义上报
0x01 关键信息
a. 适用场景
自定义指标上报的创建流程、数据模型查询和调试。
b. 创建流程
- 创建自定义上报:
monitor_web.custom_report.resources.CreateCustomTimeSeries - 创建 DataID:
metadata.resources.resources.CreateDataIDResource - 创建 TimeSeriesGroup:
metadata.resources.resources.CreateTimeSeriesGroupResource - 创建结果表:
metadata.models.result_table.ResultTable.create_result_table
0x02 代码片段
a. DataSource 数据结构
json
{
"bk_data_id": 564001,
"token": "b68743f4af7746a387ad7f726d7ba79f",
"data_name": "100729_custom_time_series_正式环境pod数据",
"data_description": "100729_custom_time_series_正式环境pod数据",
"mq_cluster_id": 129,
"mq_config_id": 16826,
"etl_config": "bk_standard_v2_time_series",
"is_custom_source": true,
"creator": "dathpan",
"create_time": 1708594288,
"last_modify_user": "dathpan",
"last_modify_time": 1708594288,
"type_label": "time_series",
"source_label": "custom",
"custom_label": null,
"source_system": "bkmonitorv3",
"is_enable": true,
"transfer_cluster_id": "default",
"is_platform_data_id": false,
"space_type_id": "bkcc",
"space_uid": "bkcc__100729"
}b. TimeSeriesGroup 数据结构
json
{
"bk_data_id": 564001,
"bk_biz_id": 100729,
"table_id": "100729_bkmonitor_time_series_564001.__default__",
"max_rate": -1,
"label": "application_check",
"is_enable": true,
"is_delete": false,
"creator": "dathpan",
"create_time": 1708594288,
"last_modify_user": "dathpan",
"last_modify_time": 1708594288,
"is_split_measurement": true,
"time_series_group_id": 7501,
"time_series_group_name": "正式环境pod数据"
}c. ResultTable 数据结构
json
{
"table_id": "100729_bkmonitor_time_series_564001.__default__",
"table_name_zh": "正式环境pod数据",
"is_custom_table": true,
"schema_type": "free",
"default_storage": "influxdb",
"creator": "dathpan",
"create_time": 1708594288,
"last_modify_user": "dathpan",
"last_modify_time": 1708594288,
"bk_biz_id": 100729,
"is_deleted": false,
"is_enable": true,
"label": "application_check",
"data_label": "prod_pod_data"
}d. 指标上报示例(Shell)
shell
current_timestamp=$(date +%s%3N)
printf -v metric_data '{
"data_id": 525129,
"access_token": "fixme:自定义上报 Token",
"data": [{
"metrics": {
"sand_cpu_load": 10,
"sand_mem_usage": 30
},
"target": "127.0.0.1",
"dimension": {
"module": "db",
"location": "guangdong"
},
"timestamp": %s
}]
}' "${current_timestamp}"
curl -g -X POST "http://<bkop 中心化集群域名>:10205/v2/push/" \
-H "Content-Type: application/json" \
-d "$metric_data"自定义上报周期调用节点管理轮训订阅:
metadata.task.custom_report.refresh_custom_report_2_node_man