Мониторинг приложения

Описание мониторинга приложения

Для стабильной работы системы важно понимать состояние функционирования всех ее компонентов. Информация о доступности, производительности компонентов позволяет оперативно реагировать на проблемы и производить качественную диагностику, заранее узнавать о том, что такие проблемы могут наступить в будущем, оценивать влияние тех или иных изменений на работу системы, прогнозировать потребности по масштабированию.

Один из лучших способов получения этой информации - это система мониторинга, собирающая данные о работе всех компонентов системы.

Настоящие рекомендации охватывают все уровни функционирования информационной системы, начиная от доступности основной ссылки, заканчивая параметрами производительности серверов. Описываемых здесь метрик достаточно для того, чтобы провести первичную диагностику доступности, производительности системы, ее влияния на инфраструктуру, работоспособности всех компонентов, настроить оповещения о наступивших или приближающихся проблемах в ее работе.

В то же время данные рекомендации не преследуют цели дать исчерпывающую инструкцию по настройке детального мониторинга каждого компонента системы. Такие настройки мониторинга остаются на усмотрение более узких специалистов, отвечающих за функционирование инфраструктуры.

В настоящем руководстве метрики сгруппированы по иерархии технологических компонентов системы:

  • Метрики доступности — отражают состояние доступности системы и всех ее компонентов (основная ссылка, доступность всех нод SMP для кластерной инсталляции, доступность системных сервисов tomcat, artemis, СУБД, nginx), доступность серверов.
  • Метрики, отражающие показатели функционирования компонентов системы:

  • Метрики виртуальных машин — загруженность процессора, использование памяти, нагрузка на диск, объем сетевого трафика, свободное место на диске

Рекомендации по метрикам приводятся для двух систем мониторинга:

  • Prometheus — как системы, позволяющей на наш взгляд, наиболее полно и качественно охватить все аспекты функционирования системы SMP.

    Описание метрик для Prometheus приводится для использования стандартных агентов (exporter) Node Exporter, Postgres Exporter, JMX Exporter, Blackbox Exporter. Для JMX Exporter разработаны конфигурации, позволяющие собирать специфичные для системы SMP метрики. Указанные в описании метрик переменные в формате $variable являются значениями меток (label)

  • Zabbix — как одной из самых популярных на сегодня систем мониторинга.

    Описание метрик для Zabbix приводится для подключенных шаблонов Linux by Zabbix agent, PostgreSQL by Zabbix agent 2, Systemd by Zabbix agent 2, Apache Tomcat by JMX, Generic Java JMX. Указанные в описании метрик переменные в формате {#VARIABLE} являются макросами шаблонов.

Частота сбора метрики: 1 раз в минуту.

Метрики доступности компонентов системы

Объект мониторинга: HTTP-эндпойнт
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Load balancer Доступность веб-интерфейса системы

https://BASE_URL/sd/services/rest/check-status

Требуемые коды состояния 200, 201, 210-299, 503

Prometheus

Blackbox exporter:

probe_success{job="blackbox", module="http_2xx", instance=~"https://BASE_URL.*"}

Zabbix

HTTP agent:

https://BASE_URL/sd/services/rest/check-status

HTTP Code не равен 200 и 503 в течение 3 минут
Примечание. Проверка общей доступности приложения, где BASE_URL это основной URL, к которому обращаются пользователи.
Все серверы приложений SMP Доступность веб-интерфейса отдельных приложений SMP

http://hostname:8080/sd/services/rest/check-status

Требуемые коды состояния 200,201,210-299,503

Prometheus

Blackbox exporter:

probe_success{job="blackbox", module="http_2xx"}

Zabbix

HTTP agent:

http://HOSTNAME:8080/sd/services/rest/check-status

HTTP Code не равен 200 и 503 в течение 3 минут для URL

http://HOSTNAME:8080/sd/services/rest/check-status

Примечание. Проверка доступности каждой ноды приложения напрямую, через порт Tomcat, минуя nginx, где HOSTNAME это имя сервера, на котором установлено приложение (вместо HOSTNAME можно указать IP адрес).
Объект мониторинга: Сервер
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы, входящие в состав системы Доступность сервера Доступность агента мониторинга сервера

Prometheus

Node exporter:

up{job="node_exporter"}

Zabbix

Zabbix agent 2:

agent.ping

Примечание. Мониторинг доступности сервером можно выполнять любым способом, который доступен в использующейся системе мониторинга, например, это может быть ping сервера, доступность агента мониторинга.
Объект мониторинга: Tomcat
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы приложений SMP Состояние сервиса tomcat

Статус сервиса tomcat.service.

Требуемое состояние active

Prometheus

Node exporter:

node_systemd_unit_state{job="node_exporter", name="tomcat.service", state="active"}

Zabbix

Zabbix agent 2:

systemd.service.active_state["tomcat.service"]

Объект мониторинга: Artemis MQ
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Message broker Состояние сервиса artemis

Статус сервиса artemis.service.

Требуемое состояние active

Prometheus

Node exporter:

node_systemd_unit_state{job="node_exporter", name="artemis.service", state="active"}

Zabbix

Zabbix agent 2:

systemd.service.active_state["artemis.service"]

Объект мониторинга: СУБД
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы СУБД Состояние сервиса postgresql

Статус сервиса postgresql.service.

Требуемое состояние active

Prometheus

Node exporter:

node_systemd_unit_state{job="node_exporter", name="postgresql.service", state="active"}

Zabbix

Zabbix agent 2:

systemd.service.active_state["postgresql.service"]

Примечание. Название сервиса может отличаться в зависимости от ОС или версии самого PostgreSQL, например для ОС на основе RHEL, сервис может называться postgresql-.
Объект мониторинга: Nginx
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Load balancer Состояние сервиса nginx

Статус сервиса nginx.service.

Требуемое состояние active

Prometheus

Node exporter:

node_systemd_unit_state{job="node_exporter", name="nginx.service", state="active"}

Zabbix

Zabbix agent 2:

systemd.service.active_state["nginx.service"]

 

Ключевые показатели работы компонентов системы

JMX метрики SMP

Объект мониторинга: Java JMX
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы приложений SMP Использование пула соединений с базой данных

Максимальное количество соединений с базой данных, которое может установить приложение.

Используемое количество соединений с базой данных

Prometheus

JMX exporter:

pool_connection_limit{job=~"jmx_exporter",name=~"RegularPool"}

pool_connection_busy{job=~"jmx_exporter",name=~"RegularPool"}

Zabbix

JMX agent:

jmx["com.zaxxer.hikari:type=PoolConfig (RegularPool)",MaximumPoolSize]

jmx["com.zaxxer.hikari:type=Pool (RegularPool)",ActiveConnections]

Warning:

Разница между максимальным и используемым значением меньше 10 в течение 2 минут

Примечание. Для получения JMX-метрик, необходимо включить JMX порт в Tomcat.
Все серверы приложений SMP Использование пула потоков Apache Tomcat

Максимальное количество потоков Tomcat, которое может быть создано.

Используемое количество потоков Tomcat

Prometheus

JMX exporter:

tomcat_threadpool_thread_limit{job=~"jmx_exporter"}

tomcat_threadpool_threadsbusy{job=~"jmx_exporter"}

Zabbix

JMX agent:

jmx["Catalina:type=ThreadPool,name=\"http-nio-8080\"",maxThreads]

jmx["Catalina:type=ThreadPool,name=\"http-nio-8080\"",currentThreadsBusy]

Warning:

Разница между максимальным и используемым значением меньше 10 в течение 2 минут

Примечание. Для получения JMX-метрик, необходимо включить JMX порт в Tomcat.
Серверы приложений SMP с ролями Singleton, Frontend или Universal Очередь асинхронных сервлетов dispatch Размер очереди асинхронных сервлетов для запросов типа dispatch (основная очередь для работы интерфейса оператора)

Prometheus

JMX exporter:

smp_async_servlets_queue_size{job=~"jmx_exporter", queue="dispatch"}

Zabbix

JMX agent:

jmx[ru.naumen.monitoring.async.dispatch:type=current,Size]

Critical:

Очередь больше 300 в течение 5 минут

Примечание. Данная метрика актуальна только при включенных асинхронных сервлетах в приложении. Проверить можно по наличию параметра ru.naumen.async.servlets.enabled=true в конфигурационном файле dbaccess.properties. Рекомендуется настроить сбор данной метрики в любом случае. При использовании кластерного приложения, данная метрика актуальна для нод с ролью Frontend
Серверы приложений SMP с ролями Singleton, Frontend или Universal Очередь асинхронных сервлетов portalrest Размер очереди асинхронных сервлетов для запросов типа portalrest (основная очередь для работы Портала самообслуживания)

Prometheus

JMX exporter:

smp_async_servlets_queue_size{job=~"jmx_exporter", queue="portalrest"}

Zabbix

JMX agent:

jmx[ru.naumen.monitoring.async.portalrest:type=current,Size]

Critical:

Очередь больше 300 в течение 5 минут

Примечание. Данная метрика актуальна только при включенных асинхронных сервлетах в приложении. Проверить можно по наличию параметра ru.naumen.async.servlets.enabled=true в конфигурационном файле dbaccess.properties. Рекомендуется настроить сбор данной метрики в любом случае. Метрика актуальная только при наличии встроенного приложение Portal, в Naumen SMP установлен по умолчанию. При использовании кластерного приложения, метрика актуальна для нод с ролью Frontend

JMX метрики Artemis

Объект мониторинга: Java JMX
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Message broker

Системные очереди сообщений:

- скриптов -

Queue.EventAction

- оповещений -

Queue.EventAction.Notifications

- событий с признаком "Взаимодействие с внешней системой" -

Queue.External.EventAction

Количество сообщений в очереди Prometheus

JMX exporter:

artemis_message{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",MessageCount]

 
Примечание. Для получения метрик обработки очередей, необходимо включить JMX порт. При использовании внешнего брокера очередей Artemis, имя брокера очередей (org.apache.activemq.artemis:broker) {#BROKER}, необходимо указывать то, которое указано в конфигурационном файле Artemis (/opt/naumen/broker/etc/broker.xml) в теге <name> </name>. При использовании встроенного Artemis (используется по умолчанию, если нет внешнего), необходимо указать имя брокера очередей localhost. $queue - значение метки queue имя очереди {#QUEUE} - имя очереди
Message broker

Системные очереди сообщений:

- скриптов -

Queue.EventAction

- оповещений -

Queue.EventAction.Notifications

- событий с признаком "Взаимодействие с внешней системой" -

Queue.External.EventAction

Количество обработчиков очереди Prometheus

JMX exporter:

artemis_consumer{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",ConsumerCount]

 
Message broker

Системные очереди сообщений:

- скриптов -

Queue.EventAction

- оповещений -

Queue.EventAction.Notifications

- событий с признаком "Взаимодействие с внешней системой" -

Queue.External.EventAction

Возраст самого старого сообщения в очереди Prometheus

JMX exporter:

artemis_age_first_message_seconds{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",FirstMessageAge]

Critical:

Больше 30 минут в течение 1 минуты.

Примечание. Значение метрики в миллисекундах. Если сбор метрик в Prometheus осуществляется на основе подготовленной нами конфигурации, то применяется valueFactor: 0.001, т.е. значение метрики формируется в секундах. После настройки сбора метрики FirstMessageAge, Zabbix будет отображать сообщение "data object is null", поскольку при штатной работе приложения, в данной метрике содержится пустое значение.
Message broker

Системные очереди индексации объектов:

- основная -

Queue.DocumentIndexer

- очереди индексации на Frontend-нодах

Queue.DocumentIndexer.N

Количество сообщений в очереди Prometheus

JMX exporter:

artemis_message{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",MessageCount]

 
Примечание. В имени очереди Queue.DocumentIndexer.N N - необходимо заменить на номер ноды.
Message broker

Системные очереди индексации объектов:

- основная -

Queue.DocumentIndexer

- очереди индексации на Frontend-нодах

Queue.DocumentIndexer.N

Количество обработчиков очереди Prometheus

JMX exporter:

artemis_consumer{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",ConsumerCount]

 
Message broker

Системные очереди индексации объектов:

- основная -

Queue.DocumentIndexer

- очереди индексации на Frontend-нодах

Queue.DocumentIndexer.N

Возраст самого старого сообщения в очереди Prometheus

JMX exporter:

artemis_age_first_message_seconds{job=~"jmx_exporter", queue="$queue"}

Zabbix

JMX agent:

jmx["org.apache.activemq.artemis:broker=\"{#BROKER}\",component=addresses,address=\"{#QUEUE}\",subcomponent=queues,routing-type=\"anycast\",queue=\"{#QUEUE}\"",FirstMessageAge]

Warning:

Больше 30 минут в течение 1 минуты.

Метрики использования памяти JVM

Объект мониторинга: Java JMX
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы приложений SMP, Message broker Использование памяти Heap

Объем области памяти Heap:

- максимальный

- используемый

- зарезервированный

Prometheus

JMX exporter:

jvm_memory_bytes_max{job="jmx_exporter", area="heap"}

jvm_memory_bytes_used{job="jmx_exporter", area="heap"}

jvm_memory_bytes_committed{job="jmx_exporter", area="heap"}

Zabbix

JMX agent:

jmx["java.lang:type=Memory","HeapMemoryUsage.max"]

jmx["java.lang:type=Memory","HeapMemoryUsage.used"]

jmx["java.lang:type=Memory","HeapMemoryUsage.committed"]

 

Все серверы приложений SMP,

Message broker

Использование памяти Non-Heap

Объем памяти вне области Heap:

- максимальный

- используемый

- зарезервированный

Prometheus

JMX exporter:

jvm_memory_bytes_max{job="jmx_exporter", area="nonheap"}

jvm_memory_bytes_used{job="jmx_exporter", area="nonheap"}

jvm_memory_bytes_committed{job="jmx_exporter", area="nonheap"}

Zabbix

JMX agent:

jmx["java.lang:type=Memory","NonHeapMemoryUsage.max"]

jmx["java.lang:type=Memory","NonHeapMemoryUsage.used"]

jmx["java.lang:type=Memory","NonHeapMemoryUsage.committed"]

 

Все серверы приложений SMP,

Message broker

Использование пулов памяти JVM

Максимальный, используемый и гарантированный объем пулов памяти:

- Metaspace

- CodeHeap 'non-nmethods'

- CodeHeap 'profiled nmethods'

- CodeHeap 'non-profiled nmethods'

- G1 Eden Space

- G1 Survivor Space

- G1 Old Gen

Prometheus

JMX exporter:

jvm_memory_pool_bytes_max{job="jmx_exporter", pool=~"$pool"}

jvm_memory_pool_bytes_used{job="jmx_exporter", pool=~"$pool"}

jvm_memory_pool_bytes_committed{job="jmx_exporter", pool=~"$pool"}

Zabbix

JMX agent:

jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.max"]

jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.used"]

jmx["java.lang:name={#JMXNAME},type=MemoryPool","Usage.committed"]

 
Примечание. Метрики рекомендуется собирать для каждого перечисленного пула. $pool - значение метки pool - имя пула. {#JMXNAME} - макрос, относящийся к шаблону Generic Java JMX, формируемый правилом обнаружения Memory pool discovery - имя пула.

Метрики работы СУБД

Объект мониторинга: PostgreSQL
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы СУБД Статистика объема обрабатываемых данных на основе pg_stat_database

tup_returned

Количество "живых" строк, выбранных при последовательном сканировании, и записей индекса, выбранных при сканировании индексов, в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_returned{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_returned.rate["{#DBNAME}"]

 
Примечание $dbname - значение метки dbname - имя БД приложения. {#DBNAME} - макрос, относящийся к шаблону PostgreSQL by Zabbix agent 2, формируемый правилом обнаружения Database discovery - имя БД приложения.
Все серверы СУБД Статистика объема обрабатываемых данных на основе pg_stat_database

tup_fetched

Количество "живых" строк, выбранных при сканировании индексов в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_fetched{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]

 
Все серверы СУБД Статистика объема обрабатываемых данных на основе pg_stat_database

tup_inserted

Количество строк, вставленное запросами в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_inserted{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]

 
Все серверы СУБД Статистика объема обрабатываемых данных на основе pg_stat_database

tup_updated

Количество строк, изменённое запросами в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_updated{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_updated.rate["{#DBNAME}"]

 
Все серверы СУБД Статистика объема обрабатываемых данных на основе pg_stat_database

tup_deleted

Количество строк, удалённое запросами в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_deleted{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]

 
Все серверы СУБД Количество сессий

sessions

Общее количество сеансов, относящихся к этой базе

Prometheus

Postgres exporter:

pg_stat_activity_count{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.connections.sum.total

pgsql.connections.sum.idle_in_transaction

pgsql.connections.sum.active

pgsql.connections.sum.idle

 
Все серверы СУБД Количество транзакций

xact_commit

Количество зафиксированных транзакций в этой базе данных

Prometheus

Postgres exporter:

pg_stat_database_tup_deleted{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]

 
Все серверы СУБД Количество транзакций

xact_rollback

Количество транзакций в этой базе данных, для которых был выполнен откат транзакции

Prometheus

Postgres exporter:

pg_stat_database_xact_rollback{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]

 
Сервер СУБД с ролью Master (Primary) Лаг репликации

Разница в байтах между текущей позицией записи в журнале предзаписи (WAL) и последней позицией в журнале предзаписи, воспроизведённой в базе данных ведомым сервером

select pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)::float from pg_stat_replication;

Prometheus

Postgres exporter:

pg_stat_replication_pg_wal_lsn_diff{instance="$instance"}

 
Примечание. $instance - значение метки instance - имя инстанса СУБД, метрики с которого собирает Prometheus.
Сервер СУБД с ролью Slave (Standby) Лаг репликации

Временной лаг отставания ведомого сервера от ведущего в секундах.

select extract(epoch from (now() - pg_last_xact_replay_timestamp()))::integer;

Prometheus

Postgres exporter:

pg_replication_lag_seconds{instance="$instance"}

Zabbix

Zabbix agent 2:

pgsql.replication.lag.sec[]

Warning:

больше 300 (минут) в течение 15 минут

Все серверы СУБД Размер БД Общий объем, который занимает на диске база данных, вычисленный с помощью функции pg_database_size(dbname) Prometheus

Postgres exporter:

pg_database_size_bytes{job="postgres_exporter", datname="$dbname"}

Zabbix

Zabbix agent 2:

pgsql.db.size["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]

 

Ресурсы серверов (виртуальных машин)

Объект мониторинга: Virtual Machine
Сервер Показатель Параметр мониторинга Системы мониторинга Пороговые значения
Все серверы, входящие в состав системы Загрузка процессора (user) Время, затраченное процессором на выполнение процессов в пользовательском пространстве Prometheus

Node exporter:

node_cpu_seconds_total{job=~"node_exporter", mode="user"}

Zabbix

Zabbix agent 2:

system.cpu.util[,user]

 
Все серверы, входящие в состав системы Загрузка процессора по вводу-выводу (iowait) Количество времени, в течение которого процессор ожидал завершения ввода-вывода Prometheus

Node exporter:

node_cpu_seconds_total{job=~"node_exporter", mode="iowait"}

Zabbix

Zabbix agent 2:

system.cpu.util[,iowait]

Warning:

больше 15% в течение 15 минут

Все серверы, входящие в состав системы Использование памяти Общий и доступный объем памяти в байтах Prometheus

Node exporter:

node_memory_MemTotal_bytes{job="node_exporter"}

node_memory_MemAvailable_bytes{job="node_exporter"}

Zabbix

Zabbix agent 2:

vm.memory.size[total]

vm.memory.size[available]

 
Все серверы, входящие в состав системы Использование swap Общее и свободное пространство тома подкачки/файла в байтах Prometheus

Node exporter:

node_memory_SwapTotal_bytes{job="node_exporter"}

node_memory_SwapFree_bytes{job="node_exporter"}

Zabbix

Zabbix agent 2:

system.swap.size[,total]

system.swap.size[,free]

 
Все серверы, входящие в состав системы Использование swap Статистика подкачки: количество страниц с устройства в память и из памяти на устройство Prometheus

Node exporter:

node_vmstat_pswpin{job="node_exporter"}

node_vmstat_pswpout{job="node_exporter"}

Zabbix

Zabbix agent 2:

system.swap.in[,pages]

system.swap.out[,pages]

 
Все серверы, входящие в состав системы Использование дисков (для каждого дискового раздела) Общий и свободный объем дискового пространства в байтах Prometheus

Node exporter:

node_vmstat_pswpin{job="node_exporter"}

node_vmstat_pswpout{job="node_exporter"}

Zabbix

Zabbix agent 2:

system.swap.in[,pages]

system.swap.out[,pages]

Critical:

свободного места менее 1 ГБ или менее 1 % в течение 1 минуты.

Warning:

свободного места менее 10 ГБ или менее 10 % в течение 5 минут.

Примечание. Разделы, для которых собираются метрики, указывать в соответствии с тем, что есть на сервере. Установка пороговых значений должна корректироваться в соответствие с общим размером дискового пространства.
Все серверы, входящие в состав системы Количество операций ввода-вывода Операции чтения/записи в секунду. Количество запросов на чтение / запись, выполняемых устройством в секунду Prometheus

Node exporter:

node_disk_reads_completed_total{job="node_exporter"}

node_disk_writes_completed_total{job="node_exporter"}

Zabbix

Zabbix agent 2:

vfs.dev.read[{#DEVNAME},ops]

vfs.dev.write[{#DEVNAME},ops]

 
Примечание. Дисковые устройства, для которых собираются метрики, указывать в соответствии с тем, что есть на сервере. {#DEVNAME} - макрос, относящийся к шаблону Linux by Zabbix agent, формируемый правилом обнаружения Block devices discovery - имя устройства.
Все серверы, входящие в состав системы Объем дискового чтения-записи Количество байт, считываемых с устройства / записываемых на устройство в секунду Prometheus

Node exporter:

node_disk_read_bytes_total{job="node_exporter"}

node_disk_written_bytes_total{job="node_exporter"}

Zabbix

Zabbix agent 2:

vfs.dev.read[{#DEVNAME},sps]

vfs.dev.write[{#DEVNAME},sps]

 
Примечание. Дисковые устройства, для которых собираются метрики, указывать в соответствии с тем, что есть на сервере. {#DEVNAME} - макрос, относящийся к шаблону Linux by Zabbix agent, формируемый правилом обнаружения Block devices discovery - имя устройства
Все серверы, входящие в состав системы Сетевой трафик Количество байт, принимаемых, отправляемых через сетевой интерфейс Prometheus

Node exporter:

node_network_receive_bytes_total{job="node_exporter"}

node_network_transmit_bytes_total{job="node_exporter"}

Zabbix

Zabbix agent 2:

net.if.in["{#IFNAME}"]

net.if.out["{#IFNAME}"]

 
Примечание. Сетевой интерфейс указывать в соответствии с тем, что есть на сервере. {#IFNAME} - макрос, относящийся к шаблону Linux by Zabbix agent, формируемый правилом обнаружения Network interface discovery - имя интерфейса.