Add stats about user-agents
This commit is contained in:
parent
2499c291c3
commit
d2a005ebbd
@ -1,3 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
|
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
|
||||||
INTERVAL="${COLLECTD_INTERVAL:-60}"
|
INTERVAL="${COLLECTD_INTERVAL:-60}"
|
||||||
|
|
||||||
@ -12,7 +14,7 @@ main() {
|
|||||||
ejabberdctl_stats
|
ejabberdctl_stats
|
||||||
http_upload_disk_usage
|
http_upload_disk_usage
|
||||||
captcha_stats
|
captcha_stats
|
||||||
#client_stats # XXX pas encore activée
|
_useragents_stats
|
||||||
sleep "$INTERVAL"
|
sleep "$INTERVAL"
|
||||||
do true; done
|
do true; done
|
||||||
}
|
}
|
||||||
@ -100,17 +102,68 @@ _sql_ejabberd() {
|
|||||||
psql -U ejabberd -h localhost ejabberd -c "${1}" -t | grep -v '^$' | awk '{print $1}'
|
psql -U ejabberd -h localhost ejabberd -c "${1}" -t | grep -v '^$' | awk '{print $1}'
|
||||||
}
|
}
|
||||||
|
|
||||||
# XXX la syntaxe de la boucle while ci-dessous fait échouer le démarrage de collectd.
|
|
||||||
# exec plugin: exec_read_one: error = /srv/xmpp.chapril.org/tools/metrology/collectd_exec_xmpp.sh: 44: /srv/xmpp.chapril.org/tools/metrology/collectd_exec_xmpp.sh: Syntax error: redirection unexpected
|
_useragents_stats() {
|
||||||
#client_stats(){
|
declare -A counters
|
||||||
# return 0
|
items="$(ejabberdctl connected_users_info | sed -r 's/^(.*)\s+c2s_.*/\1/g' | cut -d/ -f2- | sed -r 's/\s+/_/g' )"
|
||||||
# # Fonction pas encore activée car je n'aime pas l'idée de créer dans influxdb autant de noms de métriques que de clients XMPP.
|
for line in $items; do
|
||||||
# # Il faut encore étudier le format d'envoi de collectd.
|
if echo ${line} | grep -qEi gajim ; then
|
||||||
# while read -r line ; do
|
ua=gajim
|
||||||
# clientname=$(echo ${line} | awk '{print $2}')
|
elif echo ${line} | grep -qEi dino ; then
|
||||||
# count=$(echo ${line} | awk '{print $1}')
|
ua=dino
|
||||||
# echo "PUTVAL \"${HOSTNAME}/xmpp_client_${clientname}/count\" interval=$INTERVAL $(date +%s):${count}"
|
elif echo ${line} | grep -qEi profanity ; then
|
||||||
# done < <(ejabberdctl connected_users | sed -r 's;^.*@chapril.org/([^. -]+).*;\1;' | sort | uniq -c | sort -n)
|
ua=profanity
|
||||||
#}
|
elif echo ${line} | grep -qEi conversations ; then
|
||||||
|
ua=conversations
|
||||||
|
elif echo ${line} | grep -qEi blabber ; then
|
||||||
|
ua=blabber
|
||||||
|
elif echo ${line} | grep -qEi cheogram ; then
|
||||||
|
ua=cheogram
|
||||||
|
elif echo ${line} | grep -qEi monocles ; then
|
||||||
|
ua=monocles
|
||||||
|
elif echo ${line} | grep -qEi monal ; then
|
||||||
|
ua=monal
|
||||||
|
elif echo ${line} | grep -qEi snikket ; then
|
||||||
|
ua=snikket
|
||||||
|
elif echo ${line} | grep -qEi movim ; then
|
||||||
|
ua=movim
|
||||||
|
elif echo ${line} | grep -qEi converse ; then
|
||||||
|
ua=converse
|
||||||
|
elif echo ${line} | grep -qEi unichat ; then
|
||||||
|
ua=unichat
|
||||||
|
elif echo ${line} | grep -qEi "poezio" ; then
|
||||||
|
ua=poezio
|
||||||
|
elif echo ${line} | grep -qEi mcabber ; then
|
||||||
|
ua=mcabber
|
||||||
|
elif echo ${line} | grep -qEi c0nnect ; then
|
||||||
|
ua=c0nnect
|
||||||
|
elif echo ${line} | grep -qEi "pix-art" ; then
|
||||||
|
ua=pix-art
|
||||||
|
elif echo ${line} | grep -qEi "bitlbee" ; then
|
||||||
|
ua=bitlbee
|
||||||
|
elif echo ${line} | grep -qEi "(pidgin|gaim)" ; then
|
||||||
|
ua=pidgin
|
||||||
|
elif echo ${line} | grep -qEi "^[0-9]{21,26}" ; then
|
||||||
|
ua=pidgin-probably
|
||||||
|
elif echo ${line} | grep -qEi "macbook" ; then
|
||||||
|
ua=mac-computer
|
||||||
|
elif echo ${line} | grep -qEi "imac-de" ; then
|
||||||
|
ua=mac-computer
|
||||||
|
else
|
||||||
|
ua=other
|
||||||
|
fi
|
||||||
|
k=${counters[$ua]:-0}
|
||||||
|
((k++))
|
||||||
|
counters[$ua]=$k
|
||||||
|
done
|
||||||
|
|
||||||
|
ts=$(date +%s)
|
||||||
|
for i in "${!counters[@]}"; do
|
||||||
|
ua=$i
|
||||||
|
count=${counters[$i]}
|
||||||
|
echo "PUTVAL \"${HOSTNAME}/xmpp_useragent/count-${ua}\" interval=${INTERVAL} ${ts}:${count}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
main
|
main
|
||||||
|
Loading…
Reference in New Issue
Block a user