Метрики Prometheus
Prometheus — это набор инструментов для мониторинга и оповещения систем с открытым исходным кодом. Система мониторинга собирает информацию о состоянии серверов и систем, а также может получать предупреждения о проблемах.
Объекты мониторинга называются целевыми объектами. Главное отличие от остальных систем мониторинга — метод сбора данных. Prometheus сам берет нужную ему информацию с серверов и устройств, обращаясь к целевым объектам при помощи языка PromQL.
Метрики хранятся в форме временных рядов, где каждая метрика сохраняется с соответствующим временным штампом и сопровождается дополнительными парами «ключ-значение», которые называются метками (labels).
Метрики доступны для получения по пути /metrics с указанием параметра api_key={api_key_value}
. У API-ключа должна быть привилегия «Метрики Prometheus» с операцией на Чтение. Пример окончательного URL может выглядеть так:
https://test.infomaximum.com/metrics?api_key=4952343e6e1448a69518f7b2523e340d
Собираются только метрики Java Virtual Machine.
Примеры метрик
Ниже приведены примеры метрик, которые собирает система.
jvm_memory_used_bytes
— количество используемой памяти в байтах:
# HELP jvm_memory_used_bytes Used bytes of a given JVM memory area.
# TYPE jvm_memory_used_bytes gauge
jvm_memory_used_bytes{area="heap"} 1.7151512E8
jvm_threads_started_total
— количество потоков, которые были запущены в JVM:
# HELP jvm_threads_started_total Started thread count of a JVM
# TYPE jvm_threads_started_total counter
jvm_threads_started_total 4842.0
jvm_threads_state
— количество потоков в определенном состоянии:
# HELP jvm_threads_state Current count of threads by state
# TYPE jvm_threads_state gauge
jvm_threads_state{state="BLOCKED"} 0.0
jvm_threads_state{state="NEW"} 0.0
jvm_threads_state{state="RUNNABLE"} 32.0
process_cpu_usage_percentage
— нагрузка процессора в процентах:
# HELP process_cpu_usage_percentage CPU usage in percentage. CPU load between 0 and 100.
# TYPE process_cpu_usage_percentage gauge
process_cpu_usage_percentage 4.633415099482148
node_filesystem_size_bytes
— количество свободной, общей и занятой памяти на диске в байтах:
# HELP node_filesystem_size_bytes Filesystem size in bytes.
# TYPE node_filesystem_size_bytes gauge
node_filesystem_size_bytes{type="Free"} 1.12989249536E11
node_filesystem_size_bytes{type="Total"} 5.11440576512E11
node_filesystem_size_bytes{type="Usage"} 3.98451326976E11
node_memory_bytes
— количество свободной, общей и занятой оперативной памяти в байтах:
# HELP node_memory_bytes Process memory in bytes.
# TYPE node_memory_bytes gauge
node_memory_bytes{type="Free"} 1.7631875072E10
node_memory_bytes{type="Total"} 3.3142767616E10
node_memory_bytes{type="Usage"} 1.5510892544E10
http_server_requests_seconds
— количество http-запросов к системе Proceset и время выполнения этих запросов в секундах:
# TYPE http_server_requests_seconds histogram
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.005"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.01"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.025"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.05"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.1"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.25"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="0.5"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="1.0"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="2.5"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="5.0"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="10.0"} 2
http_server_requests_seconds_bucket{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304",le="+Inf"} 2
http_server_requests_seconds_count{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304"} 2
http_server_requests_seconds_sum{method="GET",path="/_build/static/css/main.d0c31d4330cd73f2.css",status="304"} 0.0031729999999999996
Ошибки при сборе метрик
Код ошибки | Описание |
---|---|
auth_ambiguity | Метрики запрошены с использованием API-ключа при входе в систему Proceset |
illegal_apikey_exception | API-ключ содержит менее 8 символов |
invalid_credentials | API-ключ не существует в системе |
access_denied | У API-ключа недостаточно привилегий |
Была ли статья полезна?