Docker Telegraf InfluxDB Grafana 堆栈项目教程
1. 项目的目录结构及介绍
docker-telegraf-influx-grafana-stack/
├── docker-compose.yml
├── telegraf.conf
└── README.md
docker-compose.yml
: 用于定义和运行多个 Docker 容器的配置文件。telegraf.conf
: Telegraf 的配置文件,用于收集和发送指标数据。README.md
: 项目的说明文档,包含项目的介绍、使用方法等。
2. 项目的启动文件介绍
docker-compose.yml
version: '3.6'
services:
telegraf:
image: telegraf
container_name: telegraf
restart: always
volumes:
- /telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- influxdb
links:
- influxdb
ports:
- '8125:8125'
influxdb:
image: influxdb:1.8-alpine
container_name: influxdb
restart: always
environment:
- INFLUXDB_DB=influx
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=admin
ports:
- '8086:8086'
volumes:
- influxdb_data:/var/lib/influxdb
grafana:
image: grafana/grafana
container_name: grafana-server
restart: always
depends_on:
- influxdb
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_INSTALL_PLUGINS=
links:
- influxdb
ports:
- '3000:3000'
volumes:
- grafana_data:/var/lib/grafana
volumes:
grafana_data: []
influxdb_data: []
telegraf
: 使用 Telegraf 镜像,配置文件挂载到容器中,监听端口 8125。influxdb
: 使用 InfluxDB 镜像,配置数据库和用户信息,监听端口 8086。grafana
: 使用 Grafana 镜像,配置管理员用户和密码,监听端口 3000。
3. 项目的配置文件介绍
telegraf.conf
[global_tags]
[agent]
interval = "60s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
hostname = "127.0.0.1"
omit_hostname = false
[[outputs.influxdb]]
urls = ["http://influxdb:8086"]
database = "influx"
timeout = "5s"
username = "telegraf"
password = "metricsmetricsmetricsmetrics"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
[global_tags]
: 全局标签配置。[agent]
: Telegraf 代理配置,包括收集间隔、缓冲区大小等。[[outputs.influxdb]]
: 输出插件配置,将数据发送到 InfluxDB。[[inputs.cpu]]
: 输入插件配置,收集 CPU 使用情况。
以上是 Docker Telegraf InfluxDB Grafana 堆栈项目的详细介绍和使用文档。希望对您有所帮助!