dns clickhouse改造

This commit is contained in:
robin
2026-02-10 19:30:44 +08:00
parent 4812ad5aaf
commit 1bb8140a41
47 changed files with 2815 additions and 174 deletions

View File

@@ -0,0 +1,57 @@
package accesslogs
import (
"encoding/json"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
// DNSIngestLog DNS 访问日志单行结构JSONEachRow.
type DNSIngestLog struct {
Timestamp int64 `json:"timestamp"`
RequestId string `json:"request_id"`
NodeId int64 `json:"node_id"`
ClusterId int64 `json:"cluster_id"`
DomainId int64 `json:"domain_id"`
RecordId int64 `json:"record_id"`
RemoteAddr string `json:"remote_addr"`
QuestionName string `json:"question_name"`
QuestionType string `json:"question_type"`
RecordName string `json:"record_name"`
RecordType string `json:"record_type"`
RecordValue string `json:"record_value"`
Networking string `json:"networking"`
IsRecursive bool `json:"is_recursive"`
Error string `json:"error"`
NSRouteCodes []string `json:"ns_route_codes,omitempty"`
ContentJSON string `json:"content_json,omitempty"`
}
// FromNSAccessLog 将 pb.NSAccessLog 转为 DNSIngestLog.
func FromNSAccessLog(log *pb.NSAccessLog, clusterId int64) *DNSIngestLog {
if log == nil {
return nil
}
contentBytes, _ := json.Marshal(log)
return &DNSIngestLog{
Timestamp: log.GetTimestamp(),
RequestId: log.GetRequestId(),
NodeId: log.GetNsNodeId(),
ClusterId: clusterId,
DomainId: log.GetNsDomainId(),
RecordId: log.GetNsRecordId(),
RemoteAddr: log.GetRemoteAddr(),
QuestionName: log.GetQuestionName(),
QuestionType: log.GetQuestionType(),
RecordName: log.GetRecordName(),
RecordType: log.GetRecordType(),
RecordValue: log.GetRecordValue(),
Networking: log.GetNetworking(),
IsRecursive: log.GetIsRecursive(),
Error: log.GetError(),
NSRouteCodes: log.GetNsRouteCodes(),
ContentJSON: string(contentBytes),
}
}