Prometheus Notes
From Federal Burro of Information
PromQL
node exporter:
node_memory_MemAvailable_bytes{job=~"myjob.*"} / on ( instance ) node_memory_MemTotal_bytes{job=~"myjob.*"}
node_memory_MemFree_bytes{job=~"myjob.*"} / on ( instance ) node_memory_MemTotal_bytes{job=~"myjob.*"}
sum(kube_pod_container_resource_requests_cpu_cores) / sum(kube_node_status_capacity_cpu_cores) * 100
topk( 10, count({job="prometheus"}) by (__name__) )
renaming metrics
,pre> scrape_configs: - job_name: sql
targets: [172.21.132.39:41212] metric_relabel_configs:
- source_labels: ['prometheus_metric_name']
target_label: '__name__' regex: '(.*[^_])_*' replacement: '${1}'
- regex: prometheus_metric_name
action: labeldrop
turns this:
query_result_dm_os_performance_counters{ counter_instance="ex01", counter_name="log file(s) size (kb)", prometheus_metric_name="sqlserver_databases", }
into :
sqlserver_databases{ counter_instance="ex01", counter_name="log file(s) size (kb)", }
resources
https://timber.io/blog/promql-for-humans/
https://www.weave.works/blog/promql-queries-for-the-rest-of-us/
https://promcon.io/2018-munich/slides/taking-advantage-of-relabeling.pdf
https://medium.com/@valyala/promql-tutorial-for-beginners-9ab455142085
https://www.robustperception.io/extracting-full-labels-from-consul-tags
https://blog.freshtracks.io/prometheus-relabel-rules-and-the-action-parameter-39c71959354a