为DNS配置日志云端结构化解析
应用场景
日志搜索与分析是运维中不可或缺的一环。日志接入成功后,云日志服务LTS支持对采集成功的日志数据进行搜索与分析。通过合理的日志收集、高效的搜索方法和专业的分析工具,可以实现对系统或应用的全面监控和精细化管理。
执行搜索与分析前,需要将上报的日志进行结构化配置和索引配置。结构化后的数据具有统一的长度和格式,能够显著提升搜索与分析的效率和准确性。
云日志服务LTS目前支持五种日志结构化方式,分别是正则分析、JSON、分隔符、Nginx和结构化模板。您可以根据日志内容的实际场景进行选择。
本文主要介绍如何为DNS解析器配置日志云端结构化解析以及DNS服务常用的SQL语句。
约束与限制
您的业务所在区域已开通DNS解析器功能。
配置流程
实施步骤
- 创建日志组。
创建日志组,请参见创建日志组。
配置DNS访问日志,请参见配置DNS访问日志。
- 创建日志流。
创建日志流,请参见创建日志流。
- 配置云端结构化解析。
- 日志流创建完成后,单击页面右上角的“日志设置”。
- 选择“云端结构化解析”,根据界面提示配置相关参数。
- 保留原始日志:打开保留原始日志开关后,原始日志将作为content字段的值存储到云日志服务。本实践保持默认打开。
- 上传解析失败日志:打开上传解析失败日志开关后,原始日志将作为_content_parse_fail_字段的值上传到云日志服务。本实践保持默认关闭。
- 结构化方式:目前支持5种日志结构化方式,请根据日志内容的实际场景选择。本实践选择结构化模板。
- 选择模板:本实践选择系统模板中的“DNS解析请求日志”。
日志示例如下,提取的关键字段说明如表1所示。
2025-04-16 10:23:56.377 ws-api-hu.xfyun.cn. A NOERROR UDP cnnorth4a CNAME_hd-kaicp.xf-gtm.com.|A_120.92.238.203|A_120.92.238.23|A_120.92.238.24|A_120.92.238.30 192.168.0.8 d3b08f84-12ef-411f-8eae-5c2726f42c14
表1 DNS解析请求日志关键字段 参数
描述
取值示例
Time
时间
2025-04-16 10:23:56.377
QueryName
解析域名
ws-api-hu.xfyun.cn.
QueryType
解析类型
A
Rcode
响应码
NOERROR
Protocol
协议
UDP
DNS-Region
区域
cnnorth4a
Answer
响应信息
CNAME_hd-kaicp.xf-gtm.com.|A_120.92.238.203|A_120.92.238.23|A_120.92.238.24|A_120.92.238.30
Client
客户端
192.168.0.8
VpcId
VPC ID
d3b08f84-12ef-411f-8eae-5c2726f42c14
- 单击“保存”。
- 配置索引。
- 单击日志流页面右上角的“日志设置”。
- 选择“索引配置”,在字段索引处单击“自动配置”,其余参数保持默认配置。
步骤3.b中提取的关键字段将被自动配置为索引。
- 单击“确定”,配置索引的字段会显示在“日志搜索”下。
- 创建定时SQL。
- 创建告警规则。
- 单击日志流页面右上角的“日志设置”。
- 选择“告警规则”,单击“创建”。
- 根据界面提示配置相关参数。
详细请参见配置日志告警规则。
- 配置DNS访问日志。
- 进入解析器列表页面。
- 单击“访问日志”,进入访问日志页面。
- 查看DNS访问日志。
- 在访问日志列表中,在需要查看的访问日志所在行单击“查看详细日志”。
- 单击日志流名称,可查看该流日志记录的详细信息。
日志显示示例如下,日志字段说明如表2所示。不支持修改日志格式。
{ "content": "2024-07-02 09:28:00.304 baidu.com. A NOERROR TCP cnsouthwest2d _ 192.168.0.138 c1e159ce-ac25-4908-8e31-8ff73ad2f57d", "_resource_id": "c1e159ce-ac25-4908-8e31-8ff73ad2f57d", "_resource_name": "c1e159ce-ac25-4908-8e31-8ff73ad2f57d", "_service_type": "DNS", "category": "LTS", "collectTime": 1719883683977 }
表2 字段说明 参数
描述
取值说明
取值示例
content
DNS解析日志
字符串
2024-07-02 09:28:00.304 baidu.com. A NOERROR TCP cnsouthwest2d _ 192.168.0.138 c1e159ce-ac25-4908-8e31-8ff73ad2f57d
_resource_id
资源id
uuid
95c2b814-99dc-939a-e811-ae84c61ea9ee
_resource_name
资源名称
Resource_id对应的名称
95c2b814-99dc-939a-e811-ae84c61ea9ee
_service_type
流日志所属服务
固定值:DNS
DNS
category
日志类别
固定值:LTS
LTS
collectTime
LTS服务日志收集时间
整型
1704158708902
DNS常用SQL语句
本节提供DNS服务常用的SQL语句,如您有其他统计需求,请提交工单联系我们补充。
- 解析请求量统计分析
- 解析请求量支持时间条件查询
select time_series(__time, 'PT1M', 'yyyy-MM-dd HH:mm:ss', '0', '+08:00') as t_time, count(*) as num group by t_time order by t_time
- 解析请求量支持域名名称查询
select time_series(__time, 'PT1M', 'yyyy-MM-dd HH:mm:ss', '0', '+08:00') as t_time, count(*) as num where QueryName='域名.' group by t_time order by t_time
- 解析请求量支持时间条件查询
- 解析请求来源分析
高频请求来源IP解析请求量排名
SELECT Client, COUNT(*) AS request_count GROUP BY Client ORDER BY request_count LIMIT 10
- 解析应答特征分析
- 域名解析应答状态占比
SELECT Rcode, count(*) as rcode_count group by Rcode order by rcode_count
- 否定应答域名解析请求量排序
SELECT QueryName, count(*) as rcode_count where Rcode='NXDOMAIN' group by QueryName order by rcode_count
- 域名解析应答状态占比
- 解析应答明细分析
关键词查询
SELECT * where 待查询字段='期望值'