diff options
Diffstat (limited to 'docs/usecases/contiv/Prometheus.md')
-rw-r--r-- | docs/usecases/contiv/Prometheus.md | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/docs/usecases/contiv/Prometheus.md b/docs/usecases/contiv/Prometheus.md deleted file mode 100644 index ba61be3c739..00000000000 --- a/docs/usecases/contiv/Prometheus.md +++ /dev/null @@ -1,159 +0,0 @@ -# Prometheus Statistics - -Each contiv-agent exposes statistics in Prometheus format at port `9999` by default. -Exposed data is split into two groups: -- `/stats` provides statistics for VPP interfaces managed by contiv-agent - Prometheus data is a set of counters with labels. For each interface, - the following counters are exposed: - * *inPackets* - * *outPackets* - * *inBytes* - * *outBytes* - * *ipv4Packets* - * *ipv6Packets* - * *outErrorPackets* - * *dropPackets* - * *inMissPackets* - * *inNobufPackets* - * *puntPackets* - - Labels let you add additional information to a counter. The *interfaceName* and *node* - labels are specified for all counters. If an interface is associated with a particular - pod, then the *podName* and *podNamespace* labels are also specified for its counters; - otherwise, a placeholder value (`--`) is used (for example, for node interconnect - interfaces). -- `/metrics` provides general go runtime statistics - -To access Prometheus stats of a node you can use `curl localhost:9999/stats` from the node. The output of contiv-agent running at k8s master node looks similar to the following: - -``` -$ curl localhost:9999/stats -# HELP dropPackets Number of dropped packets for interface -# TYPE dropPackets gauge -dropPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -dropPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 52 -dropPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 9 -dropPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 12 -dropPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP inBytes Number of received bytes for interface -# TYPE inBytes gauge -inBytes{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -inBytes{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 24716 -inBytes{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 726 -inBytes{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 6113 -inBytes{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP inErrorPackets Number of received packets with error for interface -# TYPE inErrorPackets gauge -inErrorPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -inErrorPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 0 -inErrorPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -inErrorPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 0 -inErrorPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP inMissPackets Number of missed packets for interface -# TYPE inMissPackets gauge -inMissPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -inMissPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 0 -inMissPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -inMissPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 0 -inMissPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP inNobufPackets Number of received packets ??? for interface -# TYPE inNobufPackets gauge -inNobufPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -inNobufPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 0 -inNobufPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -inNobufPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 0 -inNobufPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP inPackets Number of received packets for interface -# TYPE inPackets gauge -inPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -inPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 97 -inPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 9 -inPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 60 -inPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP ipv4Packets Number of ipv4 packets for interface -# TYPE ipv4Packets gauge -ipv4Packets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -ipv4Packets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 68 -ipv4Packets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -ipv4Packets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 52 -ipv4Packets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP ipv6Packets Number of ipv6 packets for interface -# TYPE ipv6Packets gauge -ipv6Packets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -ipv6Packets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 26 -ipv6Packets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 9 -ipv6Packets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 8 -ipv6Packets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP outBytes Number of transmitted bytes for interface -# TYPE outBytes gauge -outBytes{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -outBytes{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 5203 -outBytes{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -outBytes{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 17504 -outBytes{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP outErrorPackets Number of transmitted packets with error for interface -# TYPE outErrorPackets gauge -outErrorPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -outErrorPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 0 -outErrorPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -outErrorPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 0 -outErrorPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP outPackets Number of transmitted packets for interface -# TYPE outPackets gauge -outPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -outPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 49 -outPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -outPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 45 -outPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 -# HELP puntPackets Number of punt packets for interface -# TYPE puntPackets gauge -puntPackets{interfaceName="GigabitEthernet0/9/0",node="dev",podName="--",podNamespace="--"} 0 -puntPackets{interfaceName="tap-vpp2",node="dev",podName="--",podNamespace="--"} 0 -puntPackets{interfaceName="tap0e6439a7a934336",node="dev",podName="web-667bdcb4d8-pxkfs",podNamespace="default"} 0 -puntPackets{interfaceName="tap5338a3285ad6bd7",node="dev",podName="kube-dns-6f4fd4bdf-rsz9b",podNamespace="kube-system"} 0 -puntPackets{interfaceName="vxlanBVI",node="dev",podName="--",podNamespace="--"} 0 - -``` - - -In order to browse stats in web UI Prometheus, it must be started locally by following the information in -the [Prometheus Getting Started Guide](https://prometheus.io/docs/prometheus/latest/getting_started/). - -If you start Prometheus on a node, the following sample config can be used: -```yaml -global: - scrape_interval: 15s - -scrape_configs: - - job_name: 'contiv_stats' - metrics_path: '/stats' - static_configs: - - targets: ['localhost:9999'] - - job_name: 'contiv_agent' - # metrics_path defaults to '/metrics' - static_configs: - - targets: ['localhost:9999'] -``` - -Once Prometheus is started with the specified config, you should be able access its web UI at -`localhost:9090`. -``` -tester@dev:~/Downloads/prometheus-2.1.0.linux-amd64$ ./prometheus --config.file=config.yml -``` - -If security features are enabled for the HTTP endpoint, then the config must be adjusted: -```yaml - - job_name: 'contiv_secured' - - scheme: https - basic_auth: - username: user - password: pass - metrics_path: /stats - tls_config: - insecure_skip_verify: true - # CA certificate to validate API server certificate with. - #[ ca_file: <filename> ] - static_configs: - - targets: ['localhost:9191'] -```
\ No newline at end of file |