grafana: split up configuration + postgres
- Move `services/grafana.nix` to `services/grafana/default.nix` - Split up all data collectors into separate files under `services/grafana` - Make grafana use postgres as its database
This commit is contained in:
parent
850eaa9b1a
commit
f2a89d7c82
|
@ -7,7 +7,7 @@
|
||||||
# ./services/dokuwiki.nix
|
# ./services/dokuwiki.nix
|
||||||
./services/gitea
|
./services/gitea
|
||||||
# ./services/gitlab
|
# ./services/gitlab
|
||||||
./services/grafana.nix
|
./services/grafana
|
||||||
./services/hydra.nix
|
./services/hydra.nix
|
||||||
# ./services/jitsi.nix
|
# ./services/jitsi.nix
|
||||||
./services/jupyter.nix
|
./services/jupyter.nix
|
||||||
|
|
|
@ -1,76 +0,0 @@
|
||||||
{ config, lib, secrets, ... }:
|
|
||||||
{
|
|
||||||
services.grafana = {
|
|
||||||
enable = true;
|
|
||||||
domain = "log.nani.wtf";
|
|
||||||
port = secrets.ports.grafana;
|
|
||||||
addr = "0.0.0.0";
|
|
||||||
};
|
|
||||||
|
|
||||||
# services.influxdb = {
|
|
||||||
# enable = true;
|
|
||||||
# dataDir = "/data/var/influxdb";
|
|
||||||
# extraConfig = {
|
|
||||||
# udp = {
|
|
||||||
# enabled = true;
|
|
||||||
# bind-address = "0.0.0.0:8089";
|
|
||||||
# database = "proxmox";
|
|
||||||
# batch-size = 1000;
|
|
||||||
# batch-timeout = "1s";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
services.prometheus = {
|
|
||||||
enable = true;
|
|
||||||
port = secrets.ports.prometheus;
|
|
||||||
|
|
||||||
scrapeConfigs = [
|
|
||||||
{
|
|
||||||
job_name = "synapse";
|
|
||||||
scrape_interval = "15s";
|
|
||||||
metrics_path = "/_synapse/metrics";
|
|
||||||
static_configs = [
|
|
||||||
{
|
|
||||||
targets = [ "localhost:${toString secrets.ports.matrix.listener}" ];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
job_name = "minecraft";
|
|
||||||
# scrape_interval = "15s";
|
|
||||||
# metrics_path = "/_synapse/metrics";
|
|
||||||
static_configs = [
|
|
||||||
{
|
|
||||||
targets = [ "${secrets.ips.crafty}:${toString secrets.ports.prometheus-crafty}" ];
|
|
||||||
labels = {
|
|
||||||
server_name = "my-minecraft-server";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
exporters = {
|
|
||||||
jitsi.enable = true;
|
|
||||||
nginx.enable = true;
|
|
||||||
nginxlog.enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
# postgres.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# globalConfig = {
|
|
||||||
|
|
||||||
# };
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
# services.loki = {
|
|
||||||
# enable = true;
|
|
||||||
# configFile = ./loki-local-config.yaml;
|
|
||||||
# config = {
|
|
||||||
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, lib, secrets, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./prometheus.nix
|
||||||
|
./influxdb.nix
|
||||||
|
./loki.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.grafana = {
|
||||||
|
enable = true;
|
||||||
|
domain = "log.nani.wtf";
|
||||||
|
port = secrets.ports.grafana;
|
||||||
|
addr = "0.0.0.0";
|
||||||
|
dataDir = "${config.machineVars.dataDrives.default}/var/grafana";
|
||||||
|
|
||||||
|
database = {
|
||||||
|
type = "postgres";
|
||||||
|
user = "grafana";
|
||||||
|
host = "localhost:${toString secrets.ports.postgres}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ config, secrets, ... }:
|
||||||
|
{
|
||||||
|
# services.influxdb = {
|
||||||
|
# enable = true;
|
||||||
|
# dataDir = "${config.machineVars.dataDrives.default}/var/influxdb";
|
||||||
|
# extraConfig = {
|
||||||
|
# udp = {
|
||||||
|
# enabled = true;
|
||||||
|
# bind-address = "0.0.0.0:8089";
|
||||||
|
# database = "proxmox";
|
||||||
|
# batch-size = 1000;
|
||||||
|
# batch-timeout = "1s";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
# services.loki = {
|
||||||
|
# enable = true;
|
||||||
|
# configFile = ./loki-local-config.yaml;
|
||||||
|
# config = {
|
||||||
|
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
{ secrets, ... }: {
|
||||||
|
services.prometheus = {
|
||||||
|
enable = true;
|
||||||
|
port = secrets.ports.prometheus;
|
||||||
|
|
||||||
|
scrapeConfigs = [
|
||||||
|
{
|
||||||
|
job_name = "synapse";
|
||||||
|
scrape_interval = "15s";
|
||||||
|
metrics_path = "/_synapse/metrics";
|
||||||
|
static_configs = [
|
||||||
|
{
|
||||||
|
targets = [ "localhost:${toString secrets.ports.matrix.listener}" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# job_name = "minecraft";
|
||||||
|
# # scrape_interval = "15s";
|
||||||
|
# # metrics_path = "/_synapse/metrics";
|
||||||
|
# static_configs = [
|
||||||
|
# {
|
||||||
|
# targets = [ "${secrets.ips.crafty}:${toString secrets.ports.prometheus-crafty}" ];
|
||||||
|
# labels = {
|
||||||
|
# server_name = "my-minecraft-server";
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
|
||||||
|
exporters = {
|
||||||
|
# jitsi.enable = true;
|
||||||
|
nginx.enable = true;
|
||||||
|
nginxlog.enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
# openldap
|
||||||
|
# openvpn
|
||||||
|
# nextcloud
|
||||||
|
# influxdb
|
||||||
|
# wireguard
|
||||||
|
# postgres = {
|
||||||
|
# enable = true;
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
# globalConfig = {
|
||||||
|
|
||||||
|
# };
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue