HTTPS SSH

README

Мониторинг для астры 5.x+ (без управления). Форк мониторинга от altlc.

Демка: http://64.137.221.101/

ВНИМАНИЕ! Требуется астра версии 5.62-test от 12.11.2016 или старше, с добавлением параметра "total" в ссылку на мониторнг! На версиях младше в мониторинг не попадут одиночные cc и pes ошибки. Баг в скрипте monitor.php, и исправляться не будет. Если есть желающие исправить, пишите для получения подробностей.

Основные возможности:

  • Автоматическое добавление каналов и адаптеров с их параметрами (как в мониторинге для 3 версии).
  • Информация о канале (параметры входов и выходов, битрейт, ошибки (СС/PES), статус (работает/не работает), время проблемы).
  • Графики уровня сигнала dvb.
  • Отправка уведомлений при проблемах с каналами (pushbullet, telegram).
  • Отправка графиков уровней сигналов и ошибок с dvb в telegram (при постоянной проблеме более 2-х минут).
  • Проигрывание канала в браузере (через vlc plugin или плейлист).
  • Кастомизируемые дополнительные поля (удобно для учета и сортировки).
  • Переход на страницу настройки канала в астре из мониторинга (требуется указание маски на вкладке с астрами, для разных версий астры).
  • Перезапуск астры и каналов (требуется указание логина и пароля на вкладке с астрами, если включена авторизация в астре)
  • Боковое меню по адресу menu.html, мониторинг по адресу index.php

Установка:

  • Скачать мониторинг по ссылке, или через git:
git clone https://bitbucket.org/pasha_49/astra_monitor
  • Импортировать структуру базы из "sql/astra.sql"
mysql -uuser -ppass
create database astra DEFAULT CHARACTER SET UTF8;
mysql -uuser -ppass astra < /var/www/astra_monitor/sql/astra.sql
  • Установить php5-curl (для уведомлений или перезапуска астры)
  • Заполнить параметры подключения к базе, в файле "includes/config.php" или скопировать нужные в "conf.php"
  • Для обновления можно использовать git (и проверяйте файлы изменений базы в папке sql)
git pull origin

Для автоматического добавления каналов в мониторинг, необходимо в веб интерфейсе астры:

  • Изменить id канала на целое число. Число должно быть уникальным для канала. (в настройках канала, в "Advanced Options")
  • Изменить id dvb адаптера на целое число. Число должно быть уникальным для адаптера. (в настройках адаптера, в "Advanced Options")
  • Указать в настройках астры адрес до monitor.php, например "http://www.example.com/monitor_dir/monitor.php#total". (во вкладке "Settings->General->Monitoring"). Если астра младше 5.62-test от 12.11.2016, то при добавлении "total" будет большая нагрузка на сервер мониторинга и базу.
  • *(для астры 5.60+) Добавить категорию "monitor", и в эту категорию добавить группу с произвольным названием процесса астры. Например "ntv_12345". Данное название будет отправляться на мониторинг как название экземпляра астры. (во вкладке "Settings->Groups")
  • *(для астры 5.60+) Добавить канал в ранее созданную категорию и группу. (во вкладке "Settings->Groups" ИЛИ в настройках канала, в "Advanced Options")

*Если не создавать категорию и группу, то все каналы будут попадать в один экземпляр астры "autoscan", который добавится единственный раз при первом запуске астры. Далее каналы можно переназначать на другие экземпляры астр.

Конфигурация каналов отправляется только при запуске/перезапуске астры. Во время работы астры отправляется статистика по каналам.

При первом запуске астры в мониторинге создаются названия экземпляров астры без каналов. Каналы привязываются к временному экземпляру "autoscan" с id=0.

При втором запуске астры каналы привязываются к правильным названиям экземпляров астры. При следующих перезапусках конфигурация будет обновлться.

Если каналы не появляются в мониторинге, то не выполнено какой-то из обязательных условий, описаных выше.

Каналы и экземпляры астры так же можно добавлять вручную, но без входов и выходов.


Для рисования графиков:

  • Установить пакет "rrdtool"
  • Создать каталог "/var/rrd"
  • В скрипте (переименовать) rrdtool/config.sh прописать параметры подключения к базе и путь в "graph_path" до папки с графиками в папке с мониторингом.
  • Добавить в cron запуск скрипта "rrd_read_all.sh" с периодичностью примерно 1-10 минут.

Для перезагрузки определенного канала:

  • Прописать адрес к веб упралению астры на вкладке с астрами.
  • Прописать логин и пароль для API на вкладке с астрами, если включена авторизация в астре.
  • Создать на сервере с астрой в папке /etc/astra/mod файл "api.lua" со следующим содержимым:
control_api["reload-stream"] = function(server, client, request)
    kill_stream(channel_list_ID[request.id])
    local _, sc = get_item_by_id(config_data.make_stream, request.id)
    make_stream(sc)
    control_api_response(server, client, { ["reload-stream"] = "ok" })
end

Для уведомлений:

  • Указать в конфиге мониторинга параметры для уведомлений.
  • Проверить, что бы в настройках канала в мониторинге были включены "Уведомления". По умолчанию включены.
  • Pushbullet: Установить php5-curl или curl.
  • Telegram: Как установить telepot и получить token бота - http://telepot.readthedocs.io/en/latest/. Настройки в (переименовать) includes/telegam/config.py

Если нужно только боковое меню, то используйте "menu.html" и папку "scripts". Если используете меню вместе с мониторингом, то рекомендуется переименовать его для обновлений.


Screenshot2.png Screenshot_channels.png Screenshot4.png Screenshot_player.png Screenshot_astras.png Screenshot_pushbullet.pngScreenshot7.png Screenshot6.png


ToDo:

  • Интеграция с http://scansat.info/
  • Отображение нескольких входов и выходов. Выпадающий список.
  • Вести лог проблем. Отображать на главной колчество проблем за сутки.