По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В больших корпоративных сетях, которые занимаются обслуживанием клиентов важно вовремя получать уведомления о неполадках в сети и устранять их. В этом деле администраторам помогают системы мониторинга, которых сегодня в сети существует достаточно много, как платных, так и бесплатных.
Своего рода стандартом в ИТ является PRTG (Paessler Router Traffic Grapher), которая может отправлять уведомления о событиях через e-mail, SMS, Push-уведомлений. Сегодня сложно представить кого-то, кто не пользуется хоть одним мессенджером. Среди них особо выделяется Telegram, который пользуется популярностью благодаря своей безопасности и функционалу. Здесь можно создать своего бота, который будет выполнять все ваши команды исходя из поставленной задачи. В одном из материалов мы рассказывали уже о том, как использовать Telegram для управления "Умным домом".
Здесь же расскажем о том, как интегрировать Telegram в PRTG и получать уведомления не на почту, на Telegram. Принцип работы такой: система мониторинга, в нашем случае PRTG, отправляет сообщения боту, а тот в свою очередь выводит их группу.
Что нам нужно
Telegram аккаунт
Группа, куда будем добавлять нашего бота
Доступ с PRTG сервера на https://api.telegram.org/
Создание бота
Для начала нам нужно создать бота, в чем на поможет "The Botfather". Начинаем новый чат с ним в Telegram:
Командой /newbot под руководством Botfather начинаем создание бота. Задаем ему имя, которое будет отображаться и имя пользователя:
После этих несложных манипуляций получаем API токен нашего бота, который используем в будущем. По умолчанию, бот может быть добавлен в любую группу и может получать сообщения от кого угодно. Ограничить это можно в настройках приватности, которые доступны командами /setprivacy и /setjoingroups.
Далее добавляем бота в группу, где находятся администраторы и другой заинтересованный персонал.
Через группу посылаем боту сообщение /start, чтобы активировать его. Затем уже настраиваем политики приватности, о которых говорилось выше. С созданием бота закончили, теперь нужно настроить получение уведомлений
Настройка уведомлений
Помните, в конце создания бота нам выдали API ключ. Перейдите по следующей ссылке, предварительно подставив вместо <apikey> API ключ вашего бота:
https://api.telegram.org/bot<apikey>/getMe
Вы должны получить что-то подобное:
{ "ok": true, "result": { "id": 1234567890, "first_name": "PRTGNotiBot", "username": "PRTGNotificationBot" }}
Если вышли какие-то ошибки, убедитесь, что API ключ введён правильно. Далее открываем ту же ссылку, только вместо getMe подставляем getUpdates. Мы получим список чатов, в которые добавлен наш бот.
{ "ok": true, "result": [{ "update_id": 521075218, "message": { "message_id": 3, "from": { "id": 11512298, "first_name": "xxxxxxxxx", "last_name": "xxxxxxxxx", "username": "xxxxxxxxx" }, "chat": { "id":-12345690, "title": "[Paessler] IT", "type": "group", "all_members_are_administrators": true }, "date": 1493834122, "text": "/start", "entities": [{ "type": "bot_command", "offset": 0, "length": 6 }] } }]}
Из этого вывода нам нужен идентификатор чата, включая знак "-". Теперь мы готовы создать шаблон уведомления в PRTG. Переходим в Setup > Account Settings > Notifications.
Добавляем новый шаблон уведомления:
Выбираем вводим название шаблона, выбираем тип сенсора (рекомендуем pingsensor)
В качестве шаблона выбираем HTTP. Вводим ссылку https://api.telegram.org/bot<your-api-key>/sendMessage, подставив API токен вашего бота.
В строку Postdata вводим следующие строки:
chat_id=-<your-chat-id>&text=There's a *%status* sensor in your PRTG![%sensor](%linksensor)*Last Message* %lastmessage*Down since* %since*Device* %device*Group* %group&parse_mode=Markdown
chat-id идентификатор чата, который получили выше.
text текст сообщения, который будет отправлять бот. Текст можно изменять по вашему усмотрению.
%status переменная PRTG. Звездочки вокруг него это стиль редактирования Telegram API. Как именно обрабатывать стиль указано в конце текста параметром parse_mode=Markdown.
Если нужно, чтобы уведомление пришло если сеть поднялась, то нужно создать другой шаблон с соответствующим текстом:
chat_id=-123456890&text=%device% is *%status*!&parse_mode=Markdown
Хотя можно совместить это в одном шаблоне, но лучше сделать два отдельных шаблона, на случай если каждому шаблону нужно добавить разные переменные, как в нашем случае.
Затем можно отправить тестовое сообщение, в результате чего должны получить что-то подобное:
Если все прошло успешно, нужно привязать шаблон к конкретному сенсору. Чтобы система не бомбила ваш Telegram из-за незначительных событий, лучше привязать шаблон к сенсору PING. Для этого переходим на вкладку Devices, среди сенсоров нужного устройства наводим курсор мыши на сенсор PING и кликаем на иконку звоночка.
Открывается страница добавления уведомлений. Выбираем Add State Trigger заполняем поля согласно политике организации. Можно сделать как на скриншоте:
Как видно на скриншоте, мы отправляем уведомление только когда сеть упала и поднялась. Повторно не посылаем, чтобы не надоедало.
Вот и всё. Думаю материал окажется полезным для вас.
Итак, чтобы корректно настроить QoS (Quality of Service), нам необходимо предварительно произвести небольшие расчеты. Предположим, в нашем офисе находятся 30 телефонных аппаратов, работающих по протоколу SIP под управление IP – АТС Asterisk. Мы предполагаем, что для одного телефонного разговора нужно 100 кбит полосы (с оверхедами). Тем самым, для 30 аппаратов нам потребуется полоса в 3 мбит (up/down). Все наша VoIP – инфраструктура живет в отдельном VLAN`e с подсетью 192.168.3.0/24. Приступаем к настройке.
Всегда рекомендует выносить VoIP инфраструктуру (PBX, телефоны, шлюзы) в отдельную подсеть. Это позволит проще сегментировать трафик обычной сети передачи данных и чувствительный к задержкам VoIP.
Настройка на Mikrotik | Маркировка пакетов
Настройки будем производить через утилиту управления Winbox. Открываем вкладку IP → Firewall и выбираем вкладку Mangle. Нажимаем на синий значок «+»:
Отлично. Далее мы создаем маркировку для соединения, приходящих из подсети 192.168.3.0/24 и отправленных внутрь этой подсети. Начнем с первой задачи. Указываем:
Chain - выбираем здесь prerouting;
Src. Address - указываем нашу подсеть;
Если ваши телефоны и IP – АТС Asterisk «живут» в той же подсети, что и рабочие станции (ПК), то укажите в качестве источника и назначения в маркировках IP – адрес Asterisk
Прыгаем на вкладку Action и указываем следующие параметры:
Action - мы делаем маркировку, поэтому выбираем mark connection;
New Connection Mark - маркируем как VoIP;
Passthrough - отмечаем галочкой;
Сохраняем изменения и нажимаем «ОК». Теперь нам необходимо сделать тоже самое, только на первом этапе, подсеть 192.168.3.0/24 мы укажем не в параметре Src. Address, а в Dst. Address. Все прочие опции делаем идентично проделанным шагам. В итоге у вас должно получиться вот так:
И добавляем финальный штрих к нашей конструкции – промаркируем пакеты, которые попадают под ранее созданные правила маркировки коннекций (соединений). Нажимаем на «+» и во вкладке General:
Chain - указываем prerouting;
Connection Mark - выбираем VoIP;
А во вкладке Action:
Action - делаем mark packet;
New Packet Mark - выбираем VoIP;
Passthrough - снимаем галочку с чекбокса;
Нажимаем «ОК» и сохраняем. Итого у нас получается:
Приоритеты и выделение полосы пропускания
На текущем этапе мы достаточно точно можем отделить VoIP – трафик от любого другого. Поэтому, создадим очередь обслуживания. Для этого, переходим в раздел Queues и нажимаем «+»:
Работаем со следующими параметрами:
Name - даем имя очереди - VoIP queue;
Target - укажите 0.0.0.0/0. Мы парсим данные на Mikrotik по маркированным пакета;
Max Limit - снимаем галочку с чекбокса;
Target Upload - 3M, как и говорили в начале статье;
Target Download - 3M, как и говорили в начале статье :);
Двигаем во вкладку Advanced:
Marks - выбираем из выпадающего списка VoIP;
Priority - выбираем для UP/DOWN 1 приоритет;
Теперь необходимо сделать очередь для остального трафика:
Name - даем имя очереди - Other traffic;
Target - указываем сеть, в которой живут наши рабочие станции (ПК) - в нашем случае 192.168.2.0/24;
Max Limit
Target Upload - 30M в нашем случае;
Target Download - 30M;
Прыгаем на вкладку Advanced:
Marks - выбираем no-mark, так как нас интересуют пакеты без маркировки;
Priority - выбираем 8 приоритет;
Тестирование
Проверяем. В очереди, переходим во вкладку Traffic в настройках VoIP очереди, делаем звонок и видим его график:
Nginx - это популярный HTTP-веб-сервер с открытым исходным кодом. Программное обеспечение использует масштабируемую управляемую событиями асинхронную архитектуру, которая обрабатывает запросы по одному за раз. Помимо веб-сервера, он также работает в качестве обратного прокси-сервера, почтового прокси, HTTP-кэша и балансировщика нагрузки.
Nginx является частью стека LEMP, набора программного обеспечения с открытым исходным кодом, используемого для разработки веб-приложений и веб-сайтов. LEMP является популярной альтернативой традиционному стеку LAMP. Единственная разница между ними состоит в том, что первый использует Nginx, а второй использует Apache в качестве своего веб-сервера.
Мы уже рассказывали как установить Nginx на Windows. В этом руководстве вы узнаете, как установить Nginx на Linux.
Установка Nginx
Рассмотрим установку Nginx для разных дистрибутивов Linux.
Установка Nginx на CentOS 8
Перед любой установкой всегда обновляйте локальный репозиторий, чтобы убедиться, что вы загружаете последнюю версию программного обеспечения. Используйте команду:
sudo yum update
Вы можете проверить пакет Nginx, прежде чем добавить его в свою систему. Запросите просмотр метаданных RPM, включенных в каждый пакет RPM:
sudo yum info nginx
Затем установите Nginx на CentOS 8 с помощью команды:
sudo yum install nginx
Установка Nginx на CentOS 7
Пакеты Nginx доступны в репозиториях EPEL. Если у вас не установлено хранилище EPEL, наберите:
sudo yum install epel-release
Затем установите Nginx при помощи команды:
sudo yum install nginx
Если вы устанавливаете пакет из EPEL в первый раз, то yum может предложить вам импортировать ключ GPEL EPEL:
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) "
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release-7-9.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]:
Тут вам нужно нажать y и затем Enter.
Установка Nginx на Ubuntu и Debian
Пакеты Nginx доступны в репозиториях Ubuntu и Debian по умолчанию.
Поэтому для установки сначала обновим список пакетов:
sudo apt update
А затем установим сам Nginx:
sudo apt install nginx
Запуск nginx
Запуск nginx осуществляется следующей командой:
sudo systemctl start nginx
Чтобы включать службу при загрузке системы, используйте:
sudo systemctl enable nginx
Если вы проверите статус сервиса, то в выводе должно быть указано, что Nginx активен - active (running):
sudo systemctl status nginx
Остановить можно Nginx с помощью команды:
sudo systemctl stop nginx
Перезапустить Nginx:
sudo systemctl restart nginx
Перезагрузить файлы конфигурации, не останавливая службу:
sudo systemctl reload nginx
Настройка firewall
Nginx включает в себя служебные файлы firewalld, которые указывают, что служба использует порты 80 (HTTP) и 443 (HTTPS) для веб-трафика. Поэтому вам необходимо открыть и включить эти порты, чтобы разрешить постоянный доступ.
Настройка firewall в CentOS
Откройте порт HTTP и HTTPS с помощью команд:
sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-services --zone=public
Настройка firewall в Ubuntu и Debian
Если вы используете UFW (Uncomplicated Firewall) для управления брандмауэром, вам необходимо открыть порты, включив профиль Nginx Full, который включает правила для обоих портов:
sudo ufw allow 'Nginx Full'
Если вы используете nftables, то используйте следующую команду:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Проверка доступа
Используйте netstat, чтобы вывести список всех открытых портов и убедиться, что вы успешно открыли 80 и 443:
netstat -tulpn
Найдите IP-адрес и скопируйте его. Чтобы увидеть IP-адрес вашего сервера, введите в терминале следующую команду:
ip addr
Затем откройте веб-браузер и вставьте IP-адрес (или имя домена) в строку URL. Откроется страница приветствия Nginx, подтверждающая, что вы успешно установили и настроили сервер.
Настройка Nginx
Вам не нужно настраивать Nginx после установки. Однако будет полезно знать расположение файлов конфигурации и корневого каталога Nginx на случай, если вам нужно изменить конфигурацию. Если вы хотите изменить файл глобальной конфигурации, вы должны открыть его в текстовом редакторе и применить изменения.
Каталог конфигурации Nginx: /etc/nginx
Корневой каталог Nginx: /usr/share/nginx/html
Основной файл конфигурации: /etc/nginx/nginx.conf
Файлы логов Nginx (access.log и error.log): /var/log/nginx/
Теперь вы можете установить корневую директорию вашего домена. Вы можете сделать это в любом месте, которое вы хотите. Наиболее распространенные места включают в себя:
/home/user_name/site_name
/var/www/site_name
/var/www/html/site_name
/opt/site_name