setup the best light system matrix server with Telegraf + InfluxDB + Grafana

S
SUVANKAR SARKAR
3 min read13 views
setup the best light system matrix server with Telegraf + InfluxDB + Grafana

🖥️ 1. Central Server Setup (InfluxDB + Grafana)

sudo apt update
sudo apt install influxdb influxdb-client -y
sudo systemctl enable influxdb
sudo systemctl start influxdb

Check status:

systemctl status influxdb

Create Database for Metrics

influx
CREATE DATABASE telegraf
CREATE USER telegraf WITH PASSWORD 'yourpassword'
GRANT ALL ON telegraf TO telegraf
EXIT

Install Grafana

sudo apt-get install -y apt-transport-https software-properties-common
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

sudo apt update
sudo apt install grafana -y
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Access Grafana:
👉 http://your-central-server:3000
(Default login: admin / admin)

*Can setup a domain using caddy

🖥️ 2. Telegraf Setup on Each Server

sudo apt update
sudo apt install telegraf -y
sudo systemctl enable telegraf

📄 Minimal Telegraf Config (/etc/telegraf/telegraf.conf)

[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
debug = false
quiet = false
logfile = ""

###############################################################################
#OUTPUTS
###############################################################################
[[outputs.influxdb]]
urls = ["http://YOUR_CENTRAL_SERVER_IP:8086"]
database = "telegraf"
username = "telegraf"
password = "yourpassword"

###############################################################################
#INPUTS
###############################################################################
#CPU metrics
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = true

#Memory usage
[[inputs.mem]]

#Disk usage
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "overlay"]

#Network stats
[[inputs.net]]

#System load & uptime
[[inputs.system]]

Save file → Restart Telegraf then Verify logs

sudo systemctl restart telegraf
sudo journalctl -u telegraf -f

Successfully wrote metrics - should be the output.

Tags

Share: