ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

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

Программа имеет следующую функциональность:

  • Отслеживание состояния серверов (доступность, потребление ресурсов).
  • Мониторинг демонов (состояние, потребляемые ресурсы, количество child-process и многое другое).
  • Мониторинг сетевых сервисов (возможность подключения и корректность ответа).
  • Выполнение встроенных или собственных (с помощью скриптов) действий при достижении определенных событий.
  • Отправка уведомлений на Email или в централизованный web-интерфейс M/Monit.

Поддерживаются ОС GNU\Linux, FreeBSD, OpenBSD, Solaris, Mac OS X, AIX.

M/Monit — коммерческая надстройка над Monit, средство централизованного мониторинга, с помощью которого можно отслеживать состояние нескольких серверов с одного графического интерфейса. На официальном сайте доступна бесплатная версия с ограниченным функционалом.

Давно я, очень давно, хотел опробовать систему мониторинга monit, но все как-то руки не доходили.

Вот наконец настал сей момент. Действительно легкая, с хорошим функционалом, система.
Не буду распаляться о всех возможностях monit, т.к. в Инете инфы и так куча, остановлюсь на нескольких фичах:

  • на каждом хосте, где работает monit, есть возможность поднимать web-интерфейс для просмотра состояния системы и отслеживаемых ресурсах
  • возможность каждого хоста отправлять свои данные на другой хост через HTTP POST запрос с передачей XML

M/Monit как раз строится на последней фиче. Посмотрел M/Monit и понял две вещи:

  • идея одной страницы для всех хостов очень здравая, т.к. когда серверов десятки, то бегать по станицам каждого из них точно замучаешься
  • графики и прочее мне не нужны, т.к. для этого есть RRD, MRTG и т.п.

А мне нужна простая возможность окинуть взглядом состояние всех серверов с Monit.
Так я начал проект mmonit-free.subnets.ru, который решил выложить в общий доступ.

Получилась бесплатная и простая альтернатива M/Monit, которая обеспечивает отображение информации по всем серверам с установленным Monit в одном web-интерфейсе.
Уведомлениями о проблемах занимается сам Monit и потому в mmonit-free нет никаких баз данных и настроек.

Открыл, узрел последнюю информацию, осознал, закрыл. mmonit-free протестирован с Monit версии 5.25.0.

mmonit-free доступен на github: github.com/subnetsRU/mMonit-free

Инсталляция проста до безобразия и займет несколько минут:

  • Скопируйте файлы проекта в директорию вашего HTTP сервера.
  • Отредактируйте файл config.php
  • Установите права на запись для папки collector/data для пользователя от которого запущен HTTP сервер.
  • В конфигурации monit укажите путь для отправки данных:
    • set mmonit http://ip-or-hostname-of-the-web-server/mMonit-free/collector/index.php

Пример указания коллектора в конфиге monitrc:

set mmonit http://mmonit-free.subnets.ru/collector/index.php
with timeout 15 seconds

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту
    Не найдено

Интеграция Asterisk и Telegram

На одном из форумов посвященных Asterisk`у в очередной раз подняли тему «Как не терять звонки». Тему о том как уведомлять, себя любимого, да и не только себя, о пропущенных вызовах и/или совершенной переадресации. И в очередной раз был предложен метод с использованием СМС. Но ведь есть и другой способ, который на мой взгляд лучше — Telegram.

Почему Telegram ? Потому, что данный мессенджер удобен и у него много приятных фишек, например таких как боты.
Собственно с помощью бота можно не только отправлять себе что-то, но и получить обратную связь.
У нас уже был опыт подобной связи и мы уже использовали эту возможность для соединения нашего чата с Telegram, дабы иметь возможность общаться не только сидя перед компом.

Итак далее про интеграцию Asterisk и Telegram.
Чтобы показать пример отправки сообщения в Telegram я по быстрому зарегистрировал нового бота и создал небольшой PHP скрипт, который расположил тут: http://bot.subnets.ru/telegram/
Принцип работы такой:

  • устанавливаем приложение telegram на телефон или используем web версию telegram
  • находим бота (по имени пользователя) @msaster_bot
  • отправлям боту команду /start
  • запоминаем свой ID в Telegram, который бот выдаст в ответе на команду/start (или отправляем боту команду /me)
  • затем используя ссылку вида http://bot.subnets.ru/telegram/simple.php?user=<TELEGRAM ID>&msg=<MESSAGE TEXT>
    • где <TELEGRAM ID> — ваш ID в Telegram
    • где <MESSAGE TEXT> — текст для отправки

    пример ссылки: http://bot.subnets.ru/telegram/simple.php?user=12345&msg=testMessage

После чего наблюдаем отправленный вами текст на экране своего смартфона/компа.
Таким образом используя вAsterisk функцию CURL и/или другой скрипт вызываемый с помощью функции System, или AGI скрипт, вообщем все то что может обратиться к URL, мы можем отправлять себе сообщения прямо из dialplan Asterisk или консоли сервера.

И вот тут у меня проснулся интерес. Отправлять сообщения конечно здорово, но иметь обратную связь с Asterisk будет ещё лучше.
Как эту обратную связь использовать ? Да первое что мне пришло на ум это callback. Тыкаем в команду бота и тут же получаем callback от своего Asterisk.
Здорово, но мало 🙂 А что если реализовать возможность отправлять в Asterisk команды CLI прямо из Telegram и получать вывод этих команд ? Да, было бы не лишним.
Почему не лишним ? Да потому что ты не все время у компа и если вдруг что-то пойдет не так и тебе позвонят с работы «Ой, все упало !», то подобная прямая связь с Asterisk была бы кстати, т.к. очень быстро готова к использованию и прямо с мобилы.

Потратив некоторое время на разработку функционала самого бота и написав PHP клиента для связи с Asterisk я все же добился необходимого мне результата.

Я смог выполнить произвольную команду в CLI Asterisk. На скриншоте ниже это выполнение команды core show calls:

Интеграция Asterisk и Telegram

Asterisk и Telegram

Ну или даже вот так:

Asterisk и Telegram

Asterisk и Telegram

Вот такой получился интересный, на мой взгляд, проект.

Для скептиков:
Функции защиты всего это добра от использования сторонними людьми предусмотрены:

  • привязка к конкретному Telegram ID
  • идентификация по паролю в самом боте
  • контрольная подпись при отправке/получении данных между ботом и PHP клиентом
  • возможность ограничить доступ к PHP клиенту по IP-адресам
  • возможность указать какие команды Asterisk CLI будут доступны для исполнения

P.S. Если Вы так же хотите попробовать покомандовать своим Asterisk через Telegram, то я могу предоставить Вам такую возможность.
Для этого Вам будет необходимо:

  • ваше желание тестировать и сообщать об ошибках
  • иметь свой сервер с Asterisk
  • иметь установленный PHP (не ниже версии 5.6)
  • запущенный HTTP сервис (например apache), до которого можно достучаться извне
  • обратиться ко мне ( virus [СОБАЧКА-ГАВ-ГАВ] subnets.ru ) для получения паролей и явок 🙂
  • скачать и настроить PHP клиента для связи с Вашим Asterisk (PHP клиент НЕ обязательно должен быть расположен на сервере с Asterisk, он может находится и отдельно (например на Вашем WEB сервере))
  • выполнить настройки HTTP службы в Asterisk

P.S.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Уважайте чужой труд.

Автор: Николаев Дмитрий (virus (at) subnets.ru

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Мы решили поделиться частью наших трудов в более удобном для разработки, изучения и использования формате — залили их на гитхаб.
Пока там репозитории для четырех наших проектов:
Looking Glass для BIRD
Предотвращение спама в phpbb3
Определение номеров и направлений фродовых вызовов
и практическая часть статьи Asterisk REST Interface (ARI) — реализация на asterisk конференции при помощи ARI и NodeJS.

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Дело было вечером, делать было нечего… 🙂

А теперь серьезно: На НГ праздниках я решил подтянуть свои познания в JS и Websocket.

Для тренировок лучше проекта чем online чат и не найти наверно. Потому и решил написать чат, тем более давно хотел это сделать.

Итак запускаем чат в публичное тестирование:

Для тех кто ЗАРЕГИСТРИРОВАН на нашем форуме

Вы можете зайти в чат используя свой логин и пароль от форума.

Для тех кто НЕ зарегистрирован на нашем форуме

Вы можете зайти в чат используя любой НЕ зарегистрированный на форуме логин, а в кач-ве пароля указывать любой пароль.

Например:

  • Логин: anonym
  • Пароль: anythingyouwant
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

10 декабря прошел очередной (уже 11-ый) пиринговый форум MSK-IX и я снова был одним из участников данного форума.

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

Чтобы я хотел отметить так это «BGP: к лучшему протоколу и практикам. Неформальная рабочая группа.» в которой я поучаствовал.

В рамках беседы обсуждалась проблема с которой многие уже сталкивались, а именно bgp route leaks. Проблема которая периодически возникает по вине новичков. Тех кто настраивает BGP впервые и зачастую не читая какой либо документации, а лишь какую либо статью на просторах тырнета. Так же снова обсуждался проект MANRS (Mutually Agreed Norms for Routing Security) и звучали призывы присоединиться к данному проекту.


 

Mutually Agreed Norms for Routing Security (MANRS)

Mutually Agreed Norms for Routing Security (MANRS)

Данный проект преследует цели объединения IT сферы в соблюдении простых правил:

  • Filtering: Предотвращение распространения неправильной маршрутной информации
  • Anti-spoofing: Предотвращение трафика с подложными IP-адресами
  • Coordination: Содержание контактной и иной информации в up-to-date
  • Global Validation: Улучшение информационного обмена и координации между сетевыми операторами в глобальном масштабе

Соблюдение провайдерами и их пользователями данных правил позволит сократить многие проблемы, как то DDoS или BGP route leaks.

Автор проекта Андрей Робачевский уверен в том, что чем больше организаций поучаствуют в данном проекте, подпишутся под MANRS Document и будут соблюдать его тем больше новичков обратят на него внимание. Я не совсем согласен с ним в той части, что это обратит внимание новичков на эти пункты, т.к. скорее всего они даже не увидят данного документа и уж тем более не выполнят озвученные в нем пункты, а если даже увидят, то вряд ли прочтут (документацию то они не читают, к ОГРОМНОМУ сожалению конечно), но я абсолютно согласен с ним в той части, что необходимо хотя бы пытаться что-то с этим делать. Делать надо уже давно и делать уже сейчас, т.к. потом может стать уже слишком поздно и наши маршрутизаторы и каналы будут забиты только DDoS трафиком.

Потому я решил снова написать об этом проекте и просить вас, читателей данной статьи, обратить внимание на соответствие ваших сетей простым правилам данного проекта и если у вас есть «пробелы», то устранить их на вашей сети. Глядишь кол-во ботов и DDoS атак сократиться.


 

Александр Азимов из Qrator Labs (создатели QRATOR RADAR MONITOR о котором я так же писал в прошлый раз) предложил внести правки в прокол BGP — проект «A Simple BGP«.

Вкратце озвучу суть предлагаемых изменений. Они состоят в том, чтобы попытаться вовсе искоренить проблему BGP route leak. Проблему которая возникает из-за новичков, которые при настройке BGP сессии указывают лишь IP-адрес BGP соседа и его ASку и имеют несколько BGP сессий.  Да, да, да — такие есть и их много:

newcomers

Предлагается добавить понятие «роль» в настройки BGP сессии и передавать её в OPEN сообщении, а так же автоматической фильтрации по маркерам основываясь на установленной, в конфигурации, роли.

role.marker

bgp.role

Соответственно если «роли» не совпадут, то BGP соединение не установится и у вас будет повод обратить внимание вашего клиента на НЕ верную конфигурацию на его стороне, а так же если новичок совсем не сделает никак BGP фильтров, то ПО сделает это автоматически и за него.

Считаю что предложение очень здравое и это действительно помогло бы в борьбе (с озвученной выше) с проблемой.

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

Автор: Николаев Дмитрий (virus (at) subnets.ru)

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту
    Не найдено