docs: delete services/grafana
This commit is contained in:
parent
0ff7c8527e
commit
bb1e9e2898
@ -1,184 +0,0 @@
|
||||
---
|
||||
title: Grafana Setup Information
|
||||
description:
|
||||
published: true
|
||||
date: 2021-07-25T21:59:55.861Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2021-07-19T20:35:25.196Z
|
||||
---
|
||||
|
||||
# Purpose and Layout
|
||||
My Grafana dashboard serves as a one-stop systems monitoring frontend.
|
||||
|
||||
![grafana.png](/grafana.png =50%x)
|
||||
|
||||
|
||||
# Grafana
|
||||
|
||||
# InfluxDB
|
||||
|
||||
| Host | Database Name | Inputs |
|
||||
|:-|-:|:-|
|
||||
| Main Server | `jafgraf` |
|
||||
| Seedbox | `seedbox` |
|
||||
| NAS | `nas` |
|
||||
| PiHole | `pihole` |
|
||||
|
||||
The full configuration files for the main server are available at: [Jafner/docker_compose/grafana-stack](https://github.com/Jafner/docker_config/tree/master/grafana-stack).
|
||||
|
||||
# Telegraf
|
||||
Below are excerpts from the `telegraf.conf` and accompanying files for each host. All config files are based on the [config files](https://github.com/Mbarmem/Grafana.Dashboard/blob/master/docker/telegraf/telegraf.conf) from Mbarmem's repository.
|
||||
|
||||
## Main Server
|
||||
```toml
|
||||
[global_tags]
|
||||
[agent]
|
||||
interval = "10s"
|
||||
round_interval = true
|
||||
metric_batch_size = 1000
|
||||
metric_buffer_limit = 10000
|
||||
collection_jitter = "0s"
|
||||
flush_interval = "10s"
|
||||
flush_jitter = "0s"
|
||||
precision = ""
|
||||
hostname = ""
|
||||
omit_hostname = false
|
||||
[[outputs.influxdb]]
|
||||
urls = ["http://influxdb:8086"]
|
||||
database = "jafgraf"
|
||||
[[inputs.cpu]]
|
||||
percpu = true
|
||||
totalcpu = true
|
||||
collect_cpu_time = false
|
||||
report_active = false
|
||||
[[inputs.disk]]
|
||||
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
|
||||
[[inputs.mem]]
|
||||
[[inputs.system]]
|
||||
[[inputs.docker]]
|
||||
endpoint = "unix:///var/run/docker.sock"
|
||||
[[inputs.sensors]]
|
||||
[[inputs.file]]
|
||||
files = ["/.forgetps.json"]
|
||||
data_format = "json"
|
||||
name_override = "tickinfo"
|
||||
tag_keys = ["dim"]
|
||||
```
|
||||
|
||||
### Getting Forge Server Tick Info
|
||||
The main server's Telegraf instance gets information about my Forge server using a chain of tools. `cron` runs `docker exec e6 rcon-cli forge
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# this script converts the output of the "forge tps" command (in the form of the .forgetps file) into json for sending to influxdb
|
||||
# by default it reads from stdin and outputs to a .forgetps.json file
|
||||
while IFS= read -r line; do
|
||||
if [ "$line" != "" ]; then
|
||||
DIM=$(echo -n "$line" | awk '{print $2}')
|
||||
if [ "$DIM" = "Mean" ]; then
|
||||
DIM="Overall"
|
||||
fi
|
||||
TPT=$(echo "$line" | grep -oE 'Mean tick time: .+ms' | awk '{print $4}')
|
||||
TPS=$(echo "$line" | grep -oE 'Mean TPS: .+' | awk '{print $3}')
|
||||
JSON+=\{$(echo \"dim\":\"$DIM\",\"tpt\":$TPT,\"tps\":$TPS)\},
|
||||
fi
|
||||
#done < .forgetps # inputs from .forgetps file
|
||||
done <$1 # inputs from file passed via stdin
|
||||
JSON=$(echo ${JSON} | sed 's/,$//')
|
||||
|
||||
#echo [${JSON}] >&1 # outputs to stdout
|
||||
echo [${JSON}] > .forgetps.json # uncomment this to output to file
|
||||
```
|
||||
|
||||
```
|
||||
* * * * * cd /home/joey/docker_config/grafana-stack/scripts/ && docker exec e6 rcon-cli forge tps > .forgetps && ./forgetps-to-json.sh .forgetps
|
||||
```
|
||||
|
||||
## NAS
|
||||
```toml
|
||||
[global_tags]
|
||||
role = "freenas"
|
||||
[[outputs.influxdb]]
|
||||
urls = ["http://192.168.1.23:8086"]
|
||||
database = "nas"
|
||||
[[inputs.cpu]]
|
||||
percpu = true
|
||||
totalcpu = true
|
||||
[[inputs.mem]]
|
||||
[[inputs.net]]
|
||||
[[inputs.system]]
|
||||
[[inputs.diskio]]
|
||||
[[inputs.zfs]]
|
||||
poolMetrics = true
|
||||
[[inputs.exec]]
|
||||
name_override = "diskhealth"
|
||||
commands = ["/root/telegraf/diskstatus.sh"]
|
||||
timeout = "30s"
|
||||
data_format = "json"
|
||||
tag_keys = ["disk","health"]
|
||||
[[inputs.exec]]
|
||||
name_override = "cputemps"
|
||||
commands = ["sh /root/telegraf/cputemp.sh"]
|
||||
timeout = "5s"
|
||||
data_format = "influx"
|
||||
```
|
||||
|
||||
## Seedbox
|
||||
```toml
|
||||
[global_tags]
|
||||
[agent]
|
||||
interval = "10s"
|
||||
round_interval = true
|
||||
metric_batch_size = 1000
|
||||
metric_buffer_limit = 10000
|
||||
collection_jitter = "0s"
|
||||
flush_interval = "10s"
|
||||
flush_jitter = "0s"
|
||||
precision = ""
|
||||
hostname = ""
|
||||
omit_hostname = false
|
||||
[[outputs.influxdb]]
|
||||
urls = ["http://192.168.1.23:8086"]
|
||||
database = "seedbox"
|
||||
[[inputs.cpu]]
|
||||
percpu = true
|
||||
totalcpu = true
|
||||
collect_cpu_time = false
|
||||
report_active = false
|
||||
[[inputs.disk]]
|
||||
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
|
||||
[[inputs.mem]]
|
||||
[[inputs.system]]
|
||||
[[inputs.docker]]
|
||||
endpoint = "unix:///var/run/docker.sock"
|
||||
[[inputs.sensors]]
|
||||
```
|
||||
## PiHole
|
||||
```toml
|
||||
[global_tags]
|
||||
[agent]
|
||||
interval = "10s"
|
||||
round_interval = true
|
||||
metric_batch_size = 1000
|
||||
metric_buffer_limit = 10000
|
||||
collection_jitter = "0s"
|
||||
flush_interval = "10s"
|
||||
flush_jitter = "0s"
|
||||
precision = ""
|
||||
hostname = ""
|
||||
omit_hostname = false
|
||||
[[outputs.influxdb]]
|
||||
urls = ["http://192.168.1.23:8086"]
|
||||
database = "pihole"
|
||||
[[inputs.http]]
|
||||
urls = ["http://192.168.1.191/admin/api.php"]
|
||||
method = "GET"
|
||||
data_format = "json"
|
||||
json_string_fields = ["status"]
|
||||
name_suffix = "_pihole"
|
||||
```
|
||||
# Resources
|
||||
The main guide I used for my setup: https://github.com/Mbarmem/Grafana.Dashboard
|
||||
The guide I used for installing Telegraf on my NAS: https://blog.victormendonca.com/2020/10/28/how-to-install-telegraf-on-freenas/
|
||||
The repository containing my
|
||||
The instructions I followed to get SMART HDD reporting from the NAS: https://www.reddit.com/r/freenas/comments/81t2bw/can_i_install_telegraf_on_my_freenas_host/dv67xu8/
|
Loading…
Reference in New Issue
Block a user