Перейти к основному содержимому

Развертывание системы мониторинга

Описание

Мониторинг позволяет отслеживать метрики как сервера лицензий, так и сервера LLM.

Для мониторинга используются следующие сервисы:

  1. Prometheus
  2. Grafana Loki
  3. Grafana

Prometheus используется как источник данных для метрик приложений в Grafana, в то время как Grafana Loki служит источником данных для логов приложений.

Оба сервера — сервер лицензий и сервер LLM — предоставляют метрики в формате Prometheus. Сервер Prometheus собирает эти метрики, а Grafana получает их и отображает на настраиваемых дашбордах.

Дополнительно, сервер лицензий и сервер LLM генерируют логи. Агент Grafana Loki собирает эти логи и передает их в Grafana, где они визуализируются.

Ниже приведены подробные инструкции по развертыванию сервисов мониторинга с использованием Ansible playbook.

Предварительные требования

Установите Ansible (>=2.15.0):

pip3 install ansible-core==2.17.7 ansible==10.7.0

Установите Ansible коллекцию Docker:

ansible-galaxy collection install community.docker

Переменные Playbook

Для большинства переменных заданы значения по умолчанию.

Измените следующие переменные в group_vars/all/common.yml:

prometheus_host: "" # TODO: укажите фактический хост
prometheus_jobs: # TODO: укажите конфигурацию задач
- name: "prometheus-licence-server"
metrics_path: "/actuator/prometheus"
targets: [ "" ] # TODO: LICENCE_SERVER_HOST:LICENCE_SERVER_PORT
labels:
application: "Explyt licence server"
- name: "prometheus-llm-server"
metrics_path: "/metrics"
targets: [ "" ] # TODO: LLM_HOST:LLM_PORT или HAPROXY_HOST:HAPROXY_PORT
labels:
application: "Explyt llm server"
- name: "node-exporter-licence-server"
metrics_path: "/metrics"
targets: [ "" ] # TODO: NODE_EXPORTER_HOST:NODE_EXPORTER_PORT
labels:
server: "Explyt licence server machine"
- name: "llm-server-health"
metrics_path: "/probe"
targets: [ "" ] # TODO: LLM_HOST:LLM_PORT или HAPROXY_HOST:HAPROXY_PORT
labels:
server: "Explyt llm server"
__probe_http_url: "" # TODO: http://LLM_HOST:LLM_PORT/health или http://HAPROXY_HOST:HAPROXY_PORT/health
relabel_configs:
- source_labels: [ __probe_http_url ]
target_label: __param_target
- source_labels: [ __param_target ]
target_label: instance
- target_label: __address__
replacement: "" # TODO: BLACKBOX_HOST:BLACKBOX_PORT

Развертывание мониторинга и логирования Explyt Enterprise

Пример файла инвентаризации:

[all:children]
monitoring

[monitoring]
monitoring_01 ansible_host=

Запуск развертывания:

ansible-playbook -i ansible_hosts.ini deployment.yml