Skip to content

Установка агентов мониторинга Opensearch (инструкция)

1. Отключить цветной вывод контейнера sboard

Указать для контейнера sboard переменную окружения NO_COLOR: "true" и выполнить команду повторного запуска docker-compose

2. Основные переменные окружения

Добавить в файл .env в папке с docker-compose.yml следующие переменные окружения:

shell
OPENSEARCH_PASSWORD=opensearch_password
OPENSEARCH_DOCKER_NETWORK=sboard_default

Здесь

  • OPENSEARCH_PASSWORD - секретный пароль opensearch (запрашивается у менеджера)
  • OPENSEARCH_DOCKER_NETWORK - докер-сеть Эсборд, обычно создаётся автоматически и имеет название вида *_default (список доступных докер-сетей можно посмотреть командой docker network ls)

3. Переменные окружения для Docker-compose HA

Для варианта развертывания Docker-compose HA добавить в файл .env дополнительно следующие переменные окружения, необходимые для мониторинга Redis и PostgreSQL:

shell
OPENSEARCH_REDIS_HOST=redis-host:6379
OPENSEARCH_REDIS_PASSWORD=redis_pass
OPENSEARCH_POSTGRES_CONNECTION_URL=postgresql://postgres:example@postgres:5432/sboard?sslmode=disable

Значения переменных указаны в качестве примера.

4. Файл docker-compose.opensearch.yml

Создать файл docker-compose.opensearch.yml в папке с docker-compose.yml со следующим содержимым (выделенные строки необходимы только в случае варианта развертывания Docker-compose HA):

yml
version: '3.3'
services:
  filebeat:
    image: ${DOCKER_REGISTRY}/filebeat:${DOCKER_FILEBEAT_IMAGE_TAG:-latest}
    container_name: filebeat
    user: root
    networks:
      - sboard-network
    cap_add:
      - SYS_PTRACE
    privileged: true
    pid: host
    environment:
      DOMAIN_NAME: '${DOMAIN_NAME}'
      OPENSEARCH_PASSWORD: '${OPENSEARCH_PASSWORD}'
    volumes:
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

  metricbeat:
    image: ${DOCKER_REGISTRY}/metricbeat:${DOCKER_METRICBEAT_IMAGE_TAG:-latest}
    container_name: metricbeat
    user: root
    networks:
      - sboard-network
    cap_add:
      - SYS_PTRACE
    privileged: true
    pid: host
    environment:
      DOMAIN_NAME: '${DOMAIN_NAME}'
      OPENSEARCH_PASSWORD: '${OPENSEARCH_PASSWORD}'
      OPENSEARCH_REDIS_HOST: '${OPENSEARCH_REDIS_HOST}'
      OPENSEARCH_REDIS_PASSWORD: '${OPENSEARCH_REDIS_PASSWORD}'
      OPENSEARCH_POSTGRES_CONNECTION_URL: '${OPENSEARCH_POSTGRES_CONNECTION_URL}'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
      - /proc:/hostfs/proc:ro
      - /:/hostfs:ro

networks:
  sboard-network:
    name: '${OPENSEARCH_DOCKER_NETWORK}'
    external: true

5. Разрешить соединения с сервером

Если для сервера используется фаервол и сервер по умолчанию не имеет доступа к внешней сети, то необходимо разрешить исходящие соединения на opensearch.sboard.su по https (443 порт)

6. Запуск

Загрузить образы с Docker registry командой

shell
docker-compose -f docker-compose.opensearch.yml pull

Выполнить запуск командой

shell
docker-compose -f docker-compose.opensearch.yml up -d --force-recreate