По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Где и зачем? На сегодняшний день логирование информации в процессе разработки имеет огромное значение. Сохранение информации в лог-файлы это первоочередная задача для выявления неполадок и слабых мест в работе приложения. Однако, если приложение работает на основе многих сложных процессов здесь не обойтись без эффективного инструмента навигации и анализа по логам. В одной из предыдущих статей мы разбирали такое решение, как ELK Elasticsearch, Logstash, Kibana. В таком сочетании эти программы способны оперативно решать задачи по сбору, хранению, выборке и анализу информации даже в крупных проектах. Это и является их основным назначением. Однако, эти программы также можно использовать по отдельности, поскольку они являются самостоятельными программными продуктами. Как же можно использовать эти приложения в разных сочетаниях, и для чего это нужно? Приступим к разбору. Самым востребованным инструментом из этой тройки является Elasticsearch. Оно и понятно поисковая система, действующая на основе горизонтального масштабирования (то есть, с возможностью искать данные по запросу пользователя параллельно на множестве серверов) стала очень популярным решением для осуществления поиска не только в логах, но и во множестве данных. При этом данные не обязательно могут быть структурированы, и пользователь с высокой вероятностью получит четкие результаты по запрашиваемому фрагменту текста. При этом широкую популярность данному приложению обеспечивают также широкие возможности по интегрированию с другими программами, множество вариантов конфигурирования, а также подключаемые плагины, работа над которыми ведется как специалистами компании Elastic, так и "народными умельцами" Альтернативным вариантом использования Elasticsearch является вариант с созданием на основе этого приложения централизованных хранилищ данных, содержащих логи использования с разных устройств. Конечно, в этом случае потребуется визуализация, поэтому наилучшее взаимодействие с Elasticsearch обеспечивает Kibana. Данная связка является наиболее популярной и эффективной, поскольку обе программы разрабатывались специально с прицелом на взаимодействие. Несомненным плюсом ELK является модульная архитектура. Комбинируя различные модули, можно сконфигурировать систему для выполнения разнородных задач. Так, например, модуль Metricbeat, включенный в систему позволяет оптимально сконфигурировать систему для мониторинга инфраструктуры,решение Heartbeat позволяет осуществлять uptime-мониторинг. Направления Elastic SIEM и Elastic API также существенно расширяют функциональность ELK Помимо непосредственно разработчиков, комплекс ELK Stack также могут использовать и тестировщики. Конечно, если приложение занимает небольшой объем, то установка ELK вряд ли будет рациональным решением, но, если это будет серьезная объемная программа, тогда тестер сможет быстро выявить проблему и не тратить время разработчика на поиск и анализ. Такая схема работы достаточно популярна и эффективна в некоторых компаниях, разрабатывающих программное обеспечение. Также доступ к логам программы могут затребовать управленцы - менеджер, курирующий проект, или же представители заказчика. В данном случае анализ логов позволяет выявить, эффективно ли ведется работа над исправлением выявленных ранее неисправностей, и не появилось ли новых багов в процессе исправления старых. В последнее время развивается использование комплекса ELK в бизнес-процессах для обеспечения эффективного сбора информации, оперативного анализа и принятия решений. Как пример, можно привести огромный супермаркет со множеством касс. Как правило, для наличного расчета на начало рабочего дня в кассе должна быть определенная сумма наличных для выдачи сдачи. Так вот, комплекс ELK применяется для сбора данных о проведенных по кассе операциях, выборки из собранных данных информации об остатках наличных в разных кассах, и анализа информации, после которого специалист, работающий с программой, может принять решение, какая сумма наличных нужна для обеспечения нужд кассиров по выдаче сдачи. Непрерывный сбор и анализ информации позволяет оценить пики и спады, сравнить информацию с аналогичными показателями за вчерашний день, прошедшие неделю или месяц. По этой причине решение ELK приобретает все большую популярность как инструмент биржевой аналитики. Хотя на текущий момент есть инструменты и получше, однако динамика развития данного решения позволяет думать, что оно вряд ли перестанет быть актуальным и для подобных задач.
img
Функционал модуля CallerID Lookup Sources позволяет устанавливать некие источники для преобразования номерных идентификаторов входящих вызовов CID (caller ID) в имена. После чего, можно привязать входящий маршрут к специальному источнику CID. Таким образом, любой входящий вызов будет сперва проверен на соответствие номера и имени по заданному источнику и, если такое соответствие будет найдено, то вместо длинного номера, на экране Вашего телефона отобразится знакомое имя вызывающего абонента. Можно также создать небольшой список соответствия имен и номеров в модуле Phonebook. /p> Настройка модуля Перейдём к настройке. Для того чтобы попасть в модуль CallerID Lookup Sources, с главной страницы, переходим по следующему пути: Admin -> CallerID Lookup Sources. Обратите внимание на предупреждение, которое открывается при входе в модуль. Процесс поиска имени входящего абонента (name lookup), который запускает данный модуль, может замедлить работу Вашей IP-АТС. По умолчанию, в модуле уже есть один источник – сервис определения CallerID Name - OpenCNAM. Мы не будем подробно рассматривать данный вариант, поскольку, чтобы им воспользоваться, необходимо иметь аккаунт в OpenCNAM. Рассмотрим, какие ещё источники предлагает данный модуль. Для этого нажмите Add CIDLookup Source, откроется окно добавления нового источника В поле Source Description предлагается написать краткое описание нового источника. В поле Source type выбирается тип источника. От того, какой тип будет выбран на данном этапе, будет зависеть то, где система будет искать соответствие CID входящих вызовов. Рассмотрим каждый тип: internal - Для поиска имени используется база astdb, а для её заполнения – модуль Asterisk Phonebook ENUM - Поиск осуществляется по DNS в соответствии с конфигурационным файлом enum.conf HTTP - Выполняет HTTP GET - запрос , передавая номер звонящего в качестве аргумента, чтобы получить правильное имя Рассмотрим каждое из полей, которое необходимо заполнить при выборе данного источника: Host - IP-адрес или доменное имя сервера, куда будет отправлен запрос GET Port - Порт, который прослушивает сервер (по умолчанию - 80) Username - Логин для HTTP аутентификации Password - Пароль для HTTP аутентификации Path - Путь к файлу для запроса GET. Например, /cidlookup.php Query - Строка запроса, специальный токен [NUMBER], в котором будет заменен на номер необходимого абонента. Например, number=[NUMBER]&source=crm. В случае выбора в качестве источника для поиска сервера HTTPS всё остаётся прежним, за исключением порта. По умолчанию используется порт 443. MySQL - Поиск имени звонящего осуществляется по базе MySQL Рассмотрим каждое из полей, которое необходимо заполнить при выборе данного источника: Host - Имя сервера MySQL Database - Имя базы данных MySQL Query - Строка запроса, где специальный токен [NUMBER], будет заменен на номер необходимого абонента. Например, SELECT name FROM phonebook WHERE number LIKE '%[NUMBER]%' Username и Password для авторизации на сервере MySQL Character Set - Набор символов MySQL. Чтобы оставить набор символов по умолчанию, оставьте это поле пустым Пример работы Internal Для демонстрации примера работы данного модуля, создадим тестовый источник - test_internal. Поиск в нем будет осуществляться по базе astdb, которая заполняется при помощи модуля Asterisk Phonebook. Перейдём в данный модуль и создадим тестовую запись. Теперь, необходимо зайти в модуль Inbound Routes и добавить туда правило проверки входящих CID по ранее созданному источнику test_internal. Готово, теперь, если на номер данного входящего маршрута позвонит 456123789, то на экране нашего телефона мы увидим имя John Doe. Если вы хотите подробнее узнать о настройке входящих маршрутов, почитайте соответствующую статью в нашей Базе Знаний.
img
Настройка OSPF (Open Shortest Path First) довольна проста и чем-то похожа на протоколы маршрутизации RIP и EIGRP, то есть состоит из двух основных шагов: включения протокола глобальной командой router ospf PROCESS_NUMBER; выбора сетей, которые протокол будет «вещать», для чего используется команда(ы) network 255.255.255.255 0.0.0.255 AREA_NUMBER; Как сразу заметно, в OSPF появляется указание «зоны» - area. Первая команда включения говорит сама за себя, но поясним про PROCESS_NUMBER и AREA_NUMBER – это номер процесса и номер зоны соответственно. Для установления соседства номер процесса OSPF не должен быть одинаковым, но обязательно должен совпадать номер зоны. Интерфейсы и сети указываем через обратную маску. Видео: протокол OSPF (Open Shortest Path First) за 8 минут Пример настройки OSPF В нашей топологии у маршрутизаторов R1 и R2 есть напрямую подключенные подсети. Нам нужно включить данные подсети в процесс динамической маршрутизации OSPF. Для этого нам сначала нужно включить OSPF на обоих маршрутизаторах и затем «вещать» данные сети с помощью команды network. На маршрутизаторах переходим в глобальный режим конфигурации и вводим следующие команды, в соответствии с нашей схемой: router ospf 1 network 10.0.1.0 0.0.0.255 area 0 network 172.16.0.0 0.0.255.255 area 0 router ospf 1 network 192.168.0.0 0.0.0.255 area 0 network 172.16.0.0 0.0.255.255 area 0 Далее нам нужно проверить, заработала ли динамическая маршрутизация, и для этого используем команды show ip ospf neighbors и show ip route Вот и все – также просто, как и настроить RIP: главное не забывать указывать одинаковый номер автономной системы. Первая команда должна показать «соседа» - на обоих маршрутизаторах убедитесь, что там указан адрес другого маршрутизатора в выводе данной команды. Вторая команда выведет таблицу маршрутизации, и, маршруты, получаемые по OSPF, будут отмечены буквой O. Второй сценарий настройки OSPF По первому примеру видно, что настройка OSPF довольна проста. Однако, этот протокол маршрутизации имеет довольно много разнообразных фич, которые сильно усложняют процесс настройки, но и делают OSPF очень гибким протоколом. В нашем примере мы настроим мультизонный (multiarea) OSPF с некоторыми дополнительными функциями. В нашем примере у нас есть две зоны OSPF, area 0 и area 1. Как видно на схеме, маршрутизаторы R1 и R2 находятся в зоне 0, и R2 и R3 в зоне 1. Так как R2 соединяет две зоны, он становится ABR – Area Border Router (граничным маршрутизатором). Нашей задачей является вещание подсетей, напрямую подключенных к R1 и R3. Для этого, на R1 введем следующую команду: router ospf 1 network 10.0.1.0 0.0.0.255 area 0 network 172.16.0.0 0.0.255.255 area 0 router-id 1.1.1.1 Мы вручную указали идентификатор маршрутизатора, и теперь процесс OSPF будет использовать данный RID при общении с другими OSPF соседями. Так как R1 подключен только к R2, нам необходимо установить соседство с R2 и вещать напрямую подключенные сети через OSPF. Настройки на R3 выглядят такими же, как на R1, но с другим номером зоны. router ospf 1 network 192.168.0.0 0.0.0.255 area 1 network 90.10.0.0 0.0.0.255 area 1 router-id 3.3.3.3 Теперь перейдем к настройке R2 – так как он является граничным маршрутизатором, необходимо установить соседство и с R1 и с R3. Для этого, нам необходимо настроить отдельное соседство для каждой зоны – 0 для R1 и 1 для R2. router ospf 1 network 172.16.0.0 0.0.255.255 area 0 network 192.168.0.0 0.0.0.255 area 1 router-id 2.2.2.2 Для проверки используем команды show ip ospf neighbor и show ip route ospf на маршрутизаторах R1 и R3. Буквы IA означают, что данные маршруты находятся в разных зонах. Так как R1 и R3 находятся в разных зонах, между ними никогда будет соседства.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59