采集器「腾讯云-WAF」配置手册¶
阅读本文前,请先阅读:
Tip
使用本采集器前,必须安装「集成 Core 核心包」及其配套的第三方依赖包
1. 配置结构¶
本采集器配置结构如下:
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
regions |
list | 必须 | 所需采集的地域列表 |
regions[#] |
str | 必须 | 地域 ID。如:'ap-guangzhou' 总表见附录 |
2. 配置示例¶
指定地域¶
采集上海地域的数据
配置过滤器(可选项)¶
本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 True|False - True:目标资源需要被采集。 - False 目标资源不需要被采集
支持筛选的对象属性:
属性 | 描述 |
---|---|
DomainId | 域名 ID |
Domain | 域名 |
InstanceId | 实例 ID |
InstanceName | 实例名称 |
Edition | 域名所属实例类型 |
Cname | cname 地址 |
ClsStatus | 访问日志开关状态 |
FlowMode | 负载均衡型 WAF 使用模式 |
Status | waf 开关状态 |
Engine | 规则引擎和 AI 引擎防护模式联合状态 |
AppId | 用户 ID |
State | 负载均衡型 WAF 域名 LB 监听器状态 |
Level | 实例版本信息 |
# 示例:开启过滤器,根据对象的 DomainId 和 Status 属性过滤,配置格式如下:
def filter_instance(instance):
'''
return True|False
'''
domain_id = instance['DomainId']
status = instance['Status']
if domain_id in ['xxx'] and status == 1:
return True
return False
###### Do not modify the following contents #####
from integration_core__runner import Runner
import integration_tencentcloud_waf__main as main
def run():
Runner(main.DataCollector(account, collector_configs, filters=[filter_instance])).run()
3. 数据上报格式¶
数据正常同步后,可以在 观测云 的「基础设施-资源目录」中查看数据。
上报的数据示例如下:
{
"measurement": "tencentcloud_waf",
"tags": {
"name" : "waf-xxxx",
"RegionId" : "ap-guangzhou",
"DomainId" : "waf-xxxx",
"Domain" : "www.xxx.com",
"InstanceId" : "waf-yyyy",
"Edition" : "clb-waf",
"Cname" : "f123db7d0817dc9c7a26e8c2d072xxx",
"InstanceName": "广州主实例",
"ClsStatus" : "1",
"FlowMode" : "1",
"Status" : "1",
"Engine" : "21",
"AppId" : "123456789",
"State" : "0",
"Level" : "3"
},
"fields": {
"CCList" : "{沙箱集群回源出口 IP 列表}",
"RsList" : "{生产集群回源出口 IP 列表}",
"Ports" : "{服务端口配置}",
"LoadBalancerSet": "{负载均衡器相关配置}",
"Note" : "备注",
"SrcList" : "{SAASWAF 源站 IP 列表}",
"CreateTime" : "2023-10-16 08: 53: 47",
"message" : "{实例 JSON 数据}"
}
}
Note
tags、fields 中的字段可能会随后续更新有所变动
Tip
tags.name 值为实例 ID,作为唯一标识
Tip
fields.message、fields.InstanceNode 为 JSON 序列化后字符串
X. 附录¶
请参考腾讯云官方文档: