Re: Графики статистики слушателей (freebsd+mrtg+icecast)
да,ступил,нашел,поставил адрес.Получил:
/etc/allstatistica.php
1
0
0 days, 0 hours, 20 minutes.
Первый русскоязычный форум посвященный интернет-радиовещанию
Форум интернет радио Icecast и Shoutcast → Мануалы → Графики статистики слушателей (freebsd+mrtg+icecast)
да,ступил,нашел,поставил адрес.Получил:
/etc/allstatistica.php
1
0
0 days, 0 hours, 20 minutes.
cовпадает с правдой ? )
в течении 5 минут отпишусь))На странице статистики обновилась строчка
"All ListensПоследнее обновление статистики: Пятница 30 Декабря 2011 г. в 13:36,
в это время '/all' была включена 0 days, 0 hours, 20 minutes.."
Ничего не изменилось
Отредактировано BigAirBenX (30-12-2011 14:42:52)
не должно как минимум писать постоянно 0 days, 0 hours, 20 minutes каждый раз должно быть больше, видимо парсер поправить надо. какая версия icecast?
перловка для shoutcast 1.9.8
#!/usr/bin/perl
use strict;
my $staturl = qq~http://127.0.0.1:8000/admin.cgi?mode=viewxml~;
my $user = 'admin';
my $pass = 'changeme';
my $stream = "radio name";
my $uptime = '420 days';
my $listeners = 0;
my $unique_listeners = 0;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0");
my $req = HTTP::Request->new(GET => $staturl);
$req->authorization_basic($user, $pass);
my $stats = $ua->request($req)->as_string;
$listeners = $1 if($stats =~ /<CURRENTLISTENERS>(\d+)<\/CURRENTLISTENERS>/);
$unique_listeners = $1 if($stats =~ /<REPORTEDLISTENERS>(\d+)<\/REPORTEDLISTENERS>/);
my $stuff = `ps --no-headers -C sc_serv -o pid,fname,lstart --sort lstart`;
my @stuff = split(/\n/,$stuff);
$uptime = $1 if ($stuff[0] =~ /sc_serv\s+(.*?)$/gi);
print qq~$listeners\n$unique_listeners\n$uptime\n$stream\n~;
exit;
пишет tarasian666:
не должно как минимум писать постоянно 0 days, 0 hours, 20 minutes каждый раз должно быть больше, видимо парсер поправить надо. какая версия icecast?
server_id Icecast 2.3.2
ну и зас с 20 минут поменялось на 25.Вообще не логично
НО есть продвижение " Макс. Средний Текущий
# of listeners: 1 L/s 0 L/s 1 L/s
"
тут же все верно?
$day=floor($ti/86500);
$he=floor(($ti-$day*86500)/3600);
$mi=floor(($ti-$day*86500-$he*3600)/60);
Отредактировано BigAirBenX (30-12-2011 22:49:03)
все верно и проверено, хотя можете перловский скрипт попробовать, но там будет писать время старта, а не аптайм.
насчет писем с ошибкой - если по мануалу то запускаем программу как демон, но в кроне стоит обновление каждых 5 минут, так что или убрать команду в кроне или не делать демоном прогу
если хорошо работает без "демонизации" то лучше пусть крон запускает прогу каждых 5 минут, так экономим память
"RunAsDaemon: yes"
сменить на no ?
можно вообще строчку убрать
после этого прийдеться "убить" процесс и если после не будет обновляться то может прийдеться вручную прогнать команду крона
if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ] && [ -d "$(grep WorkDir /etc/mrtg.cfg | cut -d' ' -f2)" ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
да,не нашел информации, как его перезапустить?
Строку удалил. так что все должно быть лучше.
пишет BigAirBenX:
да,не нашел информации, как его перезапустить?
обновил пост
1) killall mrtg
2) cd/etc ; mrtg mrtg.cfg
3) ваша команда
все прошло без ошибок
в это время '/all' была включена 0 days, 0 hours, 29 minute
не понимаю
Ай,теперь он еще и график перестал рисовать
насчет последнего может вру,чет там прорисовывается
Отредактировано BigAirBenX (30-12-2011 23:50:59)
php скрипт вообще то так сказать не совсем аптайм айса узнает, он берет connections а если к серверу ни кто не подключался то connections не изменяеться
а можно ли как-нибудь это изменить,что бы он просто отсчитывал минуты\часы\дни и т.д?
И даже по вашей логике он не так отсчитывает время.Вот я щас уже более 10 минут на прослушивании станции,а на странице статистики дай бог на минуты 3 продвинулось.
можно, если брать инфу только с status2 то надо брать текущее время и отнимать время старта процесса icecast, если с /admin/status то там уже есть время старта
он не время считает, так как connetctions это совсем не время
connections
The total of client + source connections.
это уже вообще в лоб.)
Можно ли как-нибудь удалить тогда строчку "в это время '/all' была включена 0 days, 0 hours, 31 minutes."
что бы глаза не мазолила?
делаем финт ушами )
#!/usr/local/bin/php
<?php
$file_name='http://localhost:8000/status2.xsl';
$r=fopen($file_name,'r');
$text=fread($r,1000);
fclose($r);
$mass=explode(",", $text);
$list=$mass [9];
$mas=explode (" ", $mass [7]);
$upt= "years ago";
$s=0;
echo $list."\n";
echo $s."\n";
echo $upt."\n";
echo "/all";
?>
# mrtg mrtg.cfg
PHP Parse error: syntax error, unexpected '>' in /etc/allstatistica.php on line 16
2011-12-31 09:00:33: WARNING: Could not get any data from external command '/etc/allstatistica.php'
Maybe the external command did not even start. (Illegal seek)
2011-12-31 09:00:33: WARNING: Problem with External get '/etc/allstatistica.php':
Expected a Number for 'in' but nothing'
2011-12-31 09:00:33: WARNING: Problem with External get '/etc/allstatistica.php':
Expected a Number for 'out' but nothing'
2011-12-31 09:00:33: ERROR: Target[all][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2011-12-31 09:00:33: ERROR: Target[all][_OUT_] ' $target->[0]{$mode} ' did not e
это же он только на время ругается?
Приплыли.Графики не рисует,хотя отсчет по 5 минут есть.
так еще и среди запущенных процессов нет
Показать / Cкрыть текст
Отредактировано BigAirBenX (31-12-2011 10:54:37)
пишет BigAirBenX:
это же он только на время ругается?
нет, тут почти на все ругаеться, где-то ошибка в php скрипте
в процессах его и не должно быть если он не демон
В общем скрипт проверил,да,был момент недописанный.Все.Спасибо. аптайм не напрягает"years ago" сменю на какую-нибудь надпись и все супер.Спасибо за помощь.
пишет BigAirBenX:
В общем скрипт проверил,да,был момент недописанный.Все.Спасибо. аптайм не напрягает"years ago" сменю на какую-нибудь надпись и все супер.Спасибо за помощь.
А можно подробнее? У меня после обновления на Icecast 2.3.3-kh5 отвалился и php и perl скрипт, не выводит статистику, точней выводит 0
скрипт надо править в зависимости от изменений status2.xsl
PS что с кодировкой первого поста ??
пишет tarasian666:
скрипт надо править в зависимости от изменений status2.xsl
PS что с кодировкой первого поста ??
Хм так он вроде и не изменился=)
Кодировка первого поста такая после обновления
Помогите с настойкой! У меня Ubuntu вроде все сделал как надо, а графики зависли на цифре 5 и так и идут. За денежку. Infinonety@gmail.com . Зы можно чем-то смерять аудиторию за день?
Форум интернет радио Icecast и Shoutcast → Мануалы → Графики статистики слушателей (freebsd+mrtg+icecast)