# Внешняя система мониторинга ![metrics](img/metrics.png) Система мониторинга состоит из Prometheus, Loki, Tempo и Grafana. Сервер Global, развёрнутый в кластере Kubernetes, отправляет метрики, трейсы и логи во внутреннюю систему мониторинга. Также возможно настроить кластер Global так, чтобы он отсылал телеметрию во внешнюю систему. Для этого, при [конфигурировании](http://helpcenter.gs.local/G3SysAdminDoc/html/040_global-k8s/020_install.html#id6) кластера Global требуется: - В визарде установки характристик (*./resgroup.sh init_spec*) задать значение **true** для полей "Отслеживать метрики" и "Дополнительно отсылать метрики во внешнюю систему". - В визарде установки значений (*./resgroup.sh init_values*) задать параметры для полей "Введите адрес доступа к внешнему prometheus", "Введите адрес доступа к внешнему loki" и "Введите адрес доступа к внешнему tempo" для каждой книги ресурсов. ## Настройка Prometheus Prometheus устанавливается по [официальной документации](https://prometheus.io/docs/prometheus/latest/installation/). Для получения метрик сервера Global дополнительные настройки не требуются. Пример [config.yaml](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) ```yaml global: scrape_interval: 5s evaluation_interval: 5s ``` ## Настройка Loki Loki устанавливается по [официальной документации](https://grafana.com/docs/loki/latest/setup/install/). Простейший конфиг приведён ниже. При его использовании требуется задать корректные значения параметров *path_prefix*, *chunks_directory* и *rules_directory*. Пример [config.yaml](https://grafana.com/docs/loki/latest/configure/) ```yaml auth_enabled: false server: http_listen_port: 3100 grpc_listen_port: 9096 common: instance_addr: 127.0.0.1 path_prefix: {path} #/mnt/data/loki storage: filesystem: chunks_directory: {path} #/mnt/data/loki/chunks rules_directory: {path} #/mnt/data/loki/rules replication_factor: 1 ring: kvstore: store: inmemory query_range: results_cache: cache: embedded_cache: enabled: true max_size_mb: 100 schema_config: configs: - from: 2020-10-24 store: tsdb object_store: filesystem schema: v13 index: prefix: index_ period: 24h ruler: alertmanager_url: http://localhost:9093 analytics: reporting_enabled: false ``` ## Настройка Tempo Tempo устанавливается по [официальной документации](https://grafana.com/docs/loki/latest/setup/install/). Простейший конфиг приведён ниже. При его использовании требуется задать корректные значения параметров *path*. Пример [config.yaml](https://grafana.com/docs/tempo/latest/configuration/) ```yaml stream_over_http_enabled: true server: http_listen_address: 0.0.0.0 http_listen_port: 3200 distributor: receivers: otlp: protocols: http: endpoint: 0.0.0.0:3201 storage: trace: backend: local wal: path: {path} #/mnt/data/tempo/wal local: path: {path} #/mnt/data/tempo/blocks ``` ## Настройка Grafana Grafana [устанавливается](https://grafana.com/docs/grafana/latest/setup-grafana/installation/) и [настраивается](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/) по официальной документации.