docker-compose.yml
root@ip-172-31-37-11:~/graphite-linux-demo# more docker-compose.yml
version: "3.8"
services:
graphite:
image: graphiteapp/graphite-statsd:latest
container_name: graphite
restart: unless-stopped
ports:
- "8080:80" # Graphite Web UI
- "2003:2003" # Carbon plaintext TCP
- "2004:2004" # Carbon pickle
- "8125:8125/udp" # StatsD UDP
- "8126:8126" # StatsD admin
volumes:
- graphite_data:/opt/graphite/storage
- ./storage-schemas.conf:/opt/graphite/conf/storage-schemas.conf
telegraf:
image: telegraf:latest
container_name: telegraf
restart: unless-stopped
depends_on:
- graphite
user: root
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /:/hostfs:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
HOST_MOUNT_PREFIX: /hostfs
volumes:
graphite_data:
root@ip-172-31-37-11:~/graphite-linux-demo# Code language: PHP (php)
root@ip-172-31-37-11:~/graphite-linux-demo# more storage-schemas.conf
[telegraf]
pattern = ^telegraf\.
retentions = 10s:1d,1m:7d,10m:30d
[default]
pattern = .*
retentions = 10s:1d,1m:7d,10m:30d
root@ip-172-31-37-11:~/graphite-linux-demo# Code language: PHP (php)
root@ip-172-31-37-11:~/graphite-linux-demo# more telegraf.conf
[agent]
interval = "10s"
round_interval = true
hostname = "linux-demo"
omit_hostname = false
[[outputs.graphite]]
servers = ["graphite:2003"]
prefix = "telegraf"
template = "host.measurement.field"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = true
[[inputs.mem]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs", "nsfs", "cgroup", "cgroup2"]
[[inputs.net]]
[[inputs.kernel]]
[[inputs.processes]]
root@ip-172-31-37-11:~/graphite-linux-demo# Code language: PHP (php)
Commands to run all setup
docker-compose up -d
docker exec -it graphite find /opt/graphite/storage/whisper/telegraf -type f | head -20
docker exec -it graphite find /opt/graphite/storage/whisper/telegraf -type f | sed 's#/opt/graphite/storage/whisper/##; s#/#.#g; s#.wsp$##' | sortCode language: JavaScript (javascript)
root@ip-172-31-37-11:~/graphite-linux-demo# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7345a01ea59 telegraf:latest "/entrypoint.sh tele…" 3 days ago Up 3 days 8092/udp, 8125/udp, 8094/tcp telegraf
5d1ad13e09fd graphiteapp/graphite-statsd:latest "/entrypoint" 3 days ago Up 3 days 2013-2014/tcp, 2023-2024/tcp, 8080/tcp, 0.0.0.0:2003-2004->2003-2004/tcp, [::]:2003-2004->2003-2004/tcp, 0.0.0.0:8126->8126/tcp, [::]:8126->8126/tcp, 8125/tcp, 0.0.0.0:8125->8125/udp, [::]:8125->8125/udp, 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp graphite
root@ip-172-31-37-11:~/graphite-linux-demo# Code language: PHP (php)
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals