From e4fec5dd4e941e204cd67703ee99fcb3715e56ab Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Fri, 11 Aug 2023 17:42:40 +0200 Subject: [PATCH] add support for diskfree add sidecar for ntfy alerts for grafana --- ansible/roles/monitoring/docker-stack.yml.j2 | 17 +++++++++++++++++ ansible/roles/monitoring/elasticsearch.yml.j2 | 8 ++++++++ ansible/roles/monitoring/vars/main.yml | 8 ++++++++ terraform/elasticsearch/main.tf | 2 +- 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 ansible/roles/monitoring/vars/main.yml diff --git a/ansible/roles/monitoring/docker-stack.yml.j2 b/ansible/roles/monitoring/docker-stack.yml.j2 index c8639bc..0457191 100644 --- a/ansible/roles/monitoring/docker-stack.yml.j2 +++ b/ansible/roles/monitoring/docker-stack.yml.j2 @@ -4,6 +4,7 @@ version: "3.8" networks: traefik: external: true + grafana: configs: esdatasource: @@ -80,6 +81,7 @@ services: image: grafana/grafana-oss networks: - traefik + - grafana deploy: labels: - traefik.enable=true @@ -100,6 +102,21 @@ services: - source: esdatasource target: /etc/grafana/provisioning/datasources/elasticsearch.yaml + grafana-ntfy: + image: kittyandrew/grafana-to-ntfy:master + ports: + - 8080:8080 + networks: + grafana: + aliases: + - grafana-ntfy + environment: + - NTFY_URL=https://ntfy.kun.is/alerts + - NTFY_BAUTH_USER=pim + - NTFY_BAUTH_PASS={{ ntfy_password }} + - BAUTH_USER=admin + - BAUTH_PASS=test + fluentd: image: git.kun.is/pim/fluentd:1.0.1 ports: diff --git a/ansible/roles/monitoring/elasticsearch.yml.j2 b/ansible/roles/monitoring/elasticsearch.yml.j2 index c2aa853..aeb30af 100644 --- a/ansible/roles/monitoring/elasticsearch.yml.j2 +++ b/ansible/roles/monitoring/elasticsearch.yml.j2 @@ -17,3 +17,11 @@ datasources: jsonData: index: 'fluentd.memory-*' timeField: '@timestamp' + + - name: diskfree + type: elasticsearch + access: proxy + url: http://maestro.dmz:{{ elasticsearch_port }} + jsonData: + index: 'fluentd.diskfree-*' + timeField: '@timestamp' diff --git a/ansible/roles/monitoring/vars/main.yml b/ansible/roles/monitoring/vars/main.yml new file mode 100644 index 0000000..326b722 --- /dev/null +++ b/ansible/roles/monitoring/vars/main.yml @@ -0,0 +1,8 @@ +ntfy_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 36333232393635383732336630626463633038353862333430396437333733376239343531663339 + 6364643930636566326463393963316263323061613032350a383930376537373437633333623639 + 66613439636531393761366534333134383231303637643063633537393535356536636530666665 + 6537653731666130610a346135373562333931646237396233613065353165623336373935386137 + 36313830623931313238333430346238626562353661616465333736346230396162386137363435 + 3362636565336639643832626165613236643466633537633236 diff --git a/terraform/elasticsearch/main.tf b/terraform/elasticsearch/main.tf index a1fbe06..818dba0 100644 --- a/terraform/elasticsearch/main.tf +++ b/terraform/elasticsearch/main.tf @@ -30,7 +30,7 @@ resource "elasticstack_elasticsearch_index_template" "metrics_template" { name = "metrics_template" priority = 42 - index_patterns = ["fluentd.cpu*", "fluentd.memory*"] + index_patterns = ["fluentd.cpu-*", "fluentd.memory-*", "fluentd.diskfree-*"] template { settings = jsonencode({