- Агенты 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 ps
3. Настройка 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 -d
8. Скриншот состояния метрик:
- Сделаны скриншоты интерфейса 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: 36s
3. Запуск контейнеров:
- Запущен Docker-контейнер в фоне:
docker compose up -d
- Проверены запущенные контейнеры:
docker ps
4. Настройка 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 минут.