黑名单¶
通过设置黑名单,可以过滤掉符合条件的不同类型的数据。配置黑名单以后,符合条件的数据不再上报到观测云工作空间,帮助您节约数据存储费用。
前提条件¶
-
如需配置除日志以外的其他数据,DataKit 版本需高于1.4.7;
-
若在
datakit.conf文件中若配置了 Filter 过滤器,此处配置的黑名单将不再生效。
新建黑名单¶
注意
-
若只需要为日志数据创建黑名单,可直接前往日志 > 黑名单进行配置;
-
数据类型支持字符串、整数、浮点三种类型;
-
若数据来源是日志,则在功能菜单日志 > 黑名单下会同步创建一条日志过滤规则,反之亦然。
数据来源¶
黑名单名称根据数据来源自动生成,包含日志、基础对象、资源目录、网络、应用性能监测、用户访问监测、事件、指标、Profile。
输入字段名称、字段值等信息后,后续通过 DataKit 配置数据来源和字段并上报数据后即可生效。
| 数据类型 | 数据来源(支持自定义预设) |
|---|---|
| 日志 | 日志来源(source),如 nginx 等 |
| 基础对象 | 类别(class),如 HOST 等 |
| 资源目录 | 类别(class),如 MySQL 等 |
| 网络 | 来源(source),如 netflow,httpflow |
| 应用性能监测 | 服务(service),如 redis 等;可选择“全部服务” |
| 用户访问监测 | 应用(app_id) |
| 事件 | 来源(source),如 monitor 等 |
| 指标 | 指标集,如 cpu 等 |
| Profile | 服务(service) |
过滤规则¶
| 配置项 | 说明 |
|---|---|
| 条件关系 | 或/OR):满足任意一条规则即过滤;且/AND):满足所有规则才过滤 |
| 字段名 | 查看器“显示列”中的字段名,区分大小写,需完全匹配 |
| 字段值 | 支持单值、多值(英文逗号分隔)、正则表达式 |
| 操作符 | in(精准匹配,包含)not in(精准匹配,不包含)match(正则匹配)not match(正则不匹配) |
字段值格式说明¶
| 类型 | 输入格式 | 示例 |
|---|---|---|
| 单值 | 直接输入 | error |
| 多值 | 英文逗号分隔,无空格 | ok,info,debug |
| 正则 | 直接输入正则表达式 | ^test-.* |
操作符说明¶
1. 正则语法
使用 Go 标准正则语法(RE2)。
常用示例:
-
^prod-:匹配以prod-开头的字符串 -
.*\.test\.:匹配包含.test.的字符串
2. 精准匹配说明
in / not in 为完全匹配,区分大小写。例如 status in error 只匹配 error,不匹配 ERROR 或 error_msg。
规则示例¶
以下示例中:
- 定义黑名单的名称为“网络设备”;
- 不添加描述;
- 选择过滤基础对象数据,并且只过滤通过 SNMP 采集的对象数据;
-
选择“所有“的条件关系,并定义一条规则:设备名为
switch-s5700的 SNMP 网络设备数据不会上报到观测云。- 字段名:
device_hostname - 操作符:
in(包含) - 字段值:
switch-s5700
- 字段名:
-
确定。
以上示例是一个标准的黑名单使用场景:
用户通过 SNMP 采集网络设备数据,但不想监控某台特定设备(switch-s5700),于是通过黑名单过滤掉该设备的数据,节省存储费用。
验证黑名单生效¶
- 等待生效:配置后等待至少 10 秒(DataKit 每 10 秒拉取一次配置);
- 对比数据:在查看器选择配置前后的相同时间段,对比数据条数是否减少;
- 检查配置下发:在 DataKit 主机查看
/usr/local/datakit/data/.pull文件,确认黑名单配置已保存。
列表操作¶
您可通过以下操作来管理黑名单列表:
-
根据不同的数据类型进行筛选;
-
在搜索栏输入黑名单名称进行搜索定位;
-
启用/禁用黑名单;
-
修改已经创建的数据过滤规则;
-
删除已有的过滤规则。删除后,数据将正常上报到工作空间;
-
点击 ,可批量导出、批量删除黑名单;
-
可通过导入 JSON 文件的方式创建黑名单,但需确保该文件为观测云提供的配置文件。
注意事项¶
-
若在安装配置 DataKit 时,在
datakit.conf文件中配置了黑名单过滤,则观测云中配置的黑名单规则不会对其生效; -
DataKit 每 10 秒会拉取一次数据。因此,黑名单配置后不会立即生效,需要等待至少 10 秒时间;
-
黑名单配置完成后,统一保存在 DataKit 的目录
/usr/local/datakit/data下的.pull文件中; - 黑名单过滤在 DataKit 端执行,被过滤的数据不会传输到观测云,无法恢复。
