From 3393b77535f2aa561a8bafb791a1ffcde640b870 Mon Sep 17 00:00:00 2001 From: m0duspwnens Date: Wed, 21 Jul 2021 08:54:26 -0400 Subject: [PATCH] add sensor dashboard --- salt/grafana/defaults.yaml | 352 ++++++++++++++++++ salt/grafana/init.sls | 2 +- salt/grafana/templates/servername_sensor.json | 24 ++ 3 files changed, 377 insertions(+), 1 deletion(-) create mode 100644 salt/grafana/templates/servername_sensor.json diff --git a/salt/grafana/defaults.yaml b/salt/grafana/defaults.yaml index f68f16ae0..72e5f0bc0 100644 --- a/salt/grafana/defaults.yaml +++ b/salt/grafana/defaults.yaml @@ -459,6 +459,358 @@ grafana: w: 24 + sensor: + templating: + list: + - servername_sensor + - containers + - manint + - monint + - cpucount + - disk + panels: + row_overview: + gridPos: + x: 0 + y: 0 + h: 1 + w: 24 + system_uptime: + gridPos: + x: 0 + y: 1 + h: 4 + w: 4 + load_average_5_minute_stat: + gridPos: + x: 4 + y: 1 + h: 4 + w: 4 + cpu_usage_guage: + gridPos: + x: 8 + y: 1 + h: 4 + w: 2 + ram_usage_guage: + gridPos: + x: 10 + y: 1 + h: 4 + w: 2 + swap_usage_guage: + gridPos: + x: 12 + y: 1 + h: 4 + w: 2 + rootfs_used_guage: + gridPos: + x: 14 + y: 1 + h: 4 + w: 2 + nsm_used_guage: + gridPos: + x: 16 + y: 1 + h: 4 + w: 2 + pcap_retention_stat: + gridPos: + x: 18 + y: 1 + h: 4 + w: 2 + io_wait_stat: + gridPos: + x: 20 + y: 1 + h: 4 + w: 4 + monitor_interface_traffic_stat: + gridPos: + x: 8 + y: 5 + h: 4 + w: 4 + zeek_packet_loss_stat: + gridPos: + x: 12 + y: 5 + h: 4 + w: 4 + suricata_packet_loss_stat: + gridPos: + x: 16 + y: 5 + h: 4 + w: 4 + stenographer_packet_loss_stat: + gridPos: + x: 20 + y: 5 + h: 4 + w: 4 + + row_cpu: + gridPos: + x: 0 + y: 9 + h: 1 + w: 24 + cpu_usage_tasks_graph: + gridPos: + x: 0 + y: 10 + h: 8 + w: 24 + load_averages_graph: + gridPos: + x: 0 + y: 18 + h: 8 + w: 12 + process_status_graph: + gridPos: + x: 12 + y: 18 + h: 8 + w: 12 + + row_memory: + gridPos: + x: 0 + y: 26 + h: 1 + w: 24 + memory_usage_graph: + gridPos: + x: 0 + y: 27 + h: 8 + w: 24 + + row_swap: + gridPos: + x: 0 + y: 35 + h: 1 + w: 24 + swap_io_bytes_graph: + gridPos: + x: 0 + y: 36 + h: 8 + w: 12 + swap_usage_bytes_graph: + gridPos: + x: 12 + y: 36 + h: 8 + w: 12 + + row_network: + gridPos: + x: 0 + y: 44 + h: 1 + w: 24 + management_traffic_graph: + gridPos: + x: 0 + y: 45 + h: 8 + w: 24 + management_interface_packets_graph: + gridPos: + x: 0 + y: 53 + h: 8 + w: 12 + management_interface_drops_graph: + gridPos: + x: 12 + y: 53 + h: 8 + w: 12 + monitor_traffic_graph: + gridPos: + x: 0 + y: 61 + h: 8 + w: 24 + monitor_interface_packets_graph: + gridPos: + x: 0 + y: 69 + h: 8 + w: 12 + monitor_interface_drops_graph: + gridPos: + x: 12 + y: 69 + h: 8 + w: 12 + + row_disk_usage: + gridPos: + x: 0 + y: 77 + h: 1 + w: 24 + disk_usage_root_graph: + gridPos: + x: 0 + y: 78 + h: 8 + w: 12 + disk_usage_nsm_graph: + gridPos: + x: 12 + y: 78 + h: 8 + w: 12 + + row_disk_iops: + gridPos: + x: 0 + y: 86 + h: 1 + w: 24 + disk_io_requests_graph: + gridPos: + x: 0 + y: 87 + h: 8 + w: 8 + disk_io_bytes_graph: + gridPos: + x: 8 + y: 87 + h: 8 + w: 8 + disk_io_time_graph: + gridPos: + x: 16 + y: 87 + h: 8 + w: 8 + + row_docker_details: + gridPos: + x: 0 + y: 95 + h: 1 + w: 24 + cpu_docker_combined_current_graph: + gridPos: + x: 0 + y: 96 + h: 8 + w: 24 + cpu_docker_combined_trend_graph: + gridPos: + x: 0 + y: 104 + h: 8 + w: 24 + memory_used_docker_combined_current_graph: + gridPos: + x: 0 + y: 112 + h: 8 + w: 24 + memory_used_docker_combined_trend_graph: + gridPos: + x: 0 + y: 120 + h: 8 + w: 24 + network_usage_docker_combined_current_graph: + gridPos: + x: 0 + y: 128 + h: 8 + w: 24 + network_usage_docker_combined_trend_graph: + gridPos: + x: 0 + y: 136 + h: 8 + w: 24 + uptime_docker_combined_current_graph: + gridPos: + x: 0 + y: 144 + h: 8 + w: 12 + uptime_docker_combined_trend_graph: + gridPos: + x: 12 + y: 144 + h: 8 + w: 12 + + row_zeek: + gridPos: + x: 0 + y: 152 + h: 1 + w: 24 + zeek_packet_loss_graph: + gridPos: + x: 0 + y: 153 + h: 8 + w: 10 + zeek_capture_loss_graph: + gridPos: + x: 10 + y: 153 + h: 8 + w: 10 + zeek_restarts_healthcheck_stat: + gridPos: + x: 20 + y: 153 + h: 8 + w: 4 + + row_suricata: + gridPos: + x: 0 + y: 161 + h: 1 + w: 24 + suricata_packet_loss_graph: + gridPos: + x: 0 + y: 162 + h: 8 + w: 24 + + row_stenographer: + gridPos: + x: 0 + y: 170 + h: 1 + w: 24 + stenographer_packet_loss_graph: + gridPos: + x: 0 + y: 171 + h: 8 + w: 16 + stenographer_pcap_retention_graph: + gridPos: + x: 16 + y: 171 + h: 8 + w: 8 + + heavynode: templating: list: diff --git a/salt/grafana/init.sls b/salt/grafana/init.sls index f4dab1a56..4b47504c0 100644 --- a/salt/grafana/init.sls +++ b/salt/grafana/init.sls @@ -14,7 +14,7 @@ {% set nodeTypes = ['eval'] %} {% else %} {#% set nodeTypes = ['standalone', 'manager', 'managersearch', 'sensortab', 'searchnode'] %#} - {% set nodeTypes = ['standalone', 'heavynode'] %} + {% set nodeTypes = ['standalone', 'heavynode', 'sensor'] %} {% endif %} {% if grains['role'] in ['so-manager', 'so-managersearch', 'so-standalone'] or (grains.role == 'so-eval' and GRAFANA == 1) %} diff --git a/salt/grafana/templates/servername_sensor.json b/salt/grafana/templates/servername_sensor.json new file mode 100644 index 000000000..e740ba96d --- /dev/null +++ b/salt/grafana/templates/servername_sensor.json @@ -0,0 +1,24 @@ +{ + "allValue": null, + "current": {}, + "datasource": "InfluxDB", + "definition": "show tag values with key=\"host\" where \"role\" = 'sensor'", + "description": "", + "error": null, + "hide": 0, + "includeAll": false, + "label": "Node", + "multi": false, + "name": "servername", + "options": [], + "query": "show tag values with key=\"host\" where \"role\" = 'sensor'", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }