stats.pl и stream:// логи сервера

Многие сталкивались с проблемой у psychostats, что логи сервера, которые передаются потоком вида (stream://192.168.192.3:27700), не всегда удается захватить скриптом stats.pl, который идет в комплекте. Оптимальный способ для работы из под линукс это засовывание скрипта ./stats.pl -v в screen, чтобы иметь возможность просматривать всю инфу о потоке.

Для этого я лично использую комманду:screen -AdmS stats ./stats.pl -v, где stats это просто название. Но увы, даже в скрине, скрипт иногда отваливается от сервера логов. Причем это бывает как в случае использования локальной машины, так и в случае удаленной. Чтобы вылечить этот недуг, я сделал небольшой скриптик для cron, который автоматически поднимает упавший канал.

Скрипт написан через одно место, но все таки он работает:

#!/bin/bash
date >> /tmp/StatsDB
number=`screen -ls | awk ‘/Sockets/ {print $1}’`
echo «w».$number.»w»
if [ $number = 6 ]
then
echo «All stats running» >> /tmp/StatsDB
else
echo «Some stats missed, trying rerun» >> /tmp/StatsDB
/home/user/psycholog/runstats
fi

Это сделано для 6 скринов (5 серверов и один скрин заускается для пересчета наград ежедневных). Если он не находит живых 6 скринов, автоматом поднимается еще один. Этот скрипт, назовем его check, вызывается через crontab демоном crond каждый четный час.

Запускает он маленький скрипт runstats, который содержит в себе строку:

screen -AdmS stats /home/user/psycholog/stats.pl -v

Вот такая вот система. Отмечу что для cron необходимо указывать полные пути, а то я мучался долго пока понл в чем беда.

  1. Тестовое сообщение

  2. Спасибо большое!

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>