Skip to content

Commit 39d608a

Browse files
DmitriyMVsmira
authored andcommitted
chore: provide more logging for dns requests
Annotate dns request debug log with additional fields like `proto` and `addr`. For #10308 Signed-off-by: Dmitriy Matrenichev <[email protected]> (cherry picked from commit bf0f910)
1 parent 2ca0d59 commit 39d608a

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

internal/pkg/dns/dns.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,13 @@ func (h *Handler) ServeDNS(ctx context.Context, wrt dns.ResponseWriter, msg *dns
118118
defer h.mx.RUnlock()
119119

120120
req := request.Request{W: wrt, Req: msg}
121-
122-
h.logger.Debug("dns request", zap.Stringer("data", msg))
121+
logger := h.logger.With(
122+
zap.Stringer("data", msg),
123+
zap.String("proto", req.Proto()),
124+
zap.String("question", req.QName()),
125+
zap.Stringer("local_addr", wrt.LocalAddr()),
126+
zap.Stringer("remote_addr", wrt.RemoteAddr()),
127+
)
123128

124129
var (
125130
called bool
@@ -131,6 +136,8 @@ func (h *Handler) ServeDNS(ctx context.Context, wrt dns.ResponseWriter, msg *dns
131136
called = true
132137
opts := proxy.Options{}
133138

139+
logger.Debug("making dns request", zap.String("upstream", ups.Addr()))
140+
134141
for {
135142
resp, err = ups.Connect(ctx, req, opts)
136143

@@ -168,18 +175,18 @@ func (h *Handler) ServeDNS(ctx context.Context, wrt dns.ResponseWriter, msg *dns
168175
}
169176

170177
if !req.Match(resp) {
171-
h.logger.Warn("dns response didn't match", zap.Stringer("data", resp))
178+
logger.Warn("dns response didn't match", zap.Stringer("data", resp))
172179

173180
return dns.RcodeFormatError, nil
174181
}
175182

176183
err = wrt.WriteMsg(resp)
177184
if err != nil {
178185
// We can't do much here, but at least log the error.
179-
h.logger.Warn("error writing dns response", zap.Error(err))
186+
logger.Warn("error writing dns response", zap.Error(err))
180187
}
181188

182-
h.logger.Debug("dns response", zap.Stringer("data", resp))
189+
logger.Debug("dns response", zap.Stringer("data", resp))
183190

184191
return dns.RcodeSuccess, nil
185192
}

0 commit comments

Comments
 (0)