mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 09:12:45 +01:00
29 lines
1.1 KiB
Bash
Executable File
29 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
|
|
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
|
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
|
# Elastic License 2.0.
|
|
|
|
. /usr/sbin/so-common
|
|
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
|
|
|
TOTAL_AVAILABLE_SPACE=0
|
|
|
|
# Iterate through the output of _cat/allocation for each node in the cluster to determine the total available space
|
|
{% if GLOBALS.role == 'so-manager' %}
|
|
for i in $(/usr/sbin/so-elasticsearch-query _cat/allocation | grep -v {{ GLOBALS.manager }} | awk '{print $3}'); do
|
|
{% else %}
|
|
for i in $(/usr/sbin/so-elasticsearch-query _cat/allocation | awk '{print $3}'); do
|
|
{% endif %}
|
|
size=$(echo $i | grep -oE '[0-9].*' | awk '{print int($1+0.5)}')
|
|
unit=$(echo $i | grep -oE '[A-Za-z]+')
|
|
if [ $unit = "tb" ]; then
|
|
size=$(( size * 1024 ))
|
|
fi
|
|
TOTAL_AVAILABLE_SPACE=$(( TOTAL_AVAILABLE_SPACE + size ))
|
|
done
|
|
|
|
# Calculate the percentage of available space based on our previously defined value
|
|
echo "$TOTAL_AVAILABLE_SPACE"
|