Мониторинг 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 |
шт |
В рамках системы мониторинга могут быть настроены различные триггеры для отслеживания выхода метрик за допустимые значения. Событием мониторинга может считаться изменение метрики или срабатывание триггера.