По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Друг, не так давно мы рассказывали про Asterisk REST Interface. Это новый API для Asterisk. Сегодня хотим рассказать о том, как реализовать просто мониторинг SIP – устройств с помощью ARI и отправкой событий в Telegram. Включаем ARI Откроем FreePBX и перейдем в раздел Settings → → Advanced Settings и находим раздел Asterisk REST Interface: Убедитесь, что парамеры Display Readonly Settings и Override Readonly Settings установлены в положение Yes. Указываем следующие параметры: Enable the Asterisk REST Interface - Yes; ARI Username - заполняем имя нашего пользователя; Allowed Origins - *; ARI Password - пароль для пользователя; Pretty Print JSON Responses - Yes; Web Socket Write Timeout - 100; Запоминаем логин и пароль и идем вперед. Сделать Telegram бота Далее, вам нужно создать Telegram – бота. Для этого, перейдите по ссылке ниже. Вернитесь сюда с токеном и идентификатором чата :) Создание бота PHP - скрипт Делаем скрипт, который будет реализовывать мониторинг пиров. Вот его листинг: <?php #ваш токен и идентификатор чата в Telegram $token = "токен"; $chat_id = "id_чата"; #параметры подключения к REST API Asterisk $json_url = 'http://localhost:8088/ari/endpoints/SIP'; $username = 'ARI_Username'; // логин $password = 'ARI_Password'; // пароль #обращаемся за данными в REST $ch = curl_init($json_url); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_USERPWD => $username . ":" . $password, CURLOPT_HTTPHEADER => array('Content-type: application/json') , ); curl_setopt_array( $ch, $options ); $result = curl_exec($ch); //получаем JSON результат $result = json_decode($result, true); #формируем массив, который будем отправлять в Telegram $telegram = array( 0 => array ( 'Проблемы с SIP устройствами.' => 'Список:', )); $num = 1; //print_r($result); foreach($result as $number => $massiv) { foreach($massiv as $key => $value) { #определяем элементы, которые не находятся в статусе online if (($key == 'state') && ($value != 'online')) { $telegram[$num] = array( 'Устройство '.$massiv['resource'].'' => 'в статусе '.$massiv['state'].'', ); $num = $num + 1; } else { }}}; #отправляем данные в Telegram в случае, если найдены устройства в статусе, отличном от online if ($num > 1) { foreach($telegram as $key => $value) { foreach($value as $dev => $status) { $txt .= "<b>".$dev."</b> ".$status."%0A"; }}; fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");}; Скачать скрипт В случае скачивания, поменяйте расширение файла с .txt на .php Закидываем скрипт в любую удобную директорию (файл сохраните как ari_monitoring.php), например /home/scripts и планируем его выполнение в cron: crontab –e И добавляем мониторинг раз в 2 минуты: */2 * * * * /usr/bin/php /home/scripts/ari_monitoring.php Проверка В результате, если устройство станет доступно, мы получим следующее уведомление:
img
Итак, вы, возможно, слышали аббревиатуры BIOS и UEFI, особенно если имели дело со сменой операционной системы или разгоном. Возможно, вы даже знаете, как эти аббревиатуры расшифровываются (Unified Extensible Firmware Interface – единый расширяемый микропрограммный интерфейс, и Basic Input/Output System – базовая система ввода/вывода, соответственно). Но задумывались ли вы когда-нибудь, что они делают в компьютерной системе? Давайте раскроем тайну этих терминов и их значений. Процедура загрузки Сначала – главное! Да, я знаю, что мы отклоняемся от темы, но я обещаю, что это поможет вам понять позже некоторые концепции. Итак, как загружается компьютер? Давайте рассмотрим шаг за шагом: Вы нажимаете кнопку питания на ноутбуке/настольном компьютере. ЦП запускается, но ему необходимы некоторые команды для работы (помните о том, что ЦП всегда нужно что-то делать). Так как основная память на этом этапе пуста, то ЦП полагается на загрузку команд из прошивки микросхемы на материнской плате и начинает выполнять их. Код встроенного ПО выполняет самотестирование при включении питания (POST - Power On Self Test), инициализирует оставшееся оборудование, определяет подключенные внешние периферийные устройства (мышь, клавиатуру, флешку и т.д.) и проверяет исправность всех подключенных устройств. Возможно, вы даже помните звуковой сигнал, который настольные компьютеры издавали после успешного прохождения процедуры POST. И, наконец, алгоритм прошивки перебирает все запоминающие устройства и ищет загрузчик (обычно находится в первом секторе диска). Если загрузчик был найден, то прошивка передает ему управление компьютером. Для того, чтобы понять эту статью, вам не нужно знать больше. Но если вам интересно, то можете прочитать дальше (в ином случае вы можете перейти к следующему разделу). Итак, теперь, когда загрузчик загружен, его задача – загрузить остальную часть операционной системы. GRUB – один из таких загрузчиков, способный загружать unix-подобные операционные системы, а также он может последовательно загружать операционные системы Windows. Загрузчик доступен только в первом секторе диска размером 512 байт. С учетом сложности современных операционных систем, некоторые из загрузчиков имеют тенденцию выполнять многоэтапную загрузку, то есть когда загрузчик загружает загрузчик второго этапа в среде, не ограниченной 512 байтами. Затем загрузчик загружает ядро в память. Unix-подобные операционные системы затем запускают процесс init – процесс инициализации, (главный процесс, из которого разветвляются/выполняются другие процессы) и, наконец, инициализируют уровни запуска. В Windows wininit.exe загружается вместе с некоторыми другими процессами, такими как services.exe для управления службами, lsass.exe для локальной безопасности и прав доступа (аналогично уровням запуска) и lsm.exe для локального управления сеансами. После всех этих этапов и после инициализации некоторых других драйверов загружается графический пользовательский интерфейс (GUI - Graphical User Inferface), и отображается экран входа в систему. Это было описание общего процесса загрузки. А теперь вернемся к нашей первоначальной теме. BIOS: BIOS расшифровывается как Basic Input/Output System, то есть базовая система ввода/вывода, а иначе говоря, прошивка, о которой мы говорили выше. Она хранится в EPROM (Erasable Programmable Read-Only Memory – стираемое программируемое постоянное запоминающее устройство), что позволяет производителю легко выпускать обновления. Она представляет собой множество вспомогательных функций, которые позволяют читать загрузочные сектора подключенного хранилища и выводить на экран. Вы можете получить доступ к BIOS на начальных этапах загрузки, нажав del, F2 или F10. UEFI UEFI расшифровывается как Unified Extensible Firmware Interface, или единый расширяемый микропрограммный интерфейс. Он выполняет ту же работу, что и BIOS, но с одним основным отличием – он хранит все данные об инициализации и запуске в файле .efi, а не в прошивке. Этот файл .efi хранится в специальном системном разделе EFI (ESP - EFI System Partition) на жестком диске. Этот раздел также содержит загрузчик. UEFI был разработан с целью преодоления многих ограничений старого BIOS, в том числе: UEFI поддерживает размеры дисков до 9 зеттабайт, тогда как BIOS поддерживает только 2,2 терабайта. UEFI обеспечивает более быструю загрузку. UEFI поддерживает дискретные драйверы, в то время как BIOS поддерживает диски, хранящиеся в его ПЗУ, поэтому обновление прошивки BIOS немного затруднено. UEFI обеспечивает безопасную загрузку, которая предотвращает загрузку компьютера из неавторизированных/неподписанных приложений. Это помогает предотвратить внедрения руткитов, но при этом затрудняет двойную загрузку, так как рассматривает другие ОС как неподписанные приложения. UEFI работает в 32-битном или 64-битном режиме, тогда как BIOS работает в 16-битном режиме. Таким образом, UEFI может предоставить графический интерфейс (то есть управление с помощью мыши), в отличие от BIOS, который поддерживает управление только с помощью клавиатуры. Возможно, вам не нужен UEFI Несмотря на то, что все современные компьютеры по умолчанию оснащены UEFI, есть несколько причин, по которым вы можете выбрать BIOS вместо UEFI: Если вы новичок и не хотите возиться с любым типом прошивки, то BIOS для вас. Если у вас
img
В предыдущей статье мы рассмотрели необходимость перераспределения маршрутов, а также рассмотрели некоторые примеры конфигурации. Эта статья основана на предыдущей конфигурации и рассматривает возможность фильтрации маршрутов с помощью карт маршрутов. В частности, в предыдущем примере показано взаимное перераспределение маршрутов между EIGRP и OSPF, где все маршруты были перераспределены между двумя автономными системами. Однако некоторые сценарии проектирования могут потребовать, чтобы мы предотвратили перераспределение каждого отдельного маршрута. Один из способов сделать эту фильтрацию - использовать карту маршрутов. Для справки, вот топология, с которой мы работаем: Кроме того, с нашей текущей конфигурацией перераспределения маршрутов таблица IP-маршрутизации на роутере OFF1 выглядит следующим образом: Скажем, по какой-то причине мы не хотим, чтобы сеть 192.168.2.0 /24 была перераспределена из EIGRP в OSPF. Один из способов сделать эту фильтрацию - использовать карту маршрутов, которая ссылается на список управления доступом (ACL). Во-первых, давайте перейдем к роутеру CENTR и создадим ACL, который соответствует сети, которую мы хотим отфильтровать. CENTR # conf term Enter configuration commands, one per line. End with CNTL/Z. CENTR (config) access-list 1 permit 192.168.2.0 0.0.0.255 Обратите внимание на использование ключевого слова permit в ACL. В этом контексте слово permit одно из ключевых среди match, notallow. Далее мы будем ссылаться на этот ACL в карте маршрутов, и это карта маршрутов, расскажет, что мы хотим запретить этой сети быть перераспределенной. Вот как мы можем создать эту карту маршрута: CENTR (config)# route-map LAB deny 10 CENTR (config-route-map) # match ip address 1 CENTR (config-route-map) #exit CENTR (config)# route-map LAB permit 20 CENTR (config-route-map) exit CENTR (config)# Обратите внимание, что у нас есть два оператора route-map с порядковыми номерами 10 и 20. Как и в ACL, route-map обрабатываются сверху вниз. В этом примере мы хотим запретить сеть 192.168.2.0 / 24 с порядковым номером 10. Затем, чтобы разрешить перераспределение всего остального трафика, мы создаем инструкцию route-map с порядковым номером 20. Обратите внимание, что в отличие от предыдущего оператора route-map (который содержал ключевое слово deny), этот оператор route-map содержит ключевое слово permit. В результате, без необходимости указывать условие соответствия, мы сопоставляем (и разрешаем) все остальные маршруты. Далее, давайте применим нашу карту маршрута к команде redistribute в нашем процессе маршрутизации OSPF на роутере CENTR. В настоящее время команда redistribute для процесса маршрутизации OSPF выглядит следующим образом: edistribute eigrp 1 metric-type 1 subnets То, что мы хотим сделать - это переписать эту команду, добавив ссылку на нашу недавно созданную карту маршрутов. CENTR (config)# router ospf 1 CENTR (config-router)# redistribute eigrp 1 metric-type 1 subnets route-map LAB CENTR (config-router)#end CENTR# Теперь давайте вернемся к роутеру OFF1 и посмотрим, исчезла ли сеть 192.168.2.0/24 из таблицы IP-маршрутизации. Все отлично! Маршрут 192.168.2.0/24 был успешно отфильтрован. В следующей статье мы рассмотрим, как можно устранить неполадки с перераспределением маршрутов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59