跳转至

采集器「华为云-RDS 错误日志统计采集器」配置手册

阅读本文前,请先阅读:

使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包

本脚本的代码运行依赖 RDS 实例对象采集,如果未配置 RDS 的自定义对象采集,错误日志脚本无法采集到错误日志数据

1. 配置结构

本采集器配置结构如下:

字段 类型 是否必须 说明
region_projects dict 必须 所需采集数据的「地域 - 项目 ID」列表
region_projects[#] str:list 必须 键值对中:
Key 代表地域(如:'cn-north-4'
Value 代表该地域下所需采集的项目 ID 列表
总表见附录
log_level str 可选 所需采集错误日志的日志等级,可选参数:ALL, INFO, LOG, NOTE, WARNING, ERROR, FATAL, PANIC

日志等级严重程度从低到高分别为 ALL, INFO, LOG, NOTE, WARNING, ERROR, FATAL, PANIC ,不配置则为采集全部等级日志,当配置为某一等级时则采集指定等级及更高等级的日志,默认配置为采集日志等级 ERROR 及更高等级日志。例如当 log_level 配置为 WARNING 时,采集 WARNING, ERROR, FATAL, PANIC 等级的日志

2. 配置示例

指定地域

采集cn-north-4地域对应项目的 RDS 错误日志数据

Python
1
2
3
4
5
collector_configs = {
    'region_projects': {
        'cn-north-4': ['c631f046252d4exxxxxxxxxxx', '15c6ce1c12da40xxxxxxxx9'],
    }
}

指定日志等级

采集 ERROR 级别及更高级别的错误日志

Python
1
2
3
collector_configs = {
    'log_level': 'ERROR'
}

3. 数据上报格式

数据正常同步后,可以在观测云的「日志」中查看数据。

上报的数据示例如下:

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
  "measurement": "huaweicloud_rds_errorlog",
  "tags": {
    "name"                   : "4e0323877e5axxxxxxxxxxxxxxx61in01",
    "database"               : "test",
    "type"                   : "SELECT",
    "RegionId"               : "cn-north-4",
    "account_name"           : "脚本开发用华为云账号",
    "charge_info_charge_mode": "postPaid",
    "cloud_provider"         : "huaweicloud",
    "enable_ssl"             : "False",
    "id"                     : "4e0323877e5axxxxxxxxxxxxb61in01",
    "instance_name"          : "rds-xxxxx",
    "port"                   : "3306",
    "project_id"             : "c631f046252d4exxxxxxxxxx62d48585",
    "security_group_id"      : "d13ebb59-d4fe-xxxx-xxxx-c22bcea6f987",
    "status"                 : "ACTIVE",
    "time_zone"              : "UTC+08:00",
    "level"                  : "NOTE",
  },
  "fields": {
    "content"  : "Shutting down plugin '",
    "time"     : "2023-04-25T06:27:10Z",
    "message"  : "{日志 JSON 数据}"
  }
}

4. 注意事项

tags、fields 中的字段可能会随后续更新有所变动

fields.message 为 JSON 序列化后字符串

5. 故障排除

运行程序时,可能会遇到如下问题报错:

Text Only
1
!!!!!! HuaweiCloud client.do_api Error Message: ClientRequestException - {status_code:404,request_id:a6ade677c6a4659ede84e24a2f3b25a3,error_code:DBS.280110,error_msg:Selected DB instance does not exist. }

错误提示后面会打印本次请求的相关信息, 如:

Text Only
1
!!!!!! HuaweiCloud client.do_api resource:rds, resource_path:/v3/c631ff253c62d48585/instances/c37ab0506e9a183394in01/error-logs, r_p_params:{'project_id': 'c631f04653c62d48585'}, region: cn-north-4, project_id: c631f04625da452d48585, method:POST, root_domain: myhuaweicloud.com, params: {'instance_id': 'c37ab0506e9a4298b39075983394in01', 'body': {'start_time': '2023-04-26T05:01:22+0000', 'end_time': '2023-04-26T07:01:22+0000', 'limit': 60, 'level': 'PANIC'}}

原因:某个 RDS 实例对应的错误日志数据时,该实例已经被释放了,造成接口抛错

解决方法:忽略即可

X. 附录

HuaWeiCloud-RDS「地域」

请参考 HuaWeiCloud 官方文档:

HuaWeiCloud-RDS「错误日志信息说明文档」

请参考 HuaWeiCloud 官方文档: