Explorar o código

Merge pull request #89 from coroot/fix_dns_capturing

fix DNS request capturing
Nikolay Sivko %!s(int64=2) %!d(string=hai) anos
pai
achega
eae516b03d
Modificáronse 3 ficheiros con 3 adicións e 3 borrados
  1. 2 2
      containers/container.go
  2. 0 0
      ebpftracer/ebpf.go
  3. 1 1
      ebpftracer/ebpf/l7/dns.c

+ 2 - 2
containers/container.go

@@ -582,10 +582,10 @@ func (c *Container) onDNSRequest(r *l7.RequestData) map[netaddr.IP]string {
 		dnsReq := L7Requests[l7.ProtocolDNS]
 		c.dnsStats.Requests = prometheus.NewCounterVec(
 			prometheus.CounterOpts{Name: dnsReq.Name, Help: dnsReq.Help},
-			[]string{"request_type", "status"},
+			[]string{"request_type", "domain", "status"},
 		)
 	}
-	if m, _ := c.dnsStats.Requests.GetMetricWithLabelValues(t, status); m != nil {
+	if m, _ := c.dnsStats.Requests.GetMetricWithLabelValues(t, fqdn, status); m != nil {
 		m.Inc()
 	}
 	if r.Duration != 0 {

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
ebpftracer/ebpf.go


+ 1 - 1
ebpftracer/ebpf/l7/dns.c

@@ -45,7 +45,7 @@ int is_dns_response(char *buf, __u64 buf_size, __s16 *stream_id, __u32 *status)
     if (h.bits0 & DNS_OPCODE) {
        return 0;
     }
-    if (!(h.bits1 & DNS_Z)) {
+    if ((h.bits1 & DNS_Z)) {
         return 0;
     }
     h.qdcount = bpf_ntohs(h.qdcount);

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio