User
Использование Google Cloud Speech API v2 в Asterisk для распознавания русской речи
Тестирование производительности баз данных при помощи tSQLt и SQLQueryStress
Надеюсь не будет откровением, если я скажу, что тестирование отыгрывает важную роль при разработке любого программного продукта. Чем качественнее тестирование, тем лучше в итоге должен выйти конечный продукт.
Часто можно столкнуться с ситуацией, когда тестирование программного кода проходит очень кропотливо, а на тестирование базы данных времени уже не остается либо оно делается по остаточному принципу. Подчеркну, что это формулировка весьма сдержанная, на практике все бывает еще хуже… про базу вспоминают только когда с ней начинаются проблемы.
В итоге работа с БД может стать узким местом в производительности нашего приложения.
Чтобы избавить себя от подобного рода проблем, я предлагаю рассмотреть различные аспекты тестирования баз данных. К которым можно отнести нагрузочное тестирование и проверку производительности SQL Server в целом при помощи юнит-тестов.
Тестируем IVR на Asterisk с помощью… Asterisk
Недавно мне потребовалось добавить метрику по uptime сервиса дистанционного обслуживания для расчета SLA. Статистика по вызовам API является косвенным показателем работоспособности, а нужна достоверная проверка всех функций от дозвона из внешней сети, до прохождения пользователя по всему меню обслуживания. В интернете ничего готового не видел, поэтому решил поделиться своими изысканиями.
Есть система дистанционного обслуживания – клиент может позвонить в call-центр и проверить/изменить настройки своей учётной записи без участия оператора. Для перехода по меню и управления настройками используются тональные сигналы (DTMF). АТС в свою очередь взаимодействует с ядром основной системы через API, возвращая результаты пользователю в виде голосовых сообщений.
Задача: настроить автоматизированную проверку системы (правильно отвечает на запросы/выполняет нужные команды).
Главные требования:
максимальная правдоподобность имитации пользователя: т.е. нужно именно звонить и нажимать кнопки, а не вызывать методы API в обход call-центра.
работа именно с тем планом набора, в который попадают обычные пользователи; нельзя делать специальный контекст для автоматизированной проверки.
Как определить уровень ИТ-зрелости своей компании — и какие они бывают
Давайте разберём уровни зрелости ИТ-процессов на примере управления инцидентами. Это всё то, что сыплется на ИТ-отдел в виде тикетов от пользователей, шефа, текущих задач и всего, что надо сделать. Забегая чуть вперёд, скажу, что в среднем по стране у крупного бизнеса с инцидентами довольно хорошо, в большинстве случаев это 4-й уровень. Ну просто потому, что работа со сбоями — это первое, по чему судят об ИТ-отделе.
Первый уровень — это когда:
- ИТ-отдел работает без распределения обязанностей и специализаций. Все отвечают за всё (точнее, ни за что), принцип выбора исполнителя — «Вася, ты свободен, ну, сделай им там».
- Ответственности нет: если Вася забыл, непонятно, кому писать, непонятно, как и что на что влияет, пользователи вообще не разбираются, кто и что делает. И иногда бьются в истерике.
- Документации нет.
- Автоматизации нет (либо есть на уровне списка задач в блокноте).
- Пользователи почти всё решают по личным знакомствам, обращаясь к тем, кто им уже один раз помог.
На втором уровне появляется базовое распределение обязанностей и вычленение логичных последовательностей действий.
Балансировка двух провайдеров на основе BGP и EEM
Статья рассматривает способ управления BPG-анонсами на маршрутизаторах Cisco, c операционной системой IOS XE, с помощью Cisco Embedded Event Manager (EEM) для балансировки входящего трафика и резервирования uplink от нескольких вышестоящих провайдеров.
10 техник, которыми пользуются манипуляторы (и как с ними бороться)
Психопаты — это не только злодеи из ужастиков и поучительных историй с Уолл-стрит. Мы ежедневно встречаемся с ними в офисе, и поначалу они кажутся нам обычными людьми. Одно исследование обнаружило: небольшая, но заметная часть бизнес-лидеров — 3—4% — подходит под клиническое определение психопата. Как защититься при взаимодействии с такими людьми?
Tracert vs Traceroute
Стандартный механизм маршрутизации пакетов в интернете — per hop behavior — то есть каждый узел в сети принимает решение куда ему отправить пакет на основе информации, полученной от протоколов динамической маршрутизации и статически указанных администраторами маршрутов.
Маршрут — это интерфейс, в который нам надо послать пакет для достижения какого то узла назначения и адрес следующего маршрутизатора (next-hop):
R1#sh ip rou | i 40.
40.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
O 40.0.0.0/31 [110/3] via 20.0.0.0, 00:01:54, FastEthernet0/0
O 40.1.1.1/32 [110/4] via 20.0.0.0, 00:00:05, FastEthernet0/0
Что такое путь? Путь — это список узлов, через которые прошел (пройдет) пакет:
1 10.0.0.1 16.616 ms 16.270 ms 15.929 ms
2 20.0.0.0 15.678 ms 15.157 ms 15.071 ms
3 30.0.0.1 26.423 ms 26.081 ms 26.744 ms
4 40.0.0.0 48.979 ms 48.674 ms 48.384 ms
5 100.0.0.2 58.707 ms 58.773 ms 58.536 ms
Путь пакета можно посмотреть с помощью утилит tracert в OC Windows и traceroute в GNU/Linux и Unix-подобных системах. (другие команды, типа tracepath мы не рассматриваем).
Многие считают что этих утилит один и тот же принцип работы, но это не так. Давайте разберемся.
GNS3 в облаке
Привет! Сегодня расскажу, как настроить GNS3 сервер в облачных сервисах. А в конце будет небольшой FAQ по GNS3. Для примера был выбран Google Compute Engine (GCE) (из-за бесплатного двухмесячного триала и более низких цен на виртуалки в Европе по сравнению с AWS).
Почему вообще стоит заморачиваться?
Один раз попробовав, я больше не запускаю GNS3 локально. Нет смысла забивать оперативку своего ноутбука лабой. Кроме того, я могу запускать свои CCIE лабы с любого компьютера (в моём случае рабочий и домашний ноутбуки) — неважно, сколько RAM/какой CPU. При этом, локальные файлы лаб я сохраняю в Dropbox, что позволяет мне продолжать работать над той же лабой с разных устройств.
Под катом вы найдёте подробную инструкцию по установке GNS3 в GCE.
Программный интернет шлюз для уже не маленькой компании (Shorewall, QoS во всю ширь). Часть 3
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
- QoS во всю ширь в Shorewall
- Более подробная настройка Shorewall
- Раскидывание трафика по каналам в соответствии с протоколами
- Костыли, без них, никуда
А в первой части были рассмотрены:
- Простейшая настройка Shorewall
- Ужасно сложная настройка dnsmasq
- Не менее сложная настройка OpenVPN
- И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF
А во второй:
- Более подробная настройка Shorewall
- Страшный и не понятный QoS
- Балансировка нагрузки и резервирование
В четвертой части:
- Автоматические события
- Макросы
Пересылка больших файлов. Автоматическое получение ссылки для скачивания на почту
Так пришла идея создать удобный и контролируемый сервис для пересылки больших файлов в локальной сети.
Реализация на PowerShell, платформа Windows.
Требования:
- Веб сервер опубликованный в интернет.
- Расшаренная папка на компьютере под Windows (для определения владельца файла).
- Настройка на сервере с шарой выполнения скрипта по расписанию, раз в минуту.
Как это работает:
- Пользователь помещает ZIP архив в расшаренную папку на сервере.
- Скрипт ищет ZIP-файлы в расшаренной папке и перемещает их в папку веб-сервера, затем отправляет письмо Владельцу файла.
- Пользователю приходит письмо со ссылкой на скачивание файла через ваш веб-сервер.
- Пользователь пересылает письмо со ссылкой на скачивание адресату.
Как я писал политику безопасности
HotSpot с помощью Cisco WLC5508, FreeRadius, MySQL и Easyhotspot
Итак, наша система будет строиться на Cisco WLC5508 и CentOS. Чтобы понять как это все между собой взаимодействует, посмотрим на схему.
Asterisk: ngrep, sipgrep, sngrep, protocol diagram
Далее речь пойдет о ngrep, sipgrep, sngrep, js-sequence-diagrams
Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 2
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
- Более подробная настройка Shorewall
- Страшный и не понятный QoS
- Балансировка нагрузки и резервирование
А в предыдущей части были рассмотрены:
- Простейшая настройка Shorewall
- Ужасно сложная настройка dnsmasq
- Не менее сложная настройка OpenVPN
- И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF
В третьей части:
- QoS во всю ширь в Shorewall
- Более подробная настройка Shorewall
- Раскидывание трафика по каналам в соответствии с протоколами
- Костыли, без них, никуда
В четвертой части:
- Автоматические события
- Макросы
Лёгкая настройка Asterisk + Fail2Ban
До момента появления лога security в Asterisk 10-й версии fail2ban не мог корректно защищать asterisk от популярного вида атак — подбора sip пароля к экстеншенам, т.к. в обычных логах asterisk ip-адрес атакующего не отображался.
С появлением лога security эта проблема решена.
Если у вас Asterisk 10 и новее, его успешно можно использовать на пару с fail2ban. Настройка довольно простая.
Мониторим S.M.A.R.T. в Zabbix
кому нужен расширенный мониторинг S.M.A.R.T., и кого не устроили уже существующие шаблоны, прошу под кат.
Учёные установили, что волшебные грибочки меняют сознание с первого раза — и, похоже, навсегда
Медики из Университетской медицинской школы им. Джонса Хопкинса (США) выяснили, что после первого приёма на сознание влияют не только LSD, но и «волшебные грибочки», действующее вещество у которых – псилоцибин. Это открытие стало для учёных неожиданным по нескольким причинам.
Кроме того, что ранее не было известно о таком сильном и мгновенном влиянии псилоцибина на психику человека, само заметное изменение психологического портрета – для взрослого человека вещь довольно редкая. У психологов принято считать, что характер человека заканчивает формироваться в 25-30 лет, после чего остаётся практически неизменным. Одно недавнее исследование даже утверждает, что основные персональные черты обнаруживаются уже у первоклассников.
«Это одно из первых исследований, доказывающих, что характер взрослого человека можно сильно изменить»,- утверждает Кэтрин Маклин [Katherine MacLean], кандидат наук из указанного университета.
При этом учёные склонны полагать, что характер меняет не сам наркотик, а ощущения и мистические переживания, которые он вызывает. Сильные, трансцендентные ощущения не кажутся людям менее яркими оттого, что они вызываются химическим раздражителем. Опрошенные учёными люди утверждают, что приём упомянутых препаратов стал одним из самых сильных ощущений в их жизни.
Отличия Lan Lite и Lan Base для коммутаторов Cisco 2960
Привет habr! На сайте нашей компании мы ведём раздел «Вопросы и ответы» (FAQ). Недавно мы обратили внимание, что вопрос «Чем отличается LAN Lite от LAN Base для коммутаторов серии Cisco 2960» просматривают часто. В данной статье попробую более подробно остановиться на отличиях Lan Lite и Lan Base, например, расписать, что скрывается под словами «расширенные функции безопасности», «расширенные функции QoS» и т.д., которые фигурируют во многих сравнительных таблицах Cisco Systems.
Asterisk: Приоритезация VoIP трафика и резервирование доступа в Интернет двух провайдеров на MikroTik
Но это все слова, ближе к делу.
Достаточно распространенная ситуация — Asterisk внутри ЛКС, за маршрутизатором MikroTik.
Дабы выделить трафик сервера, где установлена PBX, администратор отрезает часть канала провайдера выделяя его исключительно для конкретного IP.
Или другая реализация, когда нужный трафик определяется не только по IP-адресу PBX, но и по размеру пакетов и протоколу.
Попробовали — работает. Можно забыть? А вот и нет.
Что если администратору захочется слить что-то из Интернет находясь в консольке сервера, или наоборот отправить куда-либо в Интернет большое количество траффика? Правильно — он приоритезируется на MikroTik так же как и полезный трафик от PBX, что в итоге приведет к проблемам с IP-телефонией.
Решение здесь старо как сам IPv4 — метить трафик на сервере с Asterisk генерируемый только ею, и так, чтобы MikroTik это мог «увидеть», отматчить(простите за столь грубый англицизм) и приоритезировать только его.
Следующим пунктом у нас идет резервирование каналов от двух интернет-провайдеров.
Думаю что каждому системному администратору, использующему в своем хозяйстве маршрутизаторы MikroTik, знаком скрипт из wiki — wiki.mikrotik.com/wiki/Failover_Scripting
Он всем хорош, но как и в предыдущей ситуации есть ряд «но».
Наиболее весомому из них имя «Connection tracking» и заключается оно вот в чем:
когда наш основной ISP изволит отдохнуть от трудов праведных, траффик переключается на резервного.
Все вроде бы довольны, ютуб работает, яп тоже, но сколько бы мы не кричали
sip reload
и в отчаянии не пытались применить магию высших порядков
core restart now
SIP-регистрации не поднимаются.
А дело в том, что в механизме «Connection tracking» остались висеть записи от «старого»(основного) интернет-канала и их нужно удалить, после чего регистрации успешно поднимутся и звонки начнут проходить.
Если вам интересно как доказать MikroTik'у кто все-таки верблюд, а так же как автоматизировать в скрипте сброс «старых» соединений, то вам прямо под кат.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity