Newer
Older
#!/usr/bin/env python3
# Script expects that Prometheus node_exporter is running on the local host
# https://github.com/prometheus/node_exporter
#
# The script queries node_exporter returns the total number of context
# switches as an integer, ex: 240080031436
#
# node_eporter field: node_context_switches_total
import requests
url = "http://localhost:9100/metrics"
# Send GET request to the URL
response = requests.get(url)
# Check if the request was successful (status code 200)
if response.status_code == 200:
# Filter lines containing "node_context_switches_total" and ignore lines
# starting with "#"
filtered_lines = [line for line in response.text.split(
"\n") if "node_context_switches_total" in line and not line.startswith("#")]
# Parse the second column of the filtered lines
for line in filtered_lines:
columns = line.split()
if len(columns) >= 2:
metric_name = columns[0]
metric_value = int(float(columns[1]))
# print(f"Metric: {metric_name}")
# print(f"Value: {metric_value}")
print(metric_value)
else:
print(
f"Error: Failed to retrieve data from {url}. Status code: {response.status_code}")