poiuty

Рисуем график онлайна (munin)

2 сообщения в этой теме

e6b4817d475bd7e66d4c0ac7303e.png

mysql online - показывает онлайн "из базы", живые + мерчи

SELECT COUNT(*) as total FROM `char` WHERE online = 1;

netstat online (map server) - это количество активных соединений (мап сервер), показывает реальный онлайн, без мерчей и т.д.

netstat -n | grep "ESTABLISHED" | grep ":5121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}'

Аналогично с netstat char & login


#!/bin/sh
# Athena online, munin plugin by poiuty

EA_SERV='/server/conf'

if [ "$1" = "config" ]; then
echo 'graph_title Athena Online Users'
echo 'graph_args --base 1000'
echo 'graph_category Athena'
echo 'graph_info This graph shows the *Athena server online users.'

echo 'graph_vlabel online'
echo 'athena_mysql.label mysql online'
echo 'athena_mysql.info MySQL online stats'

echo 'athena_netstat_map.label netstat online (map server)'
echo 'athena_netstat_map.info NETSTAT online stats'

echo 'athena_netstat_char.label netstat char server'
echo 'athena_netstat_char.info NETSTAT char server'

echo 'athena_netstat_login.label netstat login server'
echo 'athena_netstat_login.info NETSTAT login server'

exit 0
fi


LOGIN=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_id:' | sed 's/char_server_id: //g')
PASSWD=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_pw:' | sed 's/char_server_pw: //g')
DB=$(cat $EA_SERV/inter_athena.conf | grep 'char_server_db:' | sed 's/char_server_db: //g')


echo 'SELECT COUNT(*) as total FROM `char` WHERE online = 1;' | mysql $DB -u$LOGIN -p$PASSWD | sed ':a;N;$!ba;s/\n/ /g' | sed s/[^0-9]//g | xargs -r printf "athena_mysql.value %s\n"
netstat -n | grep "ESTABLISHED" | grep ":5121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_map.value %s\n"
netstat -n | grep "ESTABLISHED" | grep ":6121" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_char.value %s\n"
netstat -n | grep "ESTABLISHED" | grep ":6900" | awk '{print ($1);}' | uniq -c | awk '{print ($1);}' | xargs -r printf "athena_netstat_login.value %s\n"

Изменено пользователем poiuty
4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
poiuty, что то Вы помешались на munin. Хотя идея хорошая, плюсую Вас.
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас