По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Одной из основных составляющих IP – PBX на базе Asterisk являются SIP – транки в сторону провайдера и оконечные телефонные аппараты, или как их принято называть «пиры» (peers). Сегодня мы расскажем о способе автоматизации мониторинга состояния транков и пиров, с отправлением на почту системного администратора. Мониторинг пиров Итак, начнем с мониторинга состояния пиров. Для этого мы напишем небольшой bash – скрипт. Предположим, что у нас есть 3 площадки, А, B и C. АТС Asterisk находится на площадке A. Предварительно, перед началом работы, создадим 2 файлы: первый – для логов нашего скрипта, а второй, будет служебным, и будет использоваться только в рамках исполнения скрипта. Внутри каждого скрипта, мы будем писать комментарии к каждой из его строк. Скачать скрипт мониторинга пиров вы можете по ссылке ниже: Скачать скрипт мониторинга пиров [root@asteriskpbx]# touch /home/admin/log_mail.txt [root@asteriskpbx]# touch /home/admin/message.txt Далее, создаем переменные для нашего скрипта: #!/bin/sh LOGSIZE=`ls -l /home/admin/log_mail.txt | awk '{ print $5 }'` //проверяем размер файла с логами problempeers=`/usr/sbin/asterisk -rx 'sip show peers' | grep UNKNOWN` //выводим командой 'sip show peers' через консоль Asterisk, и затем, с помощью команды grep UNKNOWN фильтруем пиры, чтобы отобразить только те, состояние которых является UNKNOWN GWB=`ping -c4 11.22.33.44 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //по протоколу ICMP, пингуем IP – адрес шлюза на удаленной площадке четырьмя пакетами. Если все ОК, и шлюз доступен, до значение переменной будет равно 4. В противном случае, оно будет равно 0. GWC=`ping -c4 44.33.22.11 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //аналогичным образом пингуем шлюз на площадке C ResultB="" //служебная переменная ResultC="" //служебная переменная FILENAME=/home/admin/message.txt //записываем в переменную путь к лог- файлам LOGFILE=/home/admin/log_mail.txt DATE="`date +%d.%m.%Y" "%H:%M:%S`" //выводим текущую дату и время в формате дд.мм.гггг чч:мм:сс echo "$problempeers" > /home/admin/message.txt //записываем содержимое переменной problempeers в служебный файл. В этой переменной содержится результат вывода команды по статусу пиров. FILESIZE=$(stat -c%s "$FILENAME") //проверяем размер служебного файла message.txt. Если в нем есть какая-либо информация, значит есть проблемы с пирами (имеются в статусе UNKNOWN), если он пустой, то все ОК. На этом этапе, мы сформировали все необходимые переменные и у нас имеются все необходимые для формирования письма (если надо) на email системному администратору. Перейдем к исполнительной части скрипта: if [ $GWB -eq 0 ]; then //если число ответов шлюза на площадке B на пинг равно 0, то запускаем процесс формирования письма ResultB ="на площадке B НЕ ДОСТУПЕН!" //формируем часть текста. Мы ее включим в заголовок письма else ResultB ="" //если все таки шлюз ответил на пинг, то оставляем переменную пустой fi if [ $GWС -eq 0 ]; then //если число ответов шлюза на площадке С на пинг равно 0, то запускаем процесс формирования письма ResultС="на площадке С НЕ ДОСТУПЕН!" //по аналогии. Указываем в заголовок, что роутер C недоступен else ResultС ="" //если все ОК, то оставляем переменную пустой fi if [ $FILESIZE -ne 1 ]; then //если наш служебный файл message.txt не пустой, то проверяем следующее условие if [ $GWB -eq 0 ] || [ $GWC -eq 0 ]; then //если хотябы один из роутеров недоступен по пинг, то переходим к следующему пункту скрипта echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутер $ResultB $ResultC!" -r "info@merionet.ru" youremail@some.ru </home/admin/message.txt && //отправляем на почту письмо, где указываем, что у нас есть проблемы с пирами, и, если какой-то из роутеров не доступен, указываем это. В теле письма мы отправляем вывод недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //параллельно с отправкой письма, записываем в лог файл запись, что у нас есть проблемы с пирами (в вывод так же можно добавить с какими именно) else echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутеры ДОСТУПНЫ!" -r "info@merionet.ru" youremail@some.ru < /home/admin/message.txt && //если оба наших роутера доступны, то мы просто формируем письмо, в котором указываем перечень недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //аналогично вносим запись в лог – файл. fi else echo "OK :: $DATE :: all phones are OK" >> "$LOGFILE" //если служебный файл пустой, то мы вносим запись в лог – файл что все хорошо и проверка успешно прошла. fi if [ $LOGSIZE -ge 150000 ]; then //елси размер нашего лог – файла больше или равен 150 КБ, то мы очищаем этого (можете подкрутить эту величину, как вам угодно.) cat /dev/null > /home/admin/log_mail.txt fi cat /dev/null > /home/admin/message.txt //на выходе чисти служебный файл message.txt, для последующего использования Теперь давайте проверим, что приходит нам на почту в случае, если несколько пиров стали недоступны, но все роутеры доступны: Мониторинг транков Отлично, перейдем к формированию скрипта по мониторингу транков. Здесь все несколько проще, и мы просто будем сравнивать общее количество транков, и количество зарегистрированных транков: Скачать сам скрипт можете ниже: Скачать скрипт мониторинга транков #!/bin/bash ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`" //выводим регистрации по протоколу SIP ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'` //численное обозначение всех имеющихся транков REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l` //численное обозначение всех зарегистрированных транков DATE="`date +%d.%m.%Y" "%H:%M:%S`" //формируем текущую дату, для логов LOGFILE=/home/admin/log_mail.txt //для лог – файла, указываем тот же файл, что и для скрипта по мониторингу пиров if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then //если число зарегистрированных транков меньше чем число всех транков sleep 5 //ждем 5 секунд echo `/usr/sbin/asterisk -rx "sip reload"` \ перезагружаем модуль SIP, в целях перерегистрации. Эта команда автоматически перерегистрирует транк на оборудовании провайдера, после чего, он, зачастую, начинает работать. sleep 5 //ждем еще 5 секунд VAR=`/usr/sbin/asterisk -rx "sip show registry"` //после перезагрузки SIP модуля, снова смотрим SIP –регистрации. Если данная команда не дала своих результатов, то в переменной VAR будет записаны не работающие транки. Если она помогла, то на email админу придет рабочий вывод всех зарегистрированных транков. Это весьма удобно. echo "$VAR"| mailx -s "Мониторинг транков" -r "info@merionet.ru" youremail@some.ru // отправляем письмо на почту системного администратора, с выводом SIP регистраций после перезагрузки модуля else echo "OK :: $DATE :: all trunks are OK" >> "$LOGFILE" //если число зарегистрированных транков, равно общему числу, то записываем в лога файл соответствующую запись. fi Теперь, когда мы автоматизировали процессы мониторинга состояния на Asterisk, сделаем выполнение этих скриптов регулярным. Сохраним наши скрипты в формате .sh, можно сделать это, например, в Notepad ++. Сделаем выполнение мониторинг транков раз в 2 минуты, а выполнение мониторинга пиров раз в 10 минут. Перед загрузкой скриптов на сервер, дадим им необходимые права и, что очень важно, преобразуем скрипт в Linux формат: [root@asteriskpbx]# dos2unix peer.sh //преобразуем скрипт для мониторинга пиров [root@asteriskpbx]# dos2unix trunk.sh //преобразуем скрипт для мониторинга транков [root@asteriskpbx]# chmod 777 peer.sh //дадим необходимые права обоим скриптам [root@asteriskpbx]# chmod 777 trunk.sh [root@asteriskpbx]# crontab -e В открывшемся cron, задаем задачи для выполнения наших скриптов: */10 * * * * /bin/bash /home/peer.sh >/dev/null //исполнять файл раз в 10 минут */2 * * * * /bin/bash /home/trunk.sh >/dev/null //исполнять файл раз в 2 минуты Вот и все. Теперь мы имеет достаточно простой, но порой очень нужный и эффективный мониторинг состояния транков и пиров на нашем Asterisk
img
Файл CSV (Comma Separated Values - значения, разделенные запятыми) использует запятые для разделения различных значений в файле. Файл CSV является стандартным форматом при переносе таблицы в другую систему или ее импорте в другое приложение базы данных. Это подробное руководство покажет вам, как экспортировать базу данных MySQL в файл CSV и импортировать файл CSV обратно в базу данных MySQL. Экспорт MySQL в CSV Нам понадобится: Доступ к командной строке или окну терминала Учетная запись пользователя с привилегиями root или sudo Учетная запись пользователя MySQL с правами root Предварительно настроенная учетная запись phpMyAdmin (необязательно) Экспорт MySQL в CSV с phpMyAdmin Инструмент phpMyAdmin предоставляет бесплатный графический интерфейс для управления базами данных MySQL. Вы можете использовать его для экспорта любой из отслеживаемых баз данных в файл CSV. Войдите в phpMyAdmin. Затем нажмите кнопку Databases (Базы данных) в верхней части баннера. В списке баз данных щелкните ссылку на базу данных, которую вы хотите экспортировать. В этом примере мы выбрали базу данных user. На следующем экране отображается список таблиц в этой базе данных. Установите флажки для таблиц, которые вы хотите экспортировать. Нажмите кнопку Export на баннере внизу. Оставьте метод экспорта установленным как есть. Используйте раскрывающееся меню Format, чтобы выбрать CSV, затем нажмите Go. Диалоговое окно предлагает указать место, где вы хотите сохранить файл CSV. Экспорт из MySQL в CSV с помощью командной строки Вы можете выполнить экспорт без излишеств через CLI, выбрав все данные в таблице и указав место, куда их нужно сохранить. Начните с открытия оболочки MySQL, затем переключитесь на базу данных, которую вы хотите экспортировать. Введите следующую команду: SELECT * FROM myTable INTO OUTFILE ' mpmyExportFile.csv' FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"' LINES TERMINATED BY ' '; Замените myTable реальным именем таблицы из вашей базы данных. Вы можете заменить mpmyExportFile.csv любым другим именем файла или местоположением. Не забудьте сохранить имя файла .csv в конце. Примечание. В этом примере используется местоположение файла Linux. Если вы работаете в Windows, вы можете использовать c:/folder/file.csv для вашего местоположения файла. Дополнительные параметры для экспорта из MySQL Чтобы указать отдельные наборы данных для экспорта из таблицы: SELECT column1, column2, column3, column4 FROM myTable WHERE column2 = 'value'; Замените column1 (и остальные) фактическими именами столбцов, которые вы хотите экспортировать. Обязательно используйте команду FROM, чтобы указать таблицу, из которой вы экспортируете. Оператор WHERE является необязательным и позволяет экспортировать только те строки, которые содержат определенное значение. Замените значение фактическим значением, которое вы хотите экспортировать. Например: SELECT order_date, order_number, order_status FROM current_orders WHERE order_status='pending';
img
За последний десяток лет Wi-fi-сети получили огромное распространение. Роутер сейчас нельзя найти редко в какой квартире. А подключая мобильник к своему домашнему вай-фаю, в списке можно увидеть с десяток точек доступа ближайших соседей. Вай-фай есть практически везде. Но покрытие сети не всегда бывает эффективным. В этой статье мы разберем инструмент для разработки и оптимизации Wi-fi-сетей от компании Ekahau. Ekahau Connect- это набор физических и программных инструментов для работы с сетями Wi-Fi. Назначение этого набора инструментов это планирование и разработка, анализ и оптимизация, выявление и устранение неполадок сети.Также данный инструментарий позволяет работать командой например, бригаде обслуживания сетей на выезде поддерживать связь, с инженером-проектировщиком, который работает в офисе. Решения Ekahau позволяют быстро и беспрепятственно обмениваться информацией и оперативно принимать решения по обслуживанию сетей Wi-fi. Набор Ekahau Connect включает в себя следующие инструменты: Ekahau Pro Site Survey Tooll - базовый инструмент, предназначенный для планирования, обработки данных, оптимизации и оперативного устранения проблем в сетях Wi-Fi.Имеет широчайший функционал, который позволяет использовать это решение профессионально. Несмотря на это, достаточно прост в использовании и изучении, а также достаточно быстро работает с данными. Имеется поддержка Windows и MAC OS. Производитель также заявляет поддержку всех существующих на текущий момент стандартов Wi-fi, до 6 версии включительно. Ekahau Sidekick - многофункциональный высокоточный измерительно-диагностический прибор. Имеет два радиомодуля Wi-Fi, а также встроенное оборудование и ПО для анализа спектра. Прибор используется для сбора данных покрытия сетей Wi-Fi и устранения неполадок в них. По заявкам производителя, инструмент снимает данные вдвое быстрее аналогов, а анализирует в 4-10 раз быстрее. Семь встроенных антенн позволяют оптимально проводить высокоточное исследование поведения и покрытия сети Wi-Fi. Инструмент работает с iPad, MacOS и Windows, причем имеет функцию Plug and Play. Заявлена поддержка всех актуальных стандартов Wi-Fi, в том числе Wi-Fi 6. Ekahau Survey- это первое на рынке профессиональное решение для диагностики сети Wi-Fi для iPad.Благодаря мобильной платформе, оно позволяет не таскать с собой габаритные ноутбуки, а держать весь необходимый инструментарий в планшете компании Apple.Интуитивно доступный интерфейс и простота использования дают возможность снимать данные на местах даже начинающему специалисту. Этот инструмент определяет все доступные сети и составляет их карту покрытия, с учетом силы сигнала. Ekahau Capture - технология, которая позволяет быстро и без потерь захватывает пакеты данных. Ekahau Capture позволяет сэкономить на сложном и дорогом оборудовании, а также использует простые и надежные решения для полноценного сбора данных. Инструмент легок в обращении, что дает возможность быстро провести сбор и обработку данных для определения и устранения неполадок сети Wi-Fi, даже начинающему специалисту.Для достижения оптимальной скорости и надежности работы данную программу рекомендуется использовать совместно с Ekahau Sidekick. Ekahau Cloud - как очевидно из названия, это облачная технология. Благодаря ей, сбор данных может осуществляться как в память устройства, так и в облачное хранилище. В последнем случае можно подключить для работы с данными общий доступ. Это позволит трудиться над одним проектом целой группе людей например, полевая бригада с анализаторами будет собирать данные о сети и передавать их в облако. А далее с этими данными, видя и оценивая полную картину, будут работать специалисты-аналитики. Эту опцию можно отключить, поэтому если время не критично, сбор данных можно осуществлять и в память устройства. Опять же, важно понимать, что наибольшую ценность Ekahau будет иметь на масштабных внедрениях Wi-Fi и особенно если там есть сложные условия - толстые перекрытия, помехи и так далее. Используя вышеупомянутые инструменты вы сможете избежать долгих и тяжких процедур с попыткой понимания где же точка доступа была повешена неправильно и определения правильности модели и количества этих точек.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59