- Агенты Telegraf самостоятельно записывают данные в базу.
1. Клонирование проекта:
- Склонирован проект и открыта папка
telegrafв VSCode. - В файл
docker-compose.ymlдобавлена строкаplatform: linux/x86_64, чтобы указать Docker создавать образы для архитектуры x86_64 (необходимо для работы на Apple M1 с архитектурой ARM). - Появлявшееся предупреждение о версии в
docker-compose.ymlудалось устранить путем удаления строкиversion: '3.8', благодаря чему установлена более новая версия Docker Compose.- В версиях Docker Compose 2.0 и выше больше не требуется указывать версию файла, так как композитор теперь автоматически обрабатывает данные. Это упрощает работу и делает файлы конфигурации более понятными.
2. Запуск контейнеров:
- Запущен Docker-контейнер в фоне:
docker compose up -d- Проверены запущенные контейнеры:
docker ps3. Настройка Grafana:
- В браузере по адресу
localhost:3000введены логин и пароль от Grafana, указанные вdocker-compose.yml. - Соединена Grafana с базой данных:
- Путь: Configuration => Data sources => Add data source => InfluxDB.
- В настройках InfluxDB указано
URL: http://influxdb:8086, который взят из блоковlinksиportsвdocker-compose.yml. - Проверка соединения с помощью кнопки
Test.
4. Импорт Dashboard:
- Использован готовый Dashboard для анализа данных, найденный по запросу telegraf dashboard grafana.
- Скопирован ID дашборда и импортирован в Grafana:
- Путь: Dashboards => Browse => Import => Скопированный ID => Load.
5. Настройка метрик:
- Настроен мониторинг аппаратных метрик: оперативной памяти, swap, жесткого диска и сети.
- В конфигурационном файле
telegraf.confв блоке[inputs]добавлен синтаксис для метрикmem,swap,disk,netс официального GitHub Telegraf. - Установлен интервал отправки метрик в 60 секунд:
[agent]
interval = "60s"6. Перезапуск контейнеров:
- Для применения настроек Telegraf выполнен перезапуск контейнеров:
docker restart <название_контейнера_или_ID>7. Изменения в файле docker-compose.yml:
- Для упрощения управления контейнерами добавлен параметр
container_nameв файлdocker-compose.yml, что позволяет задавать собственные имена контейнеров. - Важно: После внесения изменений в файл docker-compose.yml, необходимо удалить существующие контейнеры и осуществить перезапуск, выполнив следующие команды:
docker compose down
docker compose up -d8. Скриншот состояния метрик:
- Сделаны скриншоты интерфейса Grafana, отображающего состояние метрик системы в покое длительностью 15 минут.
9. Завершение работы и удаление контейнеров:
- Контейнеры остановлены и удалены с помощью команды:
docker compose down
- Этот проект включает в себя интеграцию базы данных и агента для сбора метрик, использующими технологии node-exporter и Prometheus. Prometheus непосредственно инициирует запросы к node-exporter, который по умолчанию хранит метрики без необходимости дополнительной настройки, как это требуется в Telegraf. Основные настройки проводятся в конфигурационном файле prometheus.yml, где указываются интервалы опроса и список агентов для мониторинга.
1. Клонирование проекта:
- Открыта папка
prometheusв VSCode из склонированного проекта. - В файл
docker-compose.ymlдобавлена строкаplatform: linux/x86_64, чтобы указать Docker создавать образы для архитектуры x86_64 (необходимо для работы на Apple M1 с архитектурой ARM). - Для упрощения управления добавлен параметр
container_name:вdocker-compose.ymlдля задавания собственных имен контейнеров. - Чтобы избежать предупреждение при запуске контейнеров о версии в
docker-compose.ymlудалена строкаversion: '3.8'.- В версиях Docker Compose 2.0 и выше больше не требуется указывать версию файла, так как композитор теперь автоматически обрабатывает данные. Это упрощает работу и делает файлы конфигурации более понятными.
2. Установлен интервал отправки метрик:
- В файле
prometheus.umlпрописан интервал в 36 секунд:
global:
scrape_interval: 36s3. Запуск контейнеров:
- Запущен Docker-контейнер в фоне:
docker compose up -d- Проверены запущенные контейнеры:
docker ps4. Настройка Grafana:
- В браузере по адресу
localhost:3000введены логин и пароль от Grafana, указанные вdocker-compose.yml. - Соединена Grafana с базой данных:
- Путь: Configuration => Data sources => Add data source => Prometheus.
- В настройках Prometheus указано
URL: http://prometheus:9090, который взят из блоковlinksиportsвdocker-compose.yml. - Проверка соединения с помощью кнопки
Save & test.
5. Импорт Dashboard:
- Использован готовый Dashboard для анализа данных, взятый с официального на сайта Grafana Labs.
- Скопирован ID дашборда и импортирован в Grafana:
- Путь: Dashboards => Browse => Import => Скопированный ID => Load.
6. Скриншот состояния метрики:
- Сделан скриншот интерфейса Grafana, отображающего состояние метрик системы в покое длительностью 15 минут.

