PageSourceSearch

https://retina.sh/assets/js/1127e666.a43bac57.js

js retina.sh collected 2026-10-03 19:19:36 UTC 24,985 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkretina=globalThis.webpackChunkretina||[]).push([[8689],{241(A,e,n){n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"Troubleshooting/basic-metrics","title":"Basic Metrics","description":"Overview","source":"@site/../docs/06-Troubleshooting/basic-metrics.md","sourceDirName":"06-Troubleshooting","slug":"/Troubleshooting/basic-metrics","permalink":"/docs/Troubleshooting/basic-metrics","draft":false,"unlisted":false,"editUrl":"https://github.com/microsoft/retina/blob/main/docs/../docs/06-Troubleshooting/basic-metrics.md","tags":[],"version":"current","frontMatter":{},"sidebar":"mainSidebar","previous":{"title":"Data Aggregation","permalink":"/docs/Concepts/data-aggregation"},"next":{"title":"BPF Trace (bpftrace)","permalink":"/docs/Troubleshooting/bpftrace"}}');var i=n(4848),a=n(8453);const s={},r="Basic Metrics",c={},o=[{value:"Overview",id:"overview",level:2},{value:"Metrics are not being generated or showing up in Grafana dashboards",id:"metrics-are-not-being-generated-or-showing-up-in-grafana-dashboards",level:2},{value:"Check Retina pods are running",id:"check-retina-pods-are-running",level:3},{value:"Check Retina Pod Logs",id:"check-retina-pod-logs",level:3},{value:"Check Retina ConfigMap",id:"check-retina-configmap",level:3},{value:"Check Retina Metrics are being generated",id:"check-retina-metrics-are-being-generated",level:3},{value:"Check if Managed Prometheus is scraping Retina metrics",id:"check-if-managed-prometheus-is-scraping-retina-metrics",level:3}];function d(A){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",...(0,a.R)(),...A.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.header,{children:(0,i.jsx)(e.h1,{id:"basic-metrics",children:"Basic Metrics"})}),"\n",(0,i.jsx)(e.h2,{id:"overview",children:"Overview"}),"\n",(0,i.jsxs)(e.p,{children:["Basic metrics is covered by the ",(0,i.jsx)(e.a,{href:"/docs/Metrics/modes/basic",children:"Metrics"})," section of the Retina documentation. This guide is intended to help you troubleshoot issues with basic metrics."]}),"\n",(0,i.jsx)(e.h2,{id:"metrics-are-not-being-generated-or-showing-up-in-grafana-dashboards",children:"Metrics are not being generated or showing up in Grafana dashboards"}),"\n",(0,i.jsx)(e.p,{children:"If you are not seeing metrics in Grafana, it is likely that the metrics are not being generated. To troubleshoot this issue, you can check the following:"}),"\n",(0,i.jsx)(e.h3,{id:"check-retina-pods-are-running",children:"Check Retina pods are running"}),"\n",(0,i.jsx)(e.p,{children:"Check that all Retina pods are running. You can do this by running the following command:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl get pods -n kube-system -l k8s-app=retina\n"})}),"\n",(0,i.jsx)(e.p,{children:"If any of the pods are not running, you can describe the Pod to see what the issue is. You can do this by running the following command:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl describe pod -n kube-system <retina pod name>\n"})}),"\n",(0,i.jsx)(e.h3,{id:"check-retina-pod-logs",children:"Check Retina Pod Logs"}),"\n",(0,i.jsx)(e.p,{children:"If retina pods are running, you can check the logs for the Pod to see what the issue is. You can do this by running the following command:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl logs -n kube-system <retina pod name>\n"})}),"\n",(0,i.jsx)(e.p,{children:"you should see log lines like the following:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"2023-04-15T23:52:08.046Z        info    dropreason      dropreason/dropreason_linux.go:208      DropReason data collection complete\n2023-04-16T00:10:55.598Z        info    linuxutil       linuxutil/linuxutil.go:100      Updated ethTool metrics\n"})}),"\n",(0,i.jsx)(e.p,{children:"If you don't see the log lines, then the plugin is not running correctly."}),"\n",(0,i.jsx)(e.h3,{id:"check-retina-configmap",children:"Check Retina ConfigMap"}),"\n",(0,i.jsxs)(e.p,{children:["Please check ",(0,i.jsx)(e.code,{children:"retina-config"})," ConfigMap and make sure the plugins is enabled."]}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl get configmap retina-config -n kube-system -oyaml\n"})}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-yaml",children:'apiVersion: v1\ndata:\n  config.yaml: |-\n    apiServer:\n      host: 0.0.0.0\n      port: 10093\n    logLevel: info\n    enabledPlugin: ["dropreason","packetforward","linuxutil"]\n    metricsIntervalDuration: "10s"\n    enableTelemetry: false\nkind: ConfigMap\nmetadata:\n  annotations:\n    meta.helm.sh/release-name: retina\n    meta.helm.sh/release-namespace: kube-system\n  creationTimestamp: "2023-04-13T21:56:08Z"\n  labels:\n    app.kubernetes.io/managed-by: Helm\n  name: retina-config\n  namespace: kube-system\n  resourceVersion: "427462"\n  uid: 1d45f43a-2db5-4f93-a467-aca106ac3fcb\n'})}),"\n",(0,i.jsx)(e.h3,{id:"check-retina-metrics-are-being-generated",children:"Check Retina Metrics are being generated"}),"\n",(0,i.jsx)(e.p,{children:"You can check that metrics are being generated by calling the metrics endpoint. You can do this by running the following command from inside one of the nodes:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"curl http://<retina-pod-ip>:10093/metrics | grep -i retina\n"})}),"\n",(0,i.jsx)(e.p,{children:"You should see metrics like the following:"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:'# HELP retina_forward_bytes Total forwarded bytes\n# TYPE retina_forward_bytes gauge\nretina_forward_bytes{direction="egress"} 1.9064666952e+10\nretina_forward_bytes{direction="ingress"} 2.3619602627e+10\n# HELP retina_forward_count Total forwarded packets\n# TYPE retina_forward_count gauge\nretina_forward_count{direction="egress"} 4.3139614e+07\nretina_forward_count{direction="ingress"} 3.7254085e+07\n# HELP retina_interface_stats Interface Statistics\n# TYPE retina_interface_stats gauge\nretina_interface_stats{interface_name="eth0",
1statistic_name="vf_rx_bytes"} 1.2679472174e+10\nretina_interface_stats{interface_name="eth0",statistic_name="vf_rx_packets"} 1.2948929e+07\n# HELP retina_ip_connection_stats IP connections Statistics\n# TYPE retina_ip_connection_stats gauge\nretina_ip_connection_stats{statistic_name="InECT0Pkts"} 34713\nretina_ip_connection_stats{statistic_name="InNoECTPkts"} 3.8893357e+07\nretina_ip_connection_stats{statistic_name="InOctets"} 1.6718610902e+10\nretina_ip_connection_stats{statistic_name="OutOctets"} 2.7768258214e+10\n# HELP retina_tcp_connection_remote number of active TCP connections by remote address\n# TYPE retina_tcp_connection_remote gauge\nretina_tcp_connection_remote{address="0.0.0.0",port="0"} 8\nretina_tcp_connection_remote{address="10.0.0.1",port="443"} 1\nretina_tcp_connection_remote{address="10.224.0.105",port="7070"} 1\n# HELP retina_tcp_connection_stats TCP connections Statistics\n# TYPE retina_tcp_connection_stats gauge\nretina_tcp_connection_stats{statistic_name="DelayedACKLocked"} 107\n# HELP retina_tcp_state number of active TCP connections by state\n# TYPE retina_tcp_state gauge\nretina_tcp_state{state="CLOSE_WAIT"} 1\nretina_tcp_state{state="ESTABLISHED"} 16\nretina_tcp_state{state="FIN_WAIT1"} 1\nretina_tcp_state{state="FIN_WAIT2"} 1\nretina_tcp_state{state="LAST_ACK"} 1\nretina_tcp_state{state="LISTEN"} 8\nretina_tcp_state{state="SYN_SENT"} 1\nretina_tcp_state{state="TIME_WAIT"} 89\n# HELP retina_udp_connection_stats UDP connections Statistics\n# TYPE retina_udp_connection_stats gauge\nretina_udp_connection_stats{statistic_name="ACTIVE"} 5\n'})}),"\n",(0,i.jsx)(e.p,{children:"If you are not seeing metrics like the above, then the plugin is not running correctly. Please check retina config map and make sure the plugins is enabled."}),"\n",(0,i.jsx)(e.h3,{id:"check-if-managed-prometheus-is-scraping-retina-metrics",children:"Check if Managed Prometheus is scraping Retina metrics"}),"\n",(0,i.jsx)(e.p,{children:"If you are using managed Prometheus, you can check if it is scraping the retina metrics by following below steps."}),"\n",(0,i.jsxs)(e.ol,{children:["\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"Check if AMA metrics pods are running"}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl get pods -n kube-system -l dsName=ama-metrics-node\n"})}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"If the AMA metrics pods are running, port forward one of them to check if it can identify the Retina agent pod on the same node."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl port-forward -n kube-system <ama-metrics-pod-name> 9090:9090\n"})}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"Open the URL below in your browser to check if the AMA pod is targeting the Retina agent pod."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"http://localhost:9090/targets\n"})}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"alt text",src:n(3272).A+"",width:"2687",height:"346"})}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"Verify if service discovery is detecting the Retina agent pod."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"http://localhost:9090/service-discovery\n"})}),"\n",(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.img,{alt:"alt text",src:n(3843).A+"",width:"1238",height:"442"}),"\n",(0,i.jsx)(e.img,{alt:"alt text",src:n(8568).A+"",width:"1033",height:"316"})]}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"If the Retina agent pod is not discovered, check the Prometheus configuration and ensure the Retina pod's scrape job is included in the scrape config."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"http://localhost:9090/config\n"})}),"\n",(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:"alt text",src:n(1832).A+"",width:"1063",height:"1115"})}),"\n"]}),"\n",(0,i.jsxs)(e.li,{children:["\n",(0,i.jsx)(e.p,{children:"If the Retina pod's scrape job is missing in the Prometheus config, check the ama-metrics-node config map for the presence of this job or the relevant setting."}),"\n",(0,i.jsx)(e.pre,{children:(0,i.jsx)(e.code,{className:"language-shell",children:"kubectl get configmap ama-metrics-prometheus-config-node -n kube-system -oyaml\n"})}),"\n"]}),"\n"]})]})}function l(A={}){const{wrapper:e}={...(0,a.R)(),...A.components};return e?(0,i.jsx)(e,{...A,children:(0,i.jsx)(d,{...A})}):d(A)}},1832(A,e,n){n.d(e,{A:()=>t});const t=n.p+"assets/images/prom-retina-config-f4b866e6cdd179e8bd2b099b434194fb.png"},3843(A,e,n){n.d(e,{A:()=>t});const t=n.p+"assets/images/prom-retina-service-discovery1-8f15efa76f985817c8578f16eaf0c818.png"},8568(A,e,n){n.d(e,{A:()=>t});const t="data:image/png;base64,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IhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBESAAAAAAkQgIAAAAgERIAAAAAiZAAAAAASIQEAAAAQCIkAAAAABIhAQAAAJAICQAAAIBCxP8Hcs+pUcu2df4AAAAASUVORK5CYII="},3272(A,e,n){n.d(e,{A:()=>t});const t=n.p+"assets/images/prometheus-retina-targets-3ceb4a70b216ede9a8c99f4427620c3e.png"},8453(A,e,n){n.d(e,{R:()=>s,x:()=>r});var t=n(6540);const i={},a=t.createContext(i);function s(A){const e=t.useContext(a);return t.useMemo(function(){return"function"==typeof A?A(e):{...e,...A}},[e,A])}function r(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(i):A.components||i:s(A.components),t.createElement(a.Provider,{value:e},A.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.