Compare commits
5 Commits
ffbc11c74c
...
c061a629cb
Author | SHA1 | Date |
---|---|---|
pitchum | c061a629cb | |
pitchum | d5a542cf97 | |
pitchum | 1b65fc9bdd | |
Anonymous Admin | 27ed344758 | |
pitchum | ebda9e97df |
|
@ -1,7 +1,7 @@
|
|||
#! /bin/bash
|
||||
|
||||
TEMPLATE=/srv/xmpp.chapril.org/tools/chaprilinfos/template-chaprilinfos.properties
|
||||
TARGET_FILE=/srv/chaprilinfos/well-known/xmppchaprilorg.properties
|
||||
TEMPLATE=/srv/xmpp.chapril.org/tools/chatonsinfos/template-chatonsinfos.properties
|
||||
TARGET_FILE=/srv/chatonsinfos/well-known/xmppchaprilorg.properties
|
||||
|
||||
main() {
|
||||
cat "${TEMPLATE}" \
|
|
@ -27,12 +27,14 @@ ejabberdctl_stats() {
|
|||
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_accounts_created_lastday/count\" interval=$INTERVAL $(date +%s):$(_count_accounts_created_lastday)"
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_accounts_created_lasthour/count\" interval=$INTERVAL $(date +%s):$(_count_accounts_created_lasthour)"
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_total_mam_rows/count\" interval=$INTERVAL $(date +%s):$(_count_mam_rows)"
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_total_mam_size/count\" interval=$INTERVAL $(date +%s):$(_estimate_mam_size)"
|
||||
echo -n "PUTVAL \"${HOSTNAME}/xmpp_public_rooms_occupants/count\" interval=$INTERVAL $(date +%s):" ; _xmpp_public_rooms_total_occupants
|
||||
}
|
||||
|
||||
http_upload_disk_usage() {
|
||||
subfolders_count=$(find ${HTTP_UPLOAD_DATADIR} -mindepth 1 -maxdepth 1 -type d | wc -l)
|
||||
total_size=$(du -s ${HTTP_UPLOAD_DATADIR} | awk '{print $1}')
|
||||
total_size=$(du --exclude=lost+found -s ${HTTP_UPLOAD_DATADIR} | awk '{print $1}')
|
||||
avg=$(( ${total_size} / ${subfolders_count} ))
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_upload_data_total/count\" interval=$INTERVAL $(date +%s):${total_size}"
|
||||
echo "PUTVAL \"${HOSTNAME}/xmpp_upload_data_avg/count\" interval=$INTERVAL $(date +%s):${avg}"
|
||||
|
@ -58,6 +60,18 @@ _count_accounts_created_lasthour() {
|
|||
"
|
||||
}
|
||||
|
||||
_count_mam_rows() {
|
||||
_sql_ejabberd "SELECT reltuples::bigint AS estimate FROM pg_class WHERE relname = 'archive'"
|
||||
}
|
||||
|
||||
_estimate_mam_size() {
|
||||
_sql_ejabberd "
|
||||
select pg_relation_size(relid) as mam_size
|
||||
from pg_catalog.pg_statio_user_tables
|
||||
where relname = 'archive'
|
||||
"
|
||||
}
|
||||
|
||||
_xmpp_public_rooms_total_occupants() {
|
||||
# keep results in a cache file for 5 minutes
|
||||
local cache_file=/var/tmp/cache_collectd_xmpp_rooms.data
|
||||
|
|
|
@ -22,15 +22,6 @@ main() {
|
|||
echo "* Total disk usage: $(du -sh ${STORAGE_DIR} | awk '{print $1}')"
|
||||
per_account_storage_usage
|
||||
|
||||
DATE=$(get_last_month)
|
||||
echo ""
|
||||
echo "h2. ## Audio/Video Call usage:"
|
||||
echo ""
|
||||
echo "* Total calls: $(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Offering stun" | wc -l)"
|
||||
echo "* Data relayed per protocol per call:"
|
||||
echo "** UDP: avg $(get_avg_UDP_turn_relayed_data) MiB, max $(get_max_UDP_turn_relayed_data) MiB, total $(get_total_UDP_turn_relayed_data) MiB"
|
||||
echo "** TCP: avg $(get_avg_TCP_turn_relayed_data) MiB, max $(get_max_TCP_turn_relayed_data) MiB, total $(get_total_TCP_turn_relayed_data) MiB"
|
||||
echo "** TLS: avg $(get_avg_TLS_turn_relayed_data) MiB, max $(get_max_TLS_turn_relayed_data) MiB, total $(get_total_TLS_turn_relayed_data) MiB"
|
||||
echo ""
|
||||
echo "h2. ## XMPP/IRC Bridge (Biboumi) usage:"
|
||||
echo ""
|
||||
|
@ -214,64 +205,4 @@ get_last_month() {
|
|||
echo $yearMonth
|
||||
}
|
||||
|
||||
get_total_UDP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "UDP" | cut -d" " -f6-6 | paste -sd+ - | bc)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_total_TCP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "TCP" | cut -d" " -f6-6 | paste -sd+ - | bc)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_total_TLS_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "TLS" | cut -d" " -f6-6 | paste -sd+ - | bc)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_max_UDP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "UDP" | cut -d" " -f6-6 | sort -g | tail -n 1)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_max_TCP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "TCP" | cut -d" " -f6-6 | sort -g | tail -n 1)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_max_TLS_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Relayed" | grep "TLS" | cut -d" " -f6-6 | sort -g | tail -n 1)
|
||||
echo "scale=4; $n / 1024" | bc -l
|
||||
}
|
||||
|
||||
get_avg_UDP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Offering stun" | wc -l)
|
||||
total=$(get_total_UDP_turn_relayed_data)
|
||||
if [ $n -eq 0 ]; then
|
||||
echo 0
|
||||
else
|
||||
echo "scale=2; $total / $n" | bc -l
|
||||
fi
|
||||
}
|
||||
|
||||
get_avg_TCP_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Offering stun" | wc -l)
|
||||
total=$(get_total_TCP_turn_relayed_data)
|
||||
if [ $n -eq 0 ]; then
|
||||
echo 0
|
||||
else
|
||||
echo "scale=2; $total / $n" | bc -l
|
||||
fi
|
||||
}
|
||||
|
||||
get_avg_TLS_turn_relayed_data() {
|
||||
n=$(zgrep "$DATE" /var/log/ejabberd/ejabberd.log* | grep -i -e "Offering stun" | wc -l)
|
||||
total=$(get_total_TLS_turn_relayed_data)
|
||||
if [ $n -eq 0 ]; then
|
||||
echo 0
|
||||
else
|
||||
echo "scale=2; $total / $n" | bc -l
|
||||
fi
|
||||
}
|
||||
|
||||
main
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
|
||||
xmpp_user_rooms_count() {
|
||||
sudo -u ejabberd ejabberdctl get_user_rooms ${1} chapril.org | wc -l
|
||||
}
|
||||
xmpp_user_contacts_count() {
|
||||
sudo -u ejabberd ejabberdctl get_roster ${1} chapril.org | wc -l
|
||||
}
|
||||
xmpp_user_info() {
|
||||
echo "${1}:$(xmpp_user_contacts_count ${1}):$(xmpp_user_rooms_count ${1})"
|
||||
}
|
||||
|
||||
xmpp_users() {
|
||||
for user in $(sudo -u ejabberd ejabberdctl registered_users chapril.org); do
|
||||
xmpp_user_info "${user}"
|
||||
done
|
||||
}
|
||||
|
||||
xmpp_ban_user_by_patern() {
|
||||
LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq)
|
||||
|
||||
for ADDRESS in $LIST
|
||||
do
|
||||
sudo -u ejabberd ejabberdctl kick_user $ADDRESS chapril.org
|
||||
sudo -u ejabberd ejabberdctl unregister $ADDRESS chapril.org
|
||||
echo Done with $ADDRESS
|
||||
done
|
||||
}
|
||||
|
||||
xmpp_send_server_notice() {
|
||||
sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org \
|
||||
chapril.org/announce/online "Annonce du Serveur" "${1}"
|
||||
}
|
||||
|
||||
xmpp_send_server_notice_to_connected() {
|
||||
LIST=$(sudo -u ejabberd ejabberdctl connected_users_info | cut -f 1 | cut -d "/" -f 1 | uniq)
|
||||
|
||||
for ADDRESS in $LIST
|
||||
do
|
||||
sudo -u ejabberd ejabberdctl send_message headline chapril.org "$ADDRESS" "Annonce du Serveur" "${2}"
|
||||
echo Done with $ADDRESS
|
||||
done
|
||||
}
|
||||
|
||||
xmpp_send_server_notice_by_pattern() {
|
||||
LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq)
|
||||
|
||||
for ADDRESS in $LIST
|
||||
do
|
||||
sudo -u ejabberd ejabberdctl send_message headline chapril.org "$ADDRESS" "Annonce du Serveur" "${2}"
|
||||
echo Done with $ADDRESS
|
||||
done
|
||||
}
|
|
@ -27,8 +27,7 @@ xmpp_ban_users() {
|
|||
}
|
||||
|
||||
xmpp_send_server_notice_all() {
|
||||
sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org \
|
||||
chapril.org/announce/online "Annonce du Serveur" "${1}"
|
||||
sudo -u ejabberd ejabberdctl send_message chat chapril.org chapril.org/announce/online "Annonce du Serveur" "${1}"
|
||||
}
|
||||
|
||||
xmpp_send_server_notice_connected() {
|
||||
|
@ -41,7 +40,7 @@ xmpp_send_server_notice_connected() {
|
|||
done
|
||||
}
|
||||
|
||||
xmpp_send_server_notice() {
|
||||
xmpp_send_server_notice_pattern() {
|
||||
LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq)
|
||||
|
||||
for ADDRESS in $LIST
|
||||
|
|
Loading…
Reference in New Issue