Мониторинг инфраструктуры
Концепция построения инфраструктурного мониторинга GMONIT предполагает, что система поддерживает различные источники для сбора метрик и событий. На данный момент, реализована поддержка протокола NewRelic, что позволяет использовать всю экосистему NewRelic для сбора данных по инфраструктуре. В частности, инфраструктурные агенты, распространяемые по открытой лицензии Apache 2.0.
Инструкция по установке инфраструктурного агента NewRelic
Заголовок раздела «Инструкция по установке инфраструктурного агента NewRelic»-
Установить инфраструктурный агент по инструкции для соответствующей версии операционной системы:
-
Изменить настройки в файле
C:\%ProgramData%\New Relic\newrelic-infra\newrelic-infra.ymlдля Windows или/etc/newrelic-infra.ymlдля Linux.
# проверить что значение установлено в trueenable_process_metrics: true
log: level: info file: '<<PATH_TO_LOGFILE>>' # newrelic-infra.yml должен лежать в папке newrelic-infra, а не в папке с интеграциями rotate: max_size_mb: 1000 # параметр для включения ротации max_files: 5 # максимальное количество файлов логов compression_enabled: true # включение сжатия архивных логов file_pattern: YYYY-MM-DD_hh-mm-ss.log # шаблон имени архивного лог-файла
license_key: "0123456789012345678901234567890123456789" #Ключ(заглушка, не меняем)
# добавить значения:collector_url: https://gmonit-collector.<<DOMAIN>>.com/infra2/infra-apiidentity_url: https://gmonit-collector.<<DOMAIN>>.com/infra2/identity-apimetric_url: https://gmonit-collector.<<DOMAIN>>.com/metricscommand_channel_url: https://gmonit-collector.<<DOMAIN>>.com/infra2/command-api
self_instrumentation: newrelicself_instrumentation_apm_host: gmonit-collector.<<DOMAIN>>.com
# указать путь к сертификатам SSLca_bundle_file: %path_to_ssl%Более подробную информацию о настройке ротации можно найти в официальной документации.
- Также можно использовать переменные окружения
Параметры, указанные в файле newrelic-infra.yml, как правило, можно переопределять с помощью переменных окружения (environment variables). Ниже приведены примеры основных настроек для INFRA-агента New Relic, в том числе параметры ротации логов.
Важно: Названия переменных могут отличаться в зависимости от версии агента. Если ваш INFRA-агент не распознаёт эти переменные или вы не видите изменений в поведении агента, настраивайте ротацию напрямую в
newrelic-infra.yml(как описано в официальной документации).
Пример использования
Заголовок раздела «Пример использования»# -- Основные настройки --
# Включение сбора метрик процессовNRIA_ENABLE_PROCESS_METRICS=true
# Уровень логированияNRIA_LOG_LEVEL=info
# Лицензионный ключNRIA_LICENSE_KEY="0123456789012345678901234567890123456789" # Ключ (заглушка, не меняем)
# URL-адреса для взаимодействия с GMONIT (infra2 - новая схема хранения инфраструктурных метрик)NRIA_COLLECTOR_URL="https://gmonit-collector.<<DOMAIN>>.com/infra2/infra-api"NRIA_IDENTITY_URL="https://gmonit-collector.<<DOMAIN>>.com/infra2/identity-api"NRIA_METRIC_URL="https://gmonit-collector.<<DOMAIN>>.com/metrics"NRIA_COMMAND_CHANNEL_URL="https://gmonit-collector.<<DOMAIN>>.com/infra2/command-api"
# СамоинструментацияNRIA_SELF_INSTRUMENTATION="newrelic"NRIA_SELF_INSTRUMENTATION_APM_HOST="gmonit-collector.<<DOMAIN>>.com"
# Путь к сертификатам SSL, если используется самоподписанный сертификатNRIA_CA_BUNDLE_PATH="%path_to_ssl%"
# -- Ротация логов --
# Максимальный размер лога (в МБ), по достижении которого включается ротацияNRIA_LOG_ROTATE_MAX_SIZE_MB=1000
# Максимальное количество сохраняемых лог-файловNRIA_LOG_ROTATE_MAX_FILES=5
# Включение сжатия архивных логовNRIA_LOG_ROTATE_COMPRESSION_ENABLED=true
# Шаблон имени архивного лог-файлаNRIA_LOG_ROTATE_FILE_PATTERN="YYYY-MM-DD_hh-mm-ss.log"-
По умолчанию агент может собирать системные логи. Если по каким-либо причинам необходимо отключить их сбор, то в каталоге:
C:\%ProgramData%\New Relic\newrelic-infra\logging.d\для Windows или/etc/newrelic-infra/logging.d/для Linux добавить всем файлам*.ymlрасширение.disabled. Например:foo.yml.disabled. -
Перезапустить инфраструктурный агент выполнив команду:
systemctl restart newrelic-infra