Развертывание системы мониторинга
Описание
Мониторинг позволяет отслеживать метрики как сервера лицензий, так и сервера LLM.
Для мониторинга используются следующие сервисы:
- Prometheus
- Grafana Loki
- 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