From 81cf0d9fbe3d8c1f2dfbaaab823d4c3471291788 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Sun, 13 Dec 2020 13:46:13 +0100 Subject: [PATCH] Adaptation to log rotation and more infos for calls --- rapport_activite/rapport_activites.sh | 41 +++++++++++++++++---------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/rapport_activite/rapport_activites.sh b/rapport_activite/rapport_activites.sh index deb1474..60b8a56 100755 --- a/rapport_activite/rapport_activites.sh +++ b/rapport_activite/rapport_activites.sh @@ -26,15 +26,11 @@ main() { echo "h2. ## Audio/Video Call usage:" # Dans la config actuelle de logrotate, le log du mois dernier est stocké en tete clair, et tous les autres sont compressés par gzip. Un cat ne sortira de texte lisible que pour les fichiers en clair soit forcément celui du mois précédent echo "" - echo "* Number of calls relayed: $(cat /var/log/ejabberd/ejabberd.log* | grep "Offering STUN/TURN services" | wc -l)" - echo "* Average data relayed per protocol per call:" - echo "** UDP: $(get_avg_UDP_turn_relayed_data) KiB" - echo "** TCP: $(get_avg_TCP_turn_relayed_data) KiB" - echo "** TLS over TCP: $(get_avg_TLS_turn_relayed_data) KiB" - echo "* Total data relayed per protocol:" - echo "** UDP: $(get_total_UDP_turn_relayed_data) KiB" - echo "** TCP: $(get_total_TCP_turn_relayed_data) KiB" - echo "** TLS over TCP: $(get_total_TLS_turn_relayed_data) KiB" + echo "* Number of calls relayed: $(ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Offering stun" | wc -l)" + echo "* Data relayed per protocol per call:" + echo "** UDP: avg $(get_avg_UDP_turn_relayed_data) KiB, max $(get_max_UDP_turn_relayed_data) KiB, total $(get_total_UDP_turn_relayed_data) KiB" + echo "** TCP: avg $(get_avg_TCP_turn_relayed_data) KiB, max $(get_max_TCP_turn_relayed_data) KiB, total $(get_total_TCP_turn_relayed_data) KiB" + echo "** TLS: avg $(get_avg_TLS_turn_relayed_data) KiB, max $(get_max_TLS_turn_relayed_data) KiB, total $(get_total_TLS_turn_relayed_data) KiB" } get_hard_quota() { @@ -97,32 +93,47 @@ count_archived_messages() { psql -U ejabberd -h localhost ejabberd -c "select count(*) from archive where peer not like 'irc%' and username not in ('r.giskard', 'lisa.simpson', 'bart.simpson')" -t | grep -v '^$' | awk '{print $1}' } +get_stunstats_from_log() { + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Offering stun" +} get_total_UDP_turn_relayed_data() { - cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "UDP" | cut -d" " -f6-6 | paste -sd+ - | bc + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "UDP" | cut -d" " -f6-6 | paste -sd+ - | bc } get_total_TCP_turn_relayed_data() { - cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "TCP" | cut -d" " -f6-6 | paste -sd+ - | bc + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TCP" | cut -d" " -f6-6 | paste -sd+ - | bc } get_total_TLS_turn_relayed_data() { - cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "TLS" | cut -d" " -f6-6 | paste -sd+ - | bc + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TLS" | cut -d" " -f6-6 | paste -sd+ - | bc +} + +get_max_UDP_turn_relayed_data() { + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "UDP" | cut -d" " -f6-6 | sort | tail -n 1 +} + +get_max_TCP_turn_relayed_data() { + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TCP" | cut -d" " -f6-6 | sort | tail -n 1 +} + +get_max_TLS_turn_relayed_data() { + ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TLS" | cut -d" " -f6-6 | paste -sd+ - | sort | tail -n 1 } get_avg_UDP_turn_relayed_data() { - num=$(cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "UDP" | wc -l) + num=$(ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "UDP" | wc -l) total=$(get_total_UDP_turn_relayed_data) echo "scale=2; $total / $num" | bc -l } get_avg_TCP_turn_relayed_data() { - num=$(cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "TCP" | wc -l) + num=$(ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TCP" | wc -l) total=$(get_total_TCP_turn_relayed_data) echo "scale=2; $total / $num" | bc -l } get_avg_TLS_turn_relayed_data() { - num=$(cat /var/log/ejabberd/ejabberd.log* |grep "Relayed" | grep "TLS" | wc -l) + num=$(ls -1tr /var/log/ejabberd/ejabberd.log* | tail -n 5 | xargs zcat -f | grep -i -e "Relayed" | grep "TLS" | wc -l) total=$(get_total_TLS_turn_relayed_data) echo "scale=2; $total / $num" | bc -l }