Мониторинг ETCD#

Настройка мониторинга со стороны компонента ETCD не требуется, все настройки производятся со стороны системы мониторинга (EDMN).

Отслеживаемые метрики ETCD#

Метрика

Tип

Описание

Описание

Рекомендации

Источник

Триггер

Единица измерения

Путь в дереве метрик

etcd_debugging_mvcc_db_total_size_in_bytes

gauge

Total size of the underlying database physically allocated in bytes

Общий размер базы данных, физически выделенной в байтах

Prometheus

байт

etcd_debugging_mvcc_db_compaction_keys_total

counter

Total number of db keys compacted

Общее количество compacted ключей БД

Prometheus

шт

etcd_debugging_mvcc_keys_total

gauge

Total number of keys

Общее количество ключей

Prometheus

шт

etcd_debugging_store_watchers

gauge

Count of currently active watchers

Количество активных в настоящее время наблюдателей

Prometheus

не должно меняться?

шт

etcd_disk_wal_fsync_duration_seconds~_sum~

summary

The latency distributions of fsync called by WAL.

Латенси fsync, вызываемое WAL.

Большие задержки при работе с диском часто указывают на проблемы с диском. Это может привести к большой задержке обработки запросов или сделать кластер нестабильным.

Prometheus

Должно быть меньше 5 сек?

etcd_disk_wal_fsync_duration_seconds~_count~

counter

Count of fsync called by WAL.

Кол-во вызовов fsync, вызываемое WAL.

Prometheus

шт

etcd_disk_backend_commit_duration_seconds~_sum~

summary

The latency distributions of commit called by backend.

Латенси коммитов, вызываемых серверной частью.

Большие задержки при работе с диском часто указывают на проблемы с диском. Это может привести к большой задержке обработки запросов или сделать кластер нестабильным.

Prometheus

Должно быть меньше 5 сек?

etcd_disk_backend_commit_duration_seconds~_count~

counter

Count commit called by backend.

Кол-во коммитов, вызываемых серверной частью

Prometheus

etcd_disk_wal_write_bytes_total

gauge

Total number of bytes written in WAL

Общее количество байтов, записанных в WAL

Prometheus

байт

etcd_grpc_proxy_cache_hits_total

gauge

Total number of cache hits

Общее количество попаданий в кеш

Prometheus

шт

etcd_grpc_proxy_cache_keys_total

gauge

Total number of keys/ranges cached

Общее количество кэшированных keys/ranges

Prometheus

шт

etcd_mvcc_db_total_size_in_bytes

gauge

Total size of the underlying database physically allocated in bytes

Общий размер базы данных, физически выделенной в байтах

Prometheus

байт

etcd_mvcc_db_total_size_in_use_in_bytes

gauge

Total size of the underlying database logically in use in bytes

Общий размер используемой базовой базы данных в байтах

Prometheus

байт

etcd_network_client_grpc_received_bytes_total

counter

The total number of bytes received from grpc clients

Общее количество байтов, полученных от grpc клиентов

Prometheus

байт

etcd_network_client_grpc_sent_bytes_total

counter

The total number of bytes sent to grpc clients

Общее количество байтов, отправленных grpc клиентам

Prometheus

байт

etcd_server_client_requests_total{client_api_version=*,type=*}

counter

The total number of client requests per client version

Общее количество клиентских запросов на версию клиента

Prometheus

шт

etcd_server_has_leader

gauge

Whether or not a leader exists. 1 is existence, 0 is not.

Есть ли лидер или нет. 1 - существует, 0 - нет.

Указывает, есть ли у участника лидер. Если у участника нет лидера, он полностью недоступен. Если у всех участников в кластере нет лидера, весь кластер полностью недоступен.

Prometheus

должно быть =1

etcd_server_health_failures

counter

The total number of failed health checks

Общее количество неудачных health checks

Чем меньше тем лучше

Prometheus

не должно расти

шт

etcd_server_health_success

counter

The total number of successful health check

Общее количество удачных health checks

Prometheus

шт

etcd_server_heartbeat_send_failures_total

counter

The total number of leader heartbeat send failures (likely overloaded from slow disk)

Общее число ошибок heartbeat лидера (вероятно, перегружено из-за медленного диска)

Чем меньше тем лучше

Prometheus

не должно расти

шт

etcd_server_id{server_id="*"}

gauge

Server or member ID in hexadecimal format. 1 for 'server_id' label with current ID

ID сервера или участника (member) в 16-ричном формате

Prometheus

etcd_server_is_leader

gauge

Whether or not this member is a leader. 1 if is, 0 otherwise

Является ли данный участник лидером. 1 если да и 0 если нет

Prometheus

etcd_server_is_learner

gauge

Whether or not this member is a learner. 1 if is, 0 otherwise

Является ли данный участник learner. 1 если да и 0 если нет

Prometheus

etcd_server_leader_changes_seen_total

~gauge~ counter

The number of leader changes seen.

Количество замеченных смен лидеров.

Подсчитывает количество изменений лидера, которые участник (member) видел с момента запуска. Частая смена лидера существенно влияет на производительность etcd. Это также сигнализирует о нестабильности лидера, возможно, из-за проблем с сетевым подключением или чрезмерной нагрузки на кластер etcd.

Prometheus

не должно расти иначе предупреждение

шт

etcd_server_proposals_applied_total

gauge

The total number of consensus proposals applied.

Общее количество примененных консенсусных предложений.

Сервер etcd применяет каждое зафиксированное предложение асинхронно. Разница между proposals_committed_total и proposals_applied_total обычно должна быть небольшой (в пределах нескольких тысяч даже при высокой нагрузке). Если разница между ними продолжает расти, это означает, что сервер etcd перегружен. Это может произойти при применении дорогостоящих запросов, таких как запросы с большим диапазоном или большие операции txn.

Prometheus

шт

etcd_server_proposals_committed_total

gauge

The total number of consensus proposals committed.

Общее количество одобренных консенсусных предложений.

Этот показатель должен со временем увеличиваться, если кластер исправен. Несколько здоровых участников кластера etcd могут иметь одновременно разные суммарные зафиксированные предложения. Это несоответствие может быть связано с восстановлением после старта, отставанием от лидера или тем, что он является лидером и, следовательно, имеет наибольшее количество коммитов. Важно отслеживать эту метрику для всех участников кластера; неизменно большое отставание между отдельным участником и его лидером указывает на то, что участник работает медленно или нездорово

Prometheus

не должно падать

шт

etcd_server_proposals_failed_total

counter

The total number of failed proposals seen.

Общее количество неудавшихся предложений.

Обычно связаны с двумя проблемами: временные сбои, связанные с выборами лидера, или более длительные простои, вызванные потерей кворума в кластере.

Prometheus

не должно расти

шт

etcd_server_proposals_pending

gauge

The current number of pending proposals to commit. Indicates how many proposals are queued to commit.

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

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

Prometheus

шт

etcd_server_quota_backend_bytes

gauge

Current backend storage quota size in bytes

Текущий размер квоты внутреннего хранилища в байтах

Prometheus

байт

etcd_server_read_indexes_failed_total

counter

The total number of failed read indexes seen

Общее количество просмотренных индексов с ошибкой чтения

Чем меньше тем лучше

Prometheus

не должно расти

шт

etcd_server_slow_apply_total

counter

The total number of slow apply requests (likely overloaded from slow disk)

Общее количество медленных запросов на применение (вероятно, перегруженных из-за медленного диска)

Чем меньше тем лучше

Prometheus

шт

etcd_server_slow_read_indexes_total

counter

The total number of pending read indexes not in sync with leader's or timed out read index requests

Общее количество ожидающих чтения индексов, не синхронизированных с ведущими или просроченными запросами индекса чтения

Чем меньше тем лучше

Prometheus

шт

etcd_server_snapshot_apply_in_progress_total

gauge

1 if the server is applying the incoming snapshot. 0 if none.

1 если сервер применяет снепшот 0 если нет

Prometheus

etcd_snap_db_fsync_duration_seconds~_sum~

summary

The latency distributions of fsyncing .snap.db file Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

Задержка распространения файла fsyncing .snap.db.

Слишком большая продолжительность снепшота указывает на проблемы с диском и может привести к нестабильности кластера.

Prometheus

не должно быть больше 600 сек???

etcd_snap_db_fsync_duration_seconds~_count~

counter

Count of distributions of fsyncing .snap.db file Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

количество снепшотов

Prometheus

шт

etcd_snap_db_save_total_duration_seconds~_sum~

summary

The total latency distributions of v3 snapshot save Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

Задержка распространения снепшота v3

Слишком большая продолжительность снепшота указывает на проблемы с диском и может привести к нестабильности кластера.

Prometheus

не должно быть больше 600 сек???

etcd_snap_db_save_total_duration_seconds~_count~

counter

The total count distributions of v3 snapshot save Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

количество снепшотов

Prometheus

шт

etcd_snap_fsync_duration_seconds~_sum~

summary

The latency distributions of fsync called by snap. Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

Задержка распространения fsync вызванное снепшотом

Слишком большая продолжительность снепшота указывает на проблемы с диском и может привести к нестабильности кластера.

Prometheus

не должно быть больше 600 сек???

etcd_snap_fsync_duration_seconds~_count~

counter

Count of distributions of fsync called by snap. Abnormally high snapshot duration indicates disk issues and might cause the cluster to be unstable.

Кол-во fsync вызванное снепшотом

Prometheus

шт

go_memstats_sys_bytes

gauge

Number of bytes obtained from system

Количество байтов, полученных от системы

Prometheus

байт

process_cpu_seconds_total

counter

Total user and system CPU time spent in seconds

Общее время, затраченное пользователем и системным процессором в секундах

Должно расти

Prometheus

Должно расти

сек

process_max_fds

gauge

Maximum number of open file descriptors.

Максимальное кол-во открытых дескриптеров файлов

Если process_open_fds приближается к process_max_fds то это указывает на потенциальную проблему исчерпания файлового дескриптора. Если файловые дескрипторы исчерпаны, в etcd могут начаться проблемы, потому что он не сможет создать новые файлы WAL

Prometheus

шт

process_open_fds

gauge

Number of open file descriptors.

Кол-во открытых дескриптеров файлов

Если process_open_fds приближается к process_max_fds то это указывает на потенциальную проблему исчерпания файлового дескриптора. Если файловые дескрипторы исчерпаны, в etcd могут начаться проблемы, потому что он не сможет создать новые файлы WAL

Prometheus

шт

process_resident_memory_bytes

gauge

Resident memory size in bytes

Размер резидентной памяти в байтах

Prometheus

байт

process_start_time_seconds

gauge

Start time of the process since unix epoch in seconds

Время начала процесса с эпохи unix в секундах

Должно расти

Prometheus

Должно расти

сек

process_virtual_memory_bytes

gauge

Virtual memory size in bytes

Размер виртуальной памяти в байтах

Prometheus

байт

process_virtual_memory_max_bytes

gauge

Maximum amount of virtual memory available in bytes

Максимальный объем доступной виртуальной памяти в байтах

Prometheus

байт

promhttp_metric_handler_requests_in_flight

gauge

Current number of scrapes being served

Текущее количество обслуживаемых запросов

Prometheus

шт

В рамках системы мониторинга могут быть настроены различные триггеры для отслеживания выхода метрик за допустимые значения. Событием мониторинга может считаться изменение метрики или срабатывание триггера.