По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Друг, не так давно мы рассказывали про 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
Проверка
В результате, если устройство станет доступно, мы получим следующее уведомление:
Windows Terminal это программное обеспечение, которое соединяет в себе командную строку, PowerShell и WSL (Windows Subsystem for Linux). На данный момент имеется две его версии, это основной Windows Terminal версии 1.3 и Предварительной сборки версии 1.4. Терминал можно полностью настроить индивидуально: изменять темы, цветовые стили, добавлять конфигурации и даже устанавливать фоновые изображения. Установить Windows Terminal можно из магазина Microsoft или по ссылке https://aka.ms/terminal.
По умолчанию, всегда открывается PowerShell. Также терминал устанавливается с преднастроенными профилями Windows PowerShell, командной строки и облачной оболочки Azure.Если в будущем будет установлен дополнительный WSL, он также автоматически добавится и будет добавлена соответствующая иконка дистрибутива. При желании значок можно изменить в настройках.
Настройки
Windows Terminal имеет большое количество настроек, включая цветовые настройки и сочетания клавиш. Чтобы просмотреть настройки по умолчанию, нажмите Ctrl+, или выберите Параметры в меню окна. Файл настроек представляет собой текстовый файл settings.json.
Глобальные настройки профиля.
Общие настройки профиля.WT имеет общие настройки, которые будет применяться к каждому профилю. Настройки нужно записать в раздел "defaults" внутри объекта "profiles". Список всех возможных настроек профиля можно найти в документации.
"profiles":
{
"defaults":
{
// Настройки, которые будут применяться для всех профилей
"fontFace": "Cascadia Code"
},
"list":
[]
}
Индивидуальная цветовая настройка
Индивидуальная цветовая настройкаWindows Terminal устанавливается со стандартным набором цветовой палитры, тем не менее ее можно изменять. Большое количество цветовых схем для терминала можно найти на сайте terminalsplash.com. С сайта можно сразу скопировать код цветовой настройки или перейти на github для получения подробной информации.
Настройка командной строки.
Изменить стиль командной строки можно с помощью Oh my Posh and Terminal-Icons. Эти инструменты позволяют кастомизировать внешний вид с помощью цветов, символов. Инструкция по установке Oh my Posh, Posh-Git и PSReadline находится в документации.
Недавно вышла версия Oh my Posh 3, имеющая большее количество настроек. Обновиться до крайней версии можно командой:
Update-Module -Name oh-my-posh -AllowPrerelease -Scope CurrentUser
С помощью Terminal-Icons можно добавлять значки.
Фоновые изображения
Для использования в качестве фона терминал Windows поддерживает как JPG, так и GIF изображения. Другой вариант - установка в качестве фона логотипа оболочки. Место размещения изображения указывается в настройках "backgroundImageAlignment".
Функциональность.
Аргументы командной строки wt.exe
Запуск WT (Windows Terminal) можно производить с определенной конфигурацией, параметры, которые можно установить - это расположение вкладок, панелей, домашний каталог, профиль. Можно сохранить команду как ярлык и использовать его для быстрого запуска.
В этом примере PowerShell откроется на новой вкладке с вертикальной панелью.
wt -p "PowerShell" -d . ; split-pane -V
Этот пример откроет профиль Ubuntu-20.04
wt -p "Ubuntu-20.04"
Полная документация находится на официальном сайте.
Панели
Windows Terminal имеет панельную поддержку профилей. Новую панель можно открыть, нажав комбинации клавиш Ctrl+Shift+1, Ctrl+Shift+2 и т.д или выбрав из выпадающего списка нужный профиль.
Разделить окно на две панели: Alt+Shift+D
Разделить окно горизонтально: Alt+Shift+ знак -
Разделить окно вертикально: Alt+Shift+ знак +
Перемещаться между панелями можно удерживая Alt и используя клавиши стрелок. А используя сочетание клавиш Alt+Shift и стрелки модно изменять размер панелей.
Копировать/вставить
В Терминале Windows по умолчанию для копирования и вставки используются сочетания клавиш Ctrl + C и Ctrl + V. Если у вас нет выделения, Ctrl + C будет действовать, как обычно, как команда break.
Вызов команды Копировать/Вставить можно перенастроить на другие сочетания клавиш. Они хранятся в файле конфигурации settings.json. Если удавить эту связку, то по умолчанию будет использовать Ctrl + Shift + C и Ctrl + Shift + V.
Стартовый каталог WSL
Сейчас Windows Terminal по умолчанию устанавливает начальный каталог WSL в качестве папки профилей пользователей Windows (C:usersUserName). Чтобы перенастроить WSL-профиль на запуск в нужную папку, нужно выполнить в оболочке WSL команду nano ~/.bashrc и добавить в конце файла путь к каталогу, например, cd /mnt/c/mylovefolder, и после очередного запуска будет он будет изменен.
Windows Terminal - новая оболочка, постоянно обновляющаяся, поддерживающая вкладки и объединяющая в себе несколько сред (Cmd, WSL, PowerShell, Azure Cloud Shell) благодаря чему упрощается управление инфраструктурой.
Жизнь системного администратора не проста. Поддержка систем, безопасность сетевого контура, решение проблем - уследить за всем сложно. Пользовательские пароли – важный нюанс и их, безусловно, нужно менять с определенной периодичностью.
В статье расскажем, как автоматически заставлять пользователей Linux сменить их пароли.
Срок действия паролей
Чтобы получить информацию о пользовательских паролях и о дате их окончания введите команду:
chage -l
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 дней
Следующей командой вы можете поставить жесткое правило смены паролей:
sudo chage -M 90
Команду можно выполнить от root пользователя или от юзера с sudo правами. Проверить, что настройка установлена корректно, можно с помощью команды chage -l
Срок действия учетной записи
Представьте, у вас есть два юзера: Иван и Петр. И доступ им нужно организовать на 2 дня, с момента сегодняшней даты (сегодня echo rus_date("j F");). Получается, создаем им пользователей:
sudo adduser ivan
sudo adduser petr
Создаем пароли для них:
sudo passwd ivan
sudo passwd petr
Как мы уже сказали, Иван и Петр уезжают через 2 дня. Соответственно, делаем для них следующую конфигурацию:
sudo chage -E echo date("Y-m-d", strtotime("+2 days")); ivan
sudo chage -E echo date("Y-m-d", strtotime("+2 days")); petr
Если вы запустите команду chage -l , то увидите актуальную дату жизни аккаунта. Как только аккаунты Ивана и Петра заэкспайрятся, их можно будет удалить командой:
sudo chage -E -1 ivan
sudo chage -E -1 petr
Сколько времени на смену пароля?
Пароль Геннадия заэкспайрился (истек срок годности) в воскресение. Мы дадим Гене 5 дней, чтобы он зашел в свою учетную запись и сменил пароль. Если он этого не сделает, аккаунт будет заблокирован. Сделать это можно вот так:
sudo chage -I 5 gennady
Ну, а если Геннадий так и не сменит пароль и учетная запись заблокируется, удалить ее можно вот так:
sudo chage -I -1 gennady
Предупреждения для пользователей
Вы – адекватный человек. И наверняка хотите, чтобы ваши юзеры были уведомлены о смене пароля заранее. Например, чтобы Геннадий узнал, что через 7 дней истекает срок годности его пароля, дайте следующую команду:
sudo chage -W 7 gennady
Защищаемся от частой смены паролей
Вдруг в вашем штате завелся очень взволнованный безопасностью сотрудник, который меняет пароли каждый день? Такое. Чтобы сделать минимальное количество дней между сменой паролей в две недели (14 дней), можно указать следующую команду:
sudo chage -m 14 sergey
Сделали большой лимит и передумали? Не проблема – удалить ограничение в днях можно вот так:
sudo chage -m 0 sergey