Jump to content
Cesbo Community
  • Announcements

    • RadioSintetica

      Information   10/21/18

      Registration on the forum temporarily closed! For support requests, please contacat us: https://cesbo.com/help
      Our community in Telegram: @cesbo_en (English language) , @cesbo_ru (Russian language) , @cesbo_es (Spanish Language)
Blackcat

Получение данных мониторинга

Recommended Posts

Странно, в скрипте ограничений нет. Похоже отправляется как-то не корректно. А в логах вобще запросы к скрипту есть?

Share this post


Link to post
Share on other sites

[uSER=22]altlc[/uSER] А проблему с отображением названия канала не победил еще? В скрипте мониторинга от Field названия каналов берутся из отдельной таблицы

Share this post


Link to post
Share on other sites

В логах nginx и апача только такое:

10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"
10.0.16.9 - - [31/Oct/2012:14:03:38 +0300] "POST /astra_stats/tv_stat_input.php HTTP/1.1" 200 1 "-" "Astra v.2.6"

В errorlog'ах много ошибок связанных со скриптами jquery.

Share this post


Link to post
Share on other sites

Проблема действительно в формате адреса. Если в астре он имеет вид udp://239.0.1.1:1234, то проблем нету. А если udp://10.0.16.9@239.0.1.1:1234, то канал не отображается нормально. Может дело в собачке?

Share this post


Link to post
Share on other sites

[uSER=3]Pasha_49[/uSER] За комментируйте строку в tv_stat.php

$channel['channel'] = str_replace("udp://","udp://@" ,$channel['channel']);

 

должно помочь

Share this post


Link to post
Share on other sites

Работает мониторинг хорошо. Напишу тогда списочек предложений к этому мониторингу:

 

1. Добавить к каналам информацию о cam сервере, и о dvb.

 

2. Сообщения по условиям. Сейчас по условиям меняется цвет канала на красный. Хотелось бы ещё сообщений в дополнительном столбце для каждого канала.

  1. Смотрим onair. Если там "нет", и scrambLed "да", то Пишем сообщение: "Нет канала на спутнике, или не верный номер канала." Сообщения с других полей в данном слуяае не писать.
  2. Если onair да, смотрим остальные поля. Если onair да, scrambled нет - в любом случае канал работает.
  3. При выполнении пункта 2, и положительных значениях cam и keys, тоже делать зеленым результат.
  4. При выполнении пункта 2, cam =да, keys = нет, тоже делать зеленый результат, но писать что "канал бесплатный"
  5. При выполнении пункта 2, cam =нет, keys = нет, тоже делать зеленый результат, но писать что "канал бесплатный, cam выключен"
  6. Если onair да, scrambled да, то делать красную строку(канал не идет). В доп. стоолбце писать "Канал закодирован"
  7. При выполненном пункте 6, и cam - нет, дописывать ещё "Ошибка соединения с cam сервером".
  8. При выполненном пункте 6, и keys - нет, дописывать "Нет подписки"
  9. При onair нет, и scrmbled нет - писать "матрас" или вещание из файла. (фон можно оранжевый например)

3. Историю для канала. Например при нажатии на адрес канала, видеть только его данные( в которых происходили изменения в каком-либо значении кроме битрейта). Так будет легко смотреть как стабильно канал идет, когда он сыпался, когда были ошибки или проблемы с cam сервером. А рзмер истории можно сделать опциональный (за последние n часов, или последние n строк, чтоб не грузить базу).

 

4. БД с именами каналов.

Share this post


Link to post
Share on other sites

С именами каналов пока не понятно, я так и не понял почему конкретно нельзя передавать из астры прописанный name, совсем не хочется его руками заводить, подумаю как сделать красиво. Статусы каналов начал делать.

Share this post


Link to post
Share on other sites

Про onair вместо него надо использовать ready (значение одно и тоже). onair пока для совместимости оставил. onair, по смыслу - это "в эфире". этот параметр не гарантирует, что канал в эфире. флаг устанавливается в true когда прочитаны все необходимые таблицы PAT/PMT. Поэтому ready как-то больше передаёт смысла - канал готов для вещания.

 

Имена каналов - я хочу в ближайшее будущее переделать функцию make_stream (принцип использования останется, просто логику формирования модулей) поменяю. Сейчас у модулей вот такая "карта" https://dl.dropbox.com/u/6788542/make_stream.pdf при генерации события передаётся ограниченный набор информации (только статистика по модулю, а конфигурация не передаётся). Вобщем я это исправлю. Надо только придумать как это более гибко сделать.

Share this post


Link to post
Share on other sites

мысли в слух

 

Задача получается такая - точно идентифицировать канал, где он работает.

[uSER=3]Pasha_49[/uSER] говорил, надо номер адаптера - но это не очень правильно, адаптера может и не быть. Например вещание канала переключилось на наземный канал.

 

получается три параметра:

  1. сервер - hostname
  2. какой-то уникальный идентификатор для конфига...
    возможно в параметры event_request имеет смысл добавить какой-то параметр (фантазия на названия не работает) который будет принимать уникальный идентификатор конфига: например идентификация DVB: "dvb-0", "dvb-12", идентификация наземного источника: "net-239.255.1.1" (это всё для примера)
  3. имя канала - name

ну и набор статистики

Share this post


Link to post
Share on other sites

Как вариант выдавать в качестве идентификатора имя конфигурационного файла астры.

У себя сделал так:

ls /etc/astra/
helpers    r12548.lua  r12610.lua  r12670.lua  r12732.lua
r12518.lua  r12579.lua  r12640.lua  r12703.lua  t11843.lua

понятно от какого прова и какой транс

Share this post


Link to post
Share on other sites

Имя файла конфига хороший вариант, просто будет ориентироваться.

 

И ещё часть предложений по мониторингу:

1. Опциональное автообновление страницы

2. Вверху списка отображать не рабочие каналы

3. Добавить возможность авторизации(если страницу сделать доступной внешне, в дороге с телефона удобно следить за состоянием, и не хочется чтоб ссылка попалась кому не надо).

4. Отображать не рабочим канал, если у него битрейт ниже 200 (когда снегом завалило голову битрейт был от 10 до 200, при этом на каналах ничего не было, а в мониторинге показывает что всё впорядке(канал есть, не кодированный)). Только как тогда быть с радиостанциями, если у них низкий битрейт.

6. Писать когда много CC или PES ошибок за определенный промежуток времени.

7. Если не приходит статистика больше 300 секунд(тоже опционально), подсвечивать цветом, и писать что не актуальная информация(У меня астра запускается через screen, и в скрине как-то перешел в режим копирования, и забыл с него выйти. Через некоторое время каналы отвалились, но статистика об этом уже не приходила.)

8. Возможность удаления канала из базы из веб интерфейса.

Share this post


Link to post
Share on other sites

[uSER=3]Pasha_49[/uSER] по Вашим хотелкам отдельное уменя уже есть и так:

1. Дбавляем в main.html код

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta HTTP-EQUIV="refresh" content="15";>
<title>IPTV</title>

3. Тут зависит от того каким сервером Вы пользуетесь у меня nginx. В данном случае это делается так:

location / {

       index index.php;
   satisfy any;

       allow 109.229.35.5;
       deny  all;

       auth_basic          "IPTV protected area!";
       auth_basic_user_file /var/logins;
           }

в случае если используется апач то пишем конфиг в .htaccess

4. правим tv_stat.php :

 

if ( $channel['bitrate']< 100)
     {
         $channel['bgcolor'] = 'yellow';
     }

каналы с битрейтом меньше 100 подсветятся желтым цветом

 

остальное в процессе

Share this post


Link to post
Share on other sites

Наверное ещё в tv_stat_input.php надо добавить после 19 и после 25 строки:

scrambled = '".mysql_real_escape_string($json_request['scrambled'])."',

Не приходила статистика по кодированию канала.

 

И для "матраса":

if (!$channel['ready'] && !$channel['scrambled'])
{
$channel['bgcolor'] = 'orange';
}

Share this post


Link to post
Share on other sites
Нужно придумать логику фильтрации отправки одинаковых сообщений, сейчас при проблемах с каналом в жаббер непрерывным потоком летят алармы

 

Вполне решаемо через костыли, например nagios nrpe. Ну и xmpp / sms / email / etc будет он же слать- nagios

Share this post


Link to post
Share on other sites
Вполне решаемо через костыли, например nagios nrpe. Ну и xmpp / sms / email / etc будет он же слать- nagios

Примерчик можно рабочий?

Share this post


Link to post
Share on other sites
Примерчик можно рабочий?

 

Пока еще не делал, только задумался. Но по идее ничего сверхсложного... Возможно сегодня прикручу. Отпишусь

 

Только этот то проект накатил посмотреть

Share this post


Link to post
Share on other sites

Разбираюсь с логикой срабатываний. Как сделать чтоб канал был не ready?

 

P.S.: накатал на коленке баш скрипт check_astra для нагиоса

Он должен генерировать несколько состояний: ok, warning, critical (ну и unknown - когда нагиос не может проверить ничего)

 

Дергаю из базы строку с каналом, разбираю ее на переменные. Вот тут нужно мне соответствие набора переменных-триггеров к генерации событий ok, warning и critical

 

Например ясно, что если ready (onair как понял уже depricated) = 0 то это critical

Scrambled = 1 ?

PES?

CC?

и т.п.

 

распишите что и как)

Share this post


Link to post
Share on other sites

[uSER=68]micol[/uSER] если не может обработать PAT/PMT таблицу (битые пакеты, нет канала в потоке или вообще нет данных) - можно указать левый pnr и ready будет false

Share this post


Link to post
Share on other sites
[uSER=68]micol[/uSER] если не может обработать PAT/PMT таблицу (битые пакеты, нет канала в потоке или вообще нет данных) - можно указать левый pnr и ready будет false

 

Указал левый pnr =) словил critical

 

Прошу табличку вариантов с другими параметрами из БД ( описал чуть выше)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×