From 258d303e7ffbfd9fb88ec0ce899b86187ef4883d Mon Sep 17 00:00:00 2001 From: m0duspwnens Date: Tue, 20 Jul 2021 10:43:00 -0400 Subject: [PATCH] change how dashboards are deployed --- .../dashboards/common_template.json.jinja | 6 +-- salt/grafana/defaults.yaml | 2 + salt/grafana/etc/dashboards/dashboard.yml | 48 +++---------------- salt/grafana/init.sls | 18 +++++-- 4 files changed, 25 insertions(+), 49 deletions(-) diff --git a/salt/grafana/dashboards/common_template.json.jinja b/salt/grafana/dashboards/common_template.json.jinja index 2f77372dc..b3f51fd87 100644 --- a/salt/grafana/dashboards/common_template.json.jinja +++ b/salt/grafana/dashboards/common_template.json.jinja @@ -12,11 +12,11 @@ } ] }, - "description": "MY DASHBOARD DESCRIPTION", + "description": "Detailed {{nodeType}}", "editable": true, "gnetId": null, "graphTooltip": 0, - "id": 7, + "id": {{ ID }}, "iteration": 1625757047565, "links": [], "panels": [ @@ -53,7 +53,7 @@ ] }, "timezone": "browser", - "title": "MY DASHBOARD NAME - Standalone", + "title": "Detailed {{ nodeType }}", "uid": "{{ UID }}", "version": 1 } diff --git a/salt/grafana/defaults.yaml b/salt/grafana/defaults.yaml index fdb094836..e145251e1 100644 --- a/salt/grafana/defaults.yaml +++ b/salt/grafana/defaults.yaml @@ -403,3 +403,5 @@ grafana: y: 158 h: 8 w: 24 + + \ No newline at end of file diff --git a/salt/grafana/etc/dashboards/dashboard.yml b/salt/grafana/etc/dashboards/dashboard.yml index b00dadc04..3820527e8 100644 --- a/salt/grafana/etc/dashboards/dashboard.yml +++ b/salt/grafana/etc/dashboards/dashboard.yml @@ -1,55 +1,19 @@ apiVersion: 1 providers: - -{%- if grains['role'] != 'so-eval' %} -- name: 'Manager' - folder: 'Manager' +- name: 'Detailed Dashboards' + folder: 'Detailed Dashboards' type: file disableDeletion: false editable: true allowUiUpdates: true options: - path: /etc/grafana/grafana_dashboards/manager -- name: 'Manager Search' - folder: 'Manager Search' + path: /etc/grafana/grafana_dashboards/detailed +- name: 'Overview Dashboards' + folder: 'Overview Dashboards' type: file disableDeletion: false editable: true allowUiUpdates: true options: - path: /etc/grafana/grafana_dashboards/managersearch -- name: 'Sensor Nodes' - folder: 'Sensor Nodes' - type: file - disableDeletion: false - editable: true - allowUiUpdates: true - options: - path: /etc/grafana/grafana_dashboards/sensor_nodes -- name: 'Search Nodes' - folder: 'Search Nodes' - type: file - disableDeletion: false - editable: true - allowUiUpdates: true - options: - path: /etc/grafana/grafana_dashboards/search_nodes -- name: 'Standalone' - folder: 'Standalone' - type: file - disableDeletion: false - editable: true - allowUiUpdates: true - options: - path: /etc/grafana/grafana_dashboards/standalone -{%- else %} -- name: 'Security Onion' - folder: 'Eval Mode' - type: file - disableDeletion: false - editable: true - allowUiUpdates: true - options: - path: /etc/grafana/grafana_dashboards/eval -{% endif %} + path: /etc/grafana/grafana_dashboards/overview diff --git a/salt/grafana/init.sls b/salt/grafana/init.sls index 777b7ca6d..39f9d8f13 100644 --- a/salt/grafana/init.sls +++ b/salt/grafana/init.sls @@ -10,6 +10,12 @@ {% import_yaml 'grafana/defaults.yaml' as default_settings %} {% set GRAFANA_SETTINGS = salt['grains.filter_by'](default_settings, default='grafana', merge=salt['pillar.get']('grafana', {})) %} +{% if grains.role == 'so-eval' %} + {% set nodeTypes = ['eval'] %} +{% else %} + {#% set nodeTypes = ['standalone', 'manager', 'managersearch', 'sensortab', 'searchnode'] %#} + {% set nodeTypes = ['standalone'] %} +{% endif %} {% if grains['role'] in ['so-manager', 'so-managersearch', 'so-standalone'] or (grains.role == 'so-eval' and GRAFANA == 1) %} @@ -114,18 +120,22 @@ grafana-config-files: - group: 939 - source: salt://grafana/etc/files - makedirs: True - + +{% for nodeType in nodeTypes %} common-standalone-dashboard: file.managed: - - name: /opt/so/conf/grafana/grafana_dashboards/standalone/common_standalone.json + - name: /opt/so/conf/grafana/grafana_dashboards/detailed/{{nodeType}}.json - user: 939 - group: 939 - template: jinja - source: salt://grafana/dashboards/common_template.json.jinja - defaults: UID: so_overview - PANELS: {{GRAFANA_SETTINGS.dashboards.standalone.panels}} - TEMPLATES: {{GRAFANA_SETTINGS.dashboards.standalone.templating.list}} + PANELS: {{GRAFANA_SETTINGS.dashboards.{{nodeType}}.panels}} + TEMPLATES: {{GRAFANA_SETTINGS.dashboards.{{nodeType}}.templating.list}} + NODETYPE: {{ nodeType | capitalize }} + ID: {{ loop.index }} +{% endfor %} so-grafana: docker_container.running: