grafana-influxdb-telegraf/check_datasource.sh

39 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Check if Grafana container is running
if ! docker-compose ps | grep -q grafana; then
echo "Grafana container is not running. Starting it now..."
docker-compose up -d grafana
sleep 10
fi
# Check if InfluxDB container is running
if ! docker-compose ps | grep -q influxdb; then
echo "InfluxDB container is not running. Starting it now..."
docker-compose up -d influxdb
sleep 10
fi
# Check if Telegraf container is running
if ! docker-compose ps | grep -q telegraf; then
echo "Telegraf container is not running. Starting it now..."
docker-compose up -d telegraf
sleep 5
fi
# Check if data is being written to InfluxDB
echo "Checking if data is being written to InfluxDB..."
docker-compose exec influxdb influx query 'from(bucket: "telegraf-bucket") |> range(start: -5m) |> filter(fn: (r) => r._measurement == "cpu") |> limit(n: 1)'
# Check Grafana data source configuration
echo -e "\nChecking Grafana data source configuration..."
docker-compose exec grafana grafana-cli admin data-sources list
# Check if the dashboard is loaded
echo -e "\nChecking if the dashboard is loaded..."
docker-compose exec grafana ls -la /etc/grafana/provisioning/dashboards/telegraf/
# Check Grafana logs for errors
echo -e "\nChecking Grafana logs for errors..."
docker-compose logs --tail=50 grafana | grep -i error || echo "No errors found in the last 50 lines of logs."