change how dashboards are deployed

This commit is contained in:
m0duspwnens
2021-07-20 10:43:00 -04:00
parent 458350e1a8
commit 258d303e7f
4 changed files with 25 additions and 49 deletions

View File

@@ -12,11 +12,11 @@
} }
] ]
}, },
"description": "MY DASHBOARD DESCRIPTION", "description": "Detailed {{nodeType}}",
"editable": true, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"id": 7, "id": {{ ID }},
"iteration": 1625757047565, "iteration": 1625757047565,
"links": [], "links": [],
"panels": [ "panels": [
@@ -53,7 +53,7 @@
] ]
}, },
"timezone": "browser", "timezone": "browser",
"title": "MY DASHBOARD NAME - Standalone", "title": "Detailed {{ nodeType }}",
"uid": "{{ UID }}", "uid": "{{ UID }}",
"version": 1 "version": 1
} }

View File

@@ -403,3 +403,5 @@ grafana:
y: 158 y: 158
h: 8 h: 8
w: 24 w: 24

View File

@@ -1,55 +1,19 @@
apiVersion: 1 apiVersion: 1
providers: providers:
- name: 'Detailed Dashboards'
{%- if grains['role'] != 'so-eval' %} folder: 'Detailed Dashboards'
- name: 'Manager'
folder: 'Manager'
type: file type: file
disableDeletion: false disableDeletion: false
editable: true editable: true
allowUiUpdates: true allowUiUpdates: true
options: options:
path: /etc/grafana/grafana_dashboards/manager path: /etc/grafana/grafana_dashboards/detailed
- name: 'Manager Search' - name: 'Overview Dashboards'
folder: 'Manager Search' folder: 'Overview Dashboards'
type: file type: file
disableDeletion: false disableDeletion: false
editable: true editable: true
allowUiUpdates: true allowUiUpdates: true
options: options:
path: /etc/grafana/grafana_dashboards/managersearch path: /etc/grafana/grafana_dashboards/overview
- 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 %}

View File

@@ -10,6 +10,12 @@
{% import_yaml 'grafana/defaults.yaml' as default_settings %} {% import_yaml 'grafana/defaults.yaml' as default_settings %}
{% set GRAFANA_SETTINGS = salt['grains.filter_by'](default_settings, default='grafana', merge=salt['pillar.get']('grafana', {})) %} {% 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) %} {% if grains['role'] in ['so-manager', 'so-managersearch', 'so-standalone'] or (grains.role == 'so-eval' and GRAFANA == 1) %}
@@ -115,17 +121,21 @@ grafana-config-files:
- source: salt://grafana/etc/files - source: salt://grafana/etc/files
- makedirs: True - makedirs: True
{% for nodeType in nodeTypes %}
common-standalone-dashboard: common-standalone-dashboard:
file.managed: 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 - user: 939
- group: 939 - group: 939
- template: jinja - template: jinja
- source: salt://grafana/dashboards/common_template.json.jinja - source: salt://grafana/dashboards/common_template.json.jinja
- defaults: - defaults:
UID: so_overview UID: so_overview
PANELS: {{GRAFANA_SETTINGS.dashboards.standalone.panels}} PANELS: {{GRAFANA_SETTINGS.dashboards.{{nodeType}}.panels}}
TEMPLATES: {{GRAFANA_SETTINGS.dashboards.standalone.templating.list}} TEMPLATES: {{GRAFANA_SETTINGS.dashboards.{{nodeType}}.templating.list}}
NODETYPE: {{ nodeType | capitalize }}
ID: {{ loop.index }}
{% endfor %}
so-grafana: so-grafana:
docker_container.running: docker_container.running: