Тип сервиса ProfileStatusPrometheus#
Экземпляр типа сервиса service_profile_status_prometheus предназначен для мониторинга и оповещения о событиях в формате Prometheus.
В контексте service объявляется тип сервиса, соответствующий service_profile_status_prometheus:
service:
service_profile_status_prometheus:
ProfileStatusPrometheus - основные параметры#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Обязательный |
Идентификатор сервиса в контексте всего профиля. Используется, например, в названии директории и других системных файлов. Значение должно быть уникальным. Количество сервисов ограничено одним |
Текстовое значение (строка, число или их комбинация, разделитель — «_») |
— |
|
Опциональный |
Технологическое название сервиса, используемое для идентификации сервиса в логах транзакций. Значение должно быть уникальным. Обязательно, если указан |
Строковое значение |
— |
|
Опциональный |
Версия профиля данного сервиса |
Текстовое значение |
— |
|
Опциональный |
Строка с описанием сервиса. Значение не является уникальным |
Текстовое значение |
— |
|
Опциональный |
Настройки прослушивания |
Последовательность параметров, описанных в разделе Параметр listen |
— |
|
Обязательный |
Относительный url, на котором будет работать сервис. Есть возможность использовать регулярное выражение. Играет роль фильтра для входящих запросов |
Строковое значение |
— |
|
Обязательный |
Название области, защищенной auth_basic |
Текстовое значение |
— |
|
Обязательный |
Путь к файлу, содержащему пару пользователь/пароль |
Текстовое значение |
— |
ProfileStatusPrometheus - optional#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Переопределение уровня логирования для сервиса |
|
Наследуется от значения в |
|
Опциональный |
Группировка access журналов по кодам состояния (2xx, 3xx, 4xx, 5xx, 404, 413, 429, 499, 500) |
|
|
|
Опциональный |
Формат логирования |
Текстовое значение |
— |
|
Опциональный |
Таймаут при чтении заголовка запроса клиента |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут при чтении тела запроса клиента |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Максимальное время обработки запросов в рамках keep-alive соединения. По достижении заданного времени соединение закрывается после обработки очередного запроса |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Максимальное число запросов, которые можно сделать по одному keep-alive соединению |
Целочисленное значение |
|
|
Опциональный |
Таймаут при передаче ответа клиенту (между двумя операциями записями). Если по истечении этого времени клиент ничего не примет, соединение будет закрыто |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Секция параметров телеметрии |
Параметры, описанные в разделе Параметр opentelemetry_tracing |
— |
Пример профиля с конфигурацией Prometheus:
service_profile_status_prometheus:
- id: prometheus
name: status.service
description: promtheus metrics
url: /status/prometheus
auth_basic: metrics
auth_basic_user_file: hashed_passwords.data
listen:
- port: XXXX
address: 10.Y.Y.Y
ssl:
certificate: new.crt
certificate_key: new.key
verify_client: on
client_certificate: new.crt
В примере выше, на порту XXXX по адресу 10.Y.Y.Y будет поднят сервис с basic аутентификацией (то есть требующий использования пары логин-пароль для получения информации) и проверкой клиентского сертификата, при обращении к которому возможно получать метрики SOWA в формате prometheus. Описание метрик в формате Prometheus приведено в разделе Метрики агента мониторинга SOWA для Prometheus.
Пример конфигурации jobs для сервера prometheus (prometheus.yml):
- job_name: 'sowa-nginx'
metrics_path: '/status/prometheus'
scheme: https
tls_config:
ca_file: /home/sowaroot/new.crt
cert_file: /home/sowaroot/new.crt
key_file: /home/sowaroot/new.key
insecure_skip_verify: true
basic_auth:
username: 'login_example'
password: 'password_example'
scrape_interval: 5s
static_configs:
- targets: ['10.Y.Y.Y:XXXX']
Пример конфигурации jobs для сервера Prometheus (вид во вкладке Configuration web prometheus):
- job_name: sowa-nginx
honor_timestamps: true
scrape_interval: 5s
scrape_timeout: 5s
metrics_path: /status/prometheus
scheme: https
basic_auth:
username: login_example
password: <password_example>
tls_config:
ca_file: /home/sowaroot/new.crt
cert_file: /home/sowaroot/new.crt
key_file: /home/sowaroot/new.key
insecure_skip_verify: true
follow_redirects: true
static_configs:
- targets:
- 10.Y.Y.Y:XXXX
Создание файла с учетной записью:
sudo htpasswd -c hashed_passwords.data user1
Далее нажать Enter и ввести пароль для user1.