Compare commits
5 Commits
ffbc11c74c
...
c061a629cb
Author | SHA1 | Date | |
---|---|---|---|
c061a629cb | |||
d5a542cf97 | |||
1b65fc9bdd | |||
|
27ed344758 | ||
ebda9e97df |
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
TEMPLATE=/srv/xmpp.chapril.org/tools/chaprilinfos/template-chaprilinfos.properties
|
TEMPLATE=/srv/xmpp.chapril.org/tools/chatonsinfos/template-chatonsinfos.properties
|
||||||
TARGET_FILE=/srv/chaprilinfos/well-known/xmppchaprilorg.properties
|
TARGET_FILE=/srv/chatonsinfos/well-known/xmppchaprilorg.properties
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
cat "${TEMPLATE}" \
|
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_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_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
|
echo -n "PUTVAL \"${HOSTNAME}/xmpp_public_rooms_occupants/count\" interval=$INTERVAL $(date +%s):" ; _xmpp_public_rooms_total_occupants
|
||||||
}
|
}
|
||||||
|
|
||||||
http_upload_disk_usage() {
|
http_upload_disk_usage() {
|
||||||
subfolders_count=$(find ${HTTP_UPLOAD_DATADIR} -mindepth 1 -maxdepth 1 -type d | wc -l)
|
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} ))
|
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_total/count\" interval=$INTERVAL $(date +%s):${total_size}"
|
||||||
echo "PUTVAL \"${HOSTNAME}/xmpp_upload_data_avg/count\" interval=$INTERVAL $(date +%s):${avg}"
|
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() {
|
_xmpp_public_rooms_total_occupants() {
|
||||||
# keep results in a cache file for 5 minutes
|
# keep results in a cache file for 5 minutes
|
||||||
local cache_file=/var/tmp/cache_collectd_xmpp_rooms.data
|
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}')"
|
echo "* Total disk usage: $(du -sh ${STORAGE_DIR} | awk '{print $1}')"
|
||||||
per_account_storage_usage
|
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 ""
|
||||||
echo "h2. ## XMPP/IRC Bridge (Biboumi) usage:"
|
echo "h2. ## XMPP/IRC Bridge (Biboumi) usage:"
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -214,64 +205,4 @@ get_last_month() {
|
||||||
echo $yearMonth
|
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
|
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() {
|
xmpp_send_server_notice_all() {
|
||||||
sudo -u ejabberd ejabberdctl send_message headline xmpp-admin@chapril.org \
|
sudo -u ejabberd ejabberdctl send_message chat chapril.org chapril.org/announce/online "Annonce du Serveur" "${1}"
|
||||||
chapril.org/announce/online "Annonce du Serveur" "${1}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xmpp_send_server_notice_connected() {
|
xmpp_send_server_notice_connected() {
|
||||||
|
@ -41,7 +40,7 @@ xmpp_send_server_notice_connected() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
xmpp_send_server_notice() {
|
xmpp_send_server_notice_pattern() {
|
||||||
LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq)
|
LIST=$(sudo -u ejabberd ejabberdctl registered_users chapril.org | grep ${1} | uniq)
|
||||||
|
|
||||||
for ADDRESS in $LIST
|
for ADDRESS in $LIST
|
||||||
|
|
Loading…
Reference in New Issue
Block a user