Система управления базами данных с открытым кодом на основе [[База данных временных рядов|базы данных временных рядов]]. Имеет удобный интерфейс для работы который позволяет в нем выполнять запросы и просматривать результаты, гибкую настройку хранения, возможность построения дашборда. Так же имеет конструктор для настройки [[Self-hosting. Telegraf|Telegraf]] с возможностью их хранения и передачи по сети.
Начиная с версии 2 использует язык запросов flux.
Официальный сайт: InfluxDB Time Series Data Platform | InfluxData
Пример docker compose файла:
Для запуска стека мониторинга
type: docker-compose
tags:
aliases:
- Monitoring
program:- pushgateway
- cadvisor
- nodeexporter
- prometheus
- grafana
- influxdb
modified: 2024-10-06T01:00:31+03:00
dg-publish: true
МОС: “[[Docker Compose]]”
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: always
ports:
- 8086:8086
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
networks:
- monitoring
labels:
org.label-schema.group: monitoring
grafana:
image: grafana/grafana:latest
container_name: grafana-server
restart: always
depends_on:
- influxdb
links:
- influxdb
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
environment:
- GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL}
- GF_AUTH_GENERIC_OAUTH_ENABLED=false
- GF_AUTH_GENERIC_OAUTH_NAME=${GF_AUTH_GENERIC_OAUTH_NAME}
- GF_AUTH_GENERIC_OAUTH_CLIENT_ID=${GF_AUTH_GENERIC_OAUTH_CLIENT_ID}
- GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=${GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET}
- GF_AUTH_GENERIC_OAUTH_SCOPES=${GF_AUTH_GENERIC_OAUTH_SCOPES}
- GF_AUTH_GENERIC_OAUTH_AUTH_URL=${GF_AUTH_GENERIC_OAUTH_AUTH_URL}
- GF_AUTH_GENERIC_OAUTH_TOKEN_URL=${GF_AUTH_GENERIC_OAUTH_TOKEN_URL}
- GF_AUTH_GENERIC_OAUTH_API_URL=${GF_AUTH_GENERIC_OAUTH_API_URL}
- GF_AUTH_SIGNOUT_REDIRECT_URL=${GF_AUTH_SIGNOUT_REDIRECT_URL}
- GF_AUTH_OAUTH_AUTO_LOGIN=false
- GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH="contains(groups, 'Grafana
Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor'
|| 'Viewer'"
networks:
- monitoring
labels:
org.label-schema.group: monitoring
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --web.console.libraries=/etc/prometheus/console_libraries
- --web.console.templates=/etc/prometheus/consoles
- --storage.tsdb.retention.time=15d
- --storage.tsdb.retention.size=10GB
- --web.enable-lifecycle
restart: unless-stopped
networks:
- monitoring
labels:
org.label-schema.group: monitoring
nodeexporter:
image: prom/node-exporter:latest
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- --path.procfs=/host/proc
- --path.rootfs=/rootfs
- --path.sysfs=/host/sys
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
restart: unless-stopped
ports:
- 9100:9100
expose:
- 9100
networks:
- monitoring
labels:
org.label-schema.group: monitoring
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
ports:
- 8090:8080
networks:
- monitoring
labels:
org.label-schema.group: monitoring
pushgateway:
image: prom/pushgateway:latest
container_name: pushgateway
restart: unless-stopped
ports:
- 9091:9091
networks:
- monitoring
labels:
org.label-schema.group: monitoring
volumes:
grafana_data: {}
prometheus_data: {}
networks:
monitoring:
name: monitoring
driver: bridge
[!note]
Метка используется для отделения стека мониторинга в панелях мониторингаlabels: org.label-schema.group: monitoring
[!urls]- Упоминания:
- [[Self-hosting программы]]
- [[Сервер Monitoring]]
- [[Мониторинг домашней и серверной инфраструктуры на базе InfluxDB и Grafana]]
- [[Мониторинг proxmox с использованием InfluxDB v2 и Grafana]]
- [[Мониторинг роутеров openwrt в influxdb v2 и grafana]]
- [[Мониторинг состояния роутеров keenetic в influxdb v2 и grafanа]]
[!description]- Примечание
Примечание:: База данных временных рядов для хранения мониторинга