SaltStack Config предоставляет несколько показателей системы, которые можно использовать для мониторинга и диагностики. Эти показатели доступны в графическом виде на панели управления пользовательского интерфейса SaltStack Config и в машиночитаемой форме при использовании конечной точки http /metrics
.
Дополнительные сведения об отображении отчетов в пользовательском интерфейсе SaltStack Config с помощью панели управления см. в разделе Отчеты на панели управления.
Машиночитаемые показатели
SaltStack Config экспортирует показатели системы в текстовом формате OpenMetrics. Этот формат может непосредственно использоваться системой Prometheus и другими средствами мониторинга и оповещения.
Конфигурация показателей SaltStack Config
В файле конфигурации /etc/raas/raas
содержатся следующие параметры конфигурация для сбора показателей системы. Здесь приведены значения по умолчанию.
# System metrics settings metrics: enabled: true # If True, enable the collection of system metrics prometheus: false # If True, enable the Prometheus endpoint at /metrics prometheus_username: # Static username for retrieving /metrics prometheus_password: # Static password for retrieving /metrics snapshot_interval: 60 # How often to record snapshot metrics, in seconds max_query_timedelta: 86400 # Maximum timedelta for a single call to get_system_metrics, in seconds keep: 30 # How long to retain metrics data, in days
Для контроля процесса обработки машиночитаемых показателей системы используются следующие параметры.
- Для отключения сбора показателей установите значение
enabled:false
. Следует отметить, что при этом также будет отключена встроенная панель управления SaltStack Config. - Для включения экспорта машиночитаемых показателей из конечной точки http
/metrics
установите значениеprometheus:true
. Этот параметр не влияет на встроенную панель управления SaltStack Config. - Для контроля доступа к конечной точке http
/metrics
используется процедура базовой проверки подлинности http с учетными данными, настроенными вprometheus_username
иprometheus_password
. Чтобы включить конечную точку/metrics
, для этих параметров должны быть указаны значения. Данные учетные данные хранятся только в файле конфигурации/etc/raas/raas
. Они не связаны с учетными записями SaltStack Config и не могут использоваться для проверки подлинности в SaltStack Config в целях, отличных от получения доступа к конечной точке http/metrics
.
Другие параметры, указанные выше, относятся к встроенной панели управления SaltStack Config и не влияют на сбор машиночитаемых показателей системы или создание отчетов по ним. В частности, параметр snapshot_interval
определяет частоту записи параметров (в секундах) для отображения на панели управления, а параметр keep
— длительность хранения (в днях) значений показателей в базе данных до удаления.
Хотя для сбора машиночитаемых значений показателей из SaltStack Config рекомендуется использоваться конечную точку http /metrics
, для получения данных, отображаемых на встроенной панели управления, также можно применять API-интерфейс (RaaS). Вызов API-интерфейса stats.get_system_metrics()
позволяет запрашивать значения показателей по имени показателя, его источнику и диапазону дат. Элемент конфигурации max_query_timedelta
ограничивает объем данных, который SaltStack Config будет возвращать в ответ на единичный вызов API-интерфейса. Чтобы получить значения показателей за более длительный интервал времени, можно выполнить несколько вызовов API-интерфейса с разными датами начала и окончания.
Конфигурация показателей главного сервера Salt
Доступность некоторых показателей зависит от конфигурации главных серверов Salt, подключенных к SaltStack Config.
- Показатели по событиям Salt и возвращаемые результаты заданий будут точными только в том случае, если на главных серверах Salt настроен модуль возврата
sseapi
. При использовании модуля возвратаsse_pgjsonb
(прямой передаче в базу данных) сбор показателей будет работать некорректно. - SaltStack Config будет собирать информацию о среде выполнения низкоуровневых функций с главных серверов Salt, в конфигурации которых задан параметр
master_stats:true
. Этот параметр отключен по умолчанию. Дополнительные сведения см. в разделе master_stats в документации по Salt.
- Показатели о состояниях заданий Salt будут точными только в том случае, если модуль выполнения заданий включен в подключаемом модуле Salt Master.
engines: -jobcompletion:{}
Этот модуль включен в конфигурации по умолчанию подключаемого модуля Salt Master.
Настройка Prometheus для подключения к SaltStack Config
Можно включить сервер Prometheus для извлечения показателей из SaltStack Config путем добавления задания scrape_configs
в конфигурацию Prometheus (обычно prometheus.yml
) для каждого существующего экземпляра сервера API-интерфейса (RaaS).
scrape_configs: - job_name: 'sse' metrics_path: '/metrics' scheme: 'http' static_configs: - targets: ['localhost:8080'] basic_auth: username: prometheus password: metrics
Учетные данные в конфигурации Prometheus должны совпадать с параметрами prometheus_username
и prometheus_password
, указанными в файле конфигурации /etc/raas/raas
, как отмечено выше.
Дополнительные сведения о настройке целевых объектов для извлечения и других разделах конфигурации Prometheus см. в документации по проекту Prometheus.
Описание показателей
Машиночитаемые показатели, экспортируемые из SaltStack Config, можно разбить на несколько категорий.
Категория | Имя показателя | Тип показателя | Метки | Описание |
---|---|---|---|---|
Низкоуровневые показатели для главного сервера Salt | salt_event_size_bytes |
Гистограмма | master_id |
Размер события Salt (в байтах) |
salt_master_cmd_duration_seconds |
Гистограмма | master_id , cmd |
Длительность выполнения команды главного сервера Salt (в секундах). Сообщается только в том случае, если параметр master_stats настроен на главном сервере Salt. |
|
Показатели подключаемого модуля Salt Master | raas_master_commands_processed |
Счетчик | master_id |
Обработанные команды SSE |
raas_master_master_grains_pushed |
Счетчик | master_id |
Обновленные параметры grain главного сервера Salt, отправленные в SaltStack Config | |
raas_master_minion_keys_pushed |
Счетчик | master_id |
Обновления состояний ключей служебных серверов, отправленные в SaltStack Config | |
raas_master_minion_cached_pushed |
Счетчик | master_id |
Обновления кэша служебного сервера, отправленные в SaltStack Config | |
raas_master_masterfs_pushed |
Счетчик | master_id |
Обновления MasterFS, отправленные в SaltStack Config | |
raas_master_sseapi_engine_iteration_seconds |
Гистограмма | master_id |
Длительность итерации модуля API-интерфейса (RaaS) (в секундах) | |
Показатели сервера | redis_commands_executed |
Счетчик | redis_instance |
Выполненные команды Redis (кэш системы) |
redis_memory_bytes |
Датчик | redis_instance |
Использование памяти Redis (кэш системы) | |
celery_tasks_queued |
Счетчик | raas_instance , task |
Поставленные в очередь задачи Celery (фоновые задания) | |
celery_tasks_executed |
Счетчик | raas_instance , task |
Выполненные задачи Celery (фоновые задания) | |
celery_queue_length |
Датчик | raas_instance |
Длина очереди Celery (ожидание фоновых заданий) | |
raas_rpc_request_duration_seconds |
Гистограмма | raas_instance |
Длительность вызова API-интерфейса SSE RPC (в секундах) | |
Показатели PostgreSQL | postgres_connections |
Датчик | postgres_instance |
Соединения с Postgres |
postgres_transactions |
Счетчик | postgres_instance |
Транзакции Postgres, выполненные | |
postgres_rows_read |
Счетчик | postgres_instance |
Строки Postgres, прочитанные | |
postgres_rows_inserted |
Счетчик | postgres_instance |
Строки Postgres, вставленные | |
postgres_rows_updated |
Счетчик | postgres_instance |
Строки Postgres, обновленные | |
postgres_rows_deleted |
Счетчик | postgres_instance |
Строки Postgres, удаленные | |
Показатели системы | highstate_minions |
Датчик | Нет | Количество служебных серверов, на которых запущено задание Highstate |
highstate_minions_changed |
Датчик | Нет | Количество служебных серверов, на которых запущено задание Highstate, приводящее к внесению одного или нескольких изменений | |
highstate_minions_succeeded |
Датчик | Нет | Количество служебных серверов, на которых задание Highstate было выполнено без ошибок | |
highstate_minion_duration_seconds |
Датчик | Нет | Средняя продолжительность выполнения задания Highstate на каждый служебный сервер | |
highstate_states |
Датчик | Нет | Количество уникальных состояний, примененных в запусках Highstate | |
highstate_states_changed |
Датчик | Нет | Количество состояний, примененных в запусках Highstate, в результате чего были внесены одно или несколько изменений | |
highstate_states_succeeded |
Датчик | Нет | Количество состояний, примененных в запусках Highstate без ошибок | |
sse_jobs_in_progress |
Счетчик | Нет | Задания SaltStack Config, выполняемые | |
sse_jobs_complete_all_successful |
Счетчик | Нет | Задания SaltStack Config, завершенные со всеми успешными возвратами | |
sse_jobs_complete_missing_returns |
Счетчик | Нет | Задания SaltStack Config, завершенные с одним отсутствующим возвратом или несколькими | |
sse_jobs_complete_with_errors |
Счетчик | Нет | Задания SaltStack Config, завершенные с одной ошибкой или несколькими | |
sse_masters |
Датчик | Нет | Всего главных серверов Salt в SaltStack Config | |
sse_minion_grains_deleted |
Счетчик | master_id |
Количество удаленных параметров grain служебного сервера | |
sse_minion_grains_indexing_duration_seconds |
Счетчик | raas_instance |
Продолжительность вычислений индексов параметров grain служебного сервера (в секундах) | |
sse_minion_grains_saved |
Счетчик | master_id |
Количество сохраненных параметров grain служебного сервера | |
sse_minion_target_match_calcs |
Счетчик | raas_instace |
Количество совпадающих вычислений служебного сервера и целевой группы | |
sse_minion_target_match_duration_seconds |
Счетчик | raas_instance |
Продолжительность совпадающих вычислений служебного сервера и целевой группы (в секундах) | |
sse_minions |
Датчик | Нет | Всего служебных серверов в SaltStack Config | |
sse_minions_present |
Датчик | master_id |
Служебные серверы, присутствующие в пределах настроенного интервала времени raas_presence_expiration |
|
sse_minions_lost |
Датчик | master_id |
Служебные серверы, не присутствующие в пределах интервала времени | |
sse_minions_unknown |
Датчик | master_id |
Неизвестные служебные серверы (никогда не присутствовали) | |
sse_users_authenticated |
Датчик | Нет | Пользователи, прошедшие проверку подлинности в SaltStack Config |