По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Хотим показать два простых способа для ограничения набора платных номеров (международных и междугородних направлений) на Asterisk. Зачем это нужно? Часто в компаниях есть определённый тип пользователей, которым, для выполнения своих служебных обязанностей, не требуется совершать исходящие звонки на внешние направления. Они принимают входящие вызовы от внешних абонентов и могут пользоваться внутрикорпоративной связью. Именно такую задачу мы решим.
Будем считать, что ограничить набор номеров платных направлений нужно для внутренних номеров маской 3XX.
Способ 1
Для решения вышеописанной задачи первым способом будем пользоваться графическим интерфейсом FreePBX 13 и уже знакомым нам модулем Custom Context.
Открываем вкладку Connectivity → Custom Context и нажимаем Add Context:
Задаём новому контексту название и понятное описание и жмём Submit, после чего перед нами открывается список правил, которыми мы будем манипулировать, чтобы запретить доступ к исходящим направлениям.
Дальнейшие действия рекомендуем воспроизводить в точности по следующему порядку:
Выбираем опцию Allow напротив строки Set All To;
Выбираем опцию Deny Rules напротив строки ENTIRE Basic Internal Dialplan;
В окне Deny Rules указываем шаблон (dial pattern) внешних номеров, которые хотим запретить. В нашем случае это - 810Z. – международный и 8495XXXXXXX, 8499XXXXXXX, 89XXXXXXXX - звонки по городу и мобильные номера. Узнайте как принимает номер ваш провайдер, чтобы указать правильный шаблон.
Должно получиться вот так:
4. Далее прокручиваем данное меню вниз и напротив строки ALL OUTBOUND ROUTES также выбираем Deny Rules, после чего жмём Submit и Apply Config
Теперь осталось только применить созданное правило на нужных Extension’ах. Для этого открываем модуль Extensions ищем внутренний номер, которому необходимо запретить совершать международные и междугородние звонки (например 310), открываем вкладку Other и напротив строки Custom Context выбираем наш новый контекст.
Нажимаем Submit, Apply Config и готово теперь с данного внутреннего номера “наружу” не позвонить.
Если таких внутренних номеров много, то можно выгрузить csv файл со всеми их настройками с помощью модуля Bulk Handler и указать так контекст вручную, а затем импортировать новый файл.
Способ 2
Для решения задачи вторым способом, нам придётся немного изменить правила в конфигурационных файлах. Для этого открываем /etc/asterisk/extensions_custom.conf любым редактором, ищем контекст [from-internal-custom] и вносим туда следующую запись:
[from-internal-custom]
exten => _8X./3XX,1,NoOp("${CALLERID} long-distance call detected")
exten => _8X./3XX,n,Playback(feature-not-avail-line,noanswer)
exten => _8X./3XX,n,Hangup()
Таким образом, мы запретили набор номеров междугородних и международных направлений с выходом через 8 для всех внутренних номеров с маской 3XX.
Можете ли вы представить себе компанию, в которой никто бы не управлял IT-инфраструктурой и операциями? Скорее всего, нет. Вот здесь и начинается SRE (обеспечение надежности информационных систем) и DevOps (автоматизация сборки, настройки и развертывания ПО). В последние годы оба этих направления стали очень популярными в IT-среде, и их распространенность продолжает расти. Но все-таки, DevOps и SRE – это разные вещи или синонимы для одного и того же? Данная статья поможет во всем разобраться.
Что такое DevOps?
DevOps – это подход к разработке ПО. Ключевое отличие данной методологии заключается в том, что DevOps следует принципам Lean (бережливое производство) или Agile (гибкость). DevOps специализируется на постоянном развертывании ПО с частым выходом версий и автоматизированным подходом к разработке программ. DevOps-подход включает в себя набор норм и технологических приемов для быстрого выполнения запланированной работы. Под запланированной работой мы подразумеваем все – от разработки до тестирования и эксплуатации. DevOps преследует следующие цели:
ускорение доставки продуктов на рынок;
сокращение жизненного цикла разработки ПО;
повышение отзывчивости к потребностям рынка.
Так что же такое DevOps? DevOps – это объединение отделов разработки и эксплуатации для максимально быстрого и органичного развертывания кода. Данный подход основан на тесной коммуникации внутри команды в сочетании с высоким уровнем автоматизации. По правилам DevOps команда, пишущая код, отвечает также и за его обслуживание при эксплуатации. Иначе говоря, отделы разработки и эксплуатации, которые принято разделять, должны работать сообща над улучшением версий ПО.
В чем преимущества DevOps?
Во-первых, DevOps улучшает скорость доставки приложений. Это реализуется за счет создания небольших изменений и частого выхода новых версий. Таким образом, компании могут выводить продукты на рынок чаще. Обновления и исправления выполняются быстрее и проще, а стабильность ПО возрастает. Более того, вносить небольшие изменения гораздо проще, и такую систему легко вернуть к предыдущей версии. Еще один плюс: возможности доставки ПО у таких объединенных команд более безопасные.
Что делает DevOps и как?
DevOps – это отличный способ для создания культуры сотрудничества. Центральное место занимает команда, которая вместе работает над развертыванием кода в промышленную среду и его дальнейшим обслуживанием. То есть команда DevOps отвечает за написание кода, исправление ошибок и выполняет любые задачи, связанные с этим кодом. Процесс DevOps основан на 5 ключевых принципах:
Устранение обособленности. Роль команды DevOps заключается в том, чтобы аккумулировать знания со стороны разработки и эксплуатации. Поощряется коммуникация, что помогает лучше разобраться в ситуации.
Быстрое признание ошибок и прекращение. В процессе DevOps определяются методы минимизации риска, а одни и те же ошибки не делаются дважды. С помощью автоматизированного тестирования команда ищет ошибки на ранних стадиях цикла выхода ПО.
Постепенное внесение изменений. Команда DevOps не внедряет крупные изменения в рабочие версии, а регулярно развертывает небольшие поэтапные доработки. Это позволяет лучше проверять изменения и устранять ошибки.
Использование инструментов и автоматизации. Команда создает конвейер развертывания с помощью инструментов автоматизации. Тем самым повышается скорость и точность разработки, а также сводится к минимуму риск ошибок, допущенных человеком. Кроме того, сокращается объем ручной работы.
Измерение всего. DevOps использует данные для измерения результата всех предпринятых действий. Чаще всего для оценки успеха используются 4 главных метрики: время внесения изменений, частота развертывания, время восстановления и частота отказов.
Для эффективной работы команде DevOps необходимо использовать мощные инструменты. К ним относятся: системы управления версиями для всего кода (GitHub, GitLab и т.д.), инструменты непрерывной интеграции (Jenkins, Spinnaker и т.д.), инструменты автоматизации развертывания, инструменты автоматизации тестирования (Selenium и т.д.), а также инструменты управления инцидентами (PagerDuty, Opsgenie и т.д.)
Что такое SRE?
Концепция обеспечения надежности информационных систем (SRE - Site Reliability Engineering) появилась в 2003 году. Изначально она задумывалась как система для поддержки разработчиков, создающих крупномасштабные приложения. В наши дни SRE реализуется опытной командой экспертов, которая умеет применять методы проектирования при решении общих проблем, связанных с запуском систем в промышленную эксплуатацию. SRE – это как бы системный инженер, который отвечает еще и за эксплуатацию. Это сочетание работ по системным операциям с разработкой и проектированием ПО. В зоне ответственности таких сотрудников находится множество задач – от написания и создания кода до его доставки и поддержки в промышленной среде.
Главная цель SRE – разработка сверхнадежных и быстро масштабируемых систем. Раньше проектировщиков ПО и сотрудников эксплуатационного отдела разделяли на 2 отдела с разными зонами ответственности. Такие отделы подходили к решению проблем с разных сторон. SRE выходит за рамки этого ограничения. Принцип сотрудничества, лежащий в основе этой методологии, пришелся по душе многим компаниям.
В чем преимущества SRE?
SRE значительно улучшает период работоспособности. Основной приоритет – поддержание платформы или сервиса в рабочем состоянии, несмотря ни на что. Задачами первостепенной важности являются: предотвращение аварий, минимизация рисков, надежность и запас мощности. Главная цель команды SRE – найти способы по предотвращению проблем, которые могли бы привести к простою. Это критически важно, особенно при сопровождении крупномасштабных систем. Еще одно преимущество SRE заключается в том, что данный подход помогает компаниям отойти от ручной работы в пользу автоматизации. Тем самым у разработчиков высвобождается больше времени на инновационные решения. Любые ошибки быстро и эффективно находятся и устраняются.
Что делает SRE и как
Роль SRE в компании предельно проста и понятна: команда следит за тем, чтобы платформа или сервис были доступны клиентам в любой момент и в любых обстоятельствах.
Чем занимается SRE?
SRE устраняет разобщенность команд немного иначе, чем DevOps. Она помогает разработчикам создавать более надежные системы, поскольку эти сотрудники занимаются не только разработкой, но и эксплуатацией программ. Следовательно, разработчики лучше понимают свои продукты и могут качественнее поддерживать системы в промышленной эксплуатации.
Для улучшения системы SRE использует определенные метрики. Такая оценка надежности систем является решающим фактором, определяющим, попадет ли то или иное изменение в рабочую версию. Ключевые метрики SRE: SLO (цели уровня обслуживания), SLA (соглашение об уровне обслуживания) и SLI (количественная оценка работы сервиса).
SRE решает вопросы, связанные с эскалацией запросов в поддержку. Кроме того, эта система всячески побуждает людей выявлять и сообщать об инцидентах.
Команда SRE определяет и проверяет новый функционал с обновлениями, а также разрабатывает документацию по системе.
В своей работе команда SRE пользуется такими системами, как Kubernetes (один из самых известных оркестраторов контейнеров), облачными платформами (Microsoft Azure, Amazon AWS и т.д.), инструментами планирования и управления проектами (JIRA, Pivotal Tracker), а также системами контроля версий (GitHub и т.д.).
Чем отличаются SRE и DevOps?
Если говорить абстрактно, что DevOps – это написание и развертывание кода, а SRE – это комплексный подход ко всему, поскольку при работе над системой команда примеряет на себя роль конечного пользователя.
При работе над продуктом или приложение команда DevOps использует гибкий подход. Они быстро и качественно создают, тестируют и развертывают приложения. Команда SRE регулярно делится с командой разработчиков обратной связью. Их цель – эффективно использовать данные по эксплуатации и проектированию ПО (в основном, за счет автоматизации операционных задач) и, тем самым, ускорить доставку приложения. В то же время задача команды DevOps – сделать рабочие процессы более эффективными и автоматизированными.
Цель SRE – создать слаженные операционные процессы с помощью методологий, которыми раньше пользовались только разработчики ПО. Основная задача SRE – сделать так, чтобы платформа или приложение были постоянно доступны клиентам. Для этого оцениваются потребности клиентов и анализируются метрики SLA, SLI и SLO. DevOps делает акцент на процессе в целом, и результатом должно стать успешное развертывание ПО. Ниже описаны дополнительные отличия между DevOps и SRE.
Роль команды разработчиков
DevOps объединяет навыки разработчиков и инженеров по эксплуатации ПО. SRE решает проблемы IT-операций с помощью инструментов и парадигмы разработчиков.
Навыки
Команда DevOps работает преимущественно с кодом. Они пишут код, тестируют его и выпускают в промышленную версию. Итогом их работы должна стать программа, которая поможет решить чью-то проблему. Кроме того, они настраивают и запускают сборочный конвейер. SRE-подход немного шире. Команда анализирует, почему что-то пошло не так. Они делают все, чтобы та или иная проблема не повторилась.
Что общего в SRE и DevOps?
Мы разобрали отличия между DevOps и SRE, но есть ли в них что-то общее? По правде говоря, SRE и DevOps между ними много общего, ведь оба подхода – это методологии, которые применяются для анализа промышленных версий и обеспечения того, чтобы управление эксплуатациями работало как нужно. Их общая цель – получить качественный результат для сложных распределенных систем. Оба направления делают акцент на людях, которые работают как единая команда с общей зоной ответственности. DevOps и SRE верят в то, что поддерживать все в рабочем состоянии – это задача каждого. Вовлеченность в процесс должна быть общей – от написания первоначального кода до сборки приложения, развертывания в промышленную версию и обслуживания. Проектировщики DevOps и SRE пишут и оптимизируют код до того, как развертывать его в рабочей среде.
Подводя итог, можно сказать, что для достижения общей цели нужно сочетать DevOps и SRE.
При работе в командной строке довольно часто вам придется создавать или редактировать текстовые файлы. Два самых мощных и популярных редактора командной строки - это Vim и Emacs. У них обоих есть крутая кривая обучения, которая может быть пугающей для новых пользователей. Для тех, кому нужен простой редактор, есть nano.
GNU nano - это простой в использовании текстовый редактор командной строки для операционных систем Unix и Linux. Он включает в себя все основные функции, которые вы ожидаете от обычного текстового редактора, такие как подсветка синтаксиса, несколько буферов, поиск и замена с поддержкой регулярных выражений, проверка орфографии, кодировка UTF-8 и многое другое.
В этом руководстве объясняются основные принципы использования редактора nano, включая способы создания и открытия файла, редактирования файла, сохранения файла, поиска и замены текста, вырезания и вставки текста и многое другое.
Установка nano
Текстовый редактор Nano предустановлен на MacOS и большинстве дистрибутивов Linux. Чтобы проверить, установлен ли он в вашей системе, выполните следующие действия:
nano --version
Вывод будет выглядеть примерно так:
GNU nano, version 2.9.3
(C) 1999-2011, 2013-2018 Free Software Foundation, Inc.
(C) 2014-2018 the contributors to nano
Email: nano@nano-editor.org Web: https://nano-editor.org/
Если в вашей системе не установлен nano, вы можете установить его с помощью менеджера пакетов вашего дистрибутива.
Установка Nano в Ubuntu и Debian:
sudo apt install nano
Установка Nano в CentOS и Fedora:
sudo yum install nano
Открытие и создание файлов
Чтобы открыть существующий файл или создать новый файл, введите nano, а затем имя файла:
nano filename
Откроется новое окно редактора, и вы сможете начать редактирование файла.
Внизу окна находится список самых основных командных ярлыков, которые можно использовать с нано.
Все команды имеют префикс ^ или M. Символ каретки (^) обозначает клавишу Ctrl. Например, команды ^ J означают одновременное нажатие клавиш Ctrl и J. Буква М обозначает клавишу Alt.
Вы можете получить список всех команд, набрав Ctrl + g.
Чтобы открыть файл, вы должны иметь права на чтение файла.
Если вы хотите открыть файл с курсором на определенной строке и символом, используйте следующий синтаксис:
nano +номер_строки,номер_символа filename
Если вы не укажите номер символа то, курсор будет расположен на первом символе.
Редактирование файлов
В отличие от vi, nano является немодальным редактором, что означает, что вы можете начать печатать и редактировать текст сразу после открытия файла.
Чтобы переместить курсор на определенную строку и номер символа, используйте команду Ctrl + _. Меню в нижней части экрана изменится. Введите число в поле «Enter line number, column number» и нажмите Enter.
Поиск и замена
Чтобы найти текст, нажмите Ctrl + w, введите поисковый запрос и нажмите Enter. Курсор переместится к первому совпадению. Чтобы перейти к следующему совпадению, нажмите Alt + w.
Если вы хотите найти и заменить, нажмите Ctrl + . Введите условие поиска и текст, который нужно заменить. Редактор перейдет к первому совпадению и спросит вас, нужно ли его заменить. После нажатия Y или N он перейдет к следующему совпадению. Нажатие А заменит все совпадения.
Копирование, вырезка и вставка
Чтобы выделить текст, переместите курсор в начало текста и нажмите Alt + a. Это установит отметку выбора. Переместите курсор в конец текста, который вы хотите выделить, с помощью клавиш со стрелками. Выбранный текст будет выделен. Если вы хотите отменить выбор, нажмите Ctrl + 6.
Скопируйте выделенный текст в буфер обмена с помощью команды Alt + 6. Ctrl + k обрежет выделенный текст.
Если вы хотите вырезать целые строки, просто переместите курсор на линию и нажмите Ctrl + k. Вы можете вырезать несколько строк, нажав Ctrl + K несколько раз.
Чтобы вставить текст, наведите курсор на то место, куда вы хотите поместить текст, и нажмите Ctrl + u.
Сохранение и выход
Чтобы сохранить внесенные изменения в файл, нажмите Ctrl + o. Если файл еще не существует, он будет создан после его сохранения.
Для выхода из нано нажмите Ctrl + x. Если есть несохраненные изменения, вас спросят, хотите ли вы сохранить изменения.
Чтобы сохранить файл, вы должны иметь права на запись в файл. Если вы создаете новый файл, вам необходимо иметь разрешение на запись в каталог, в котором он создан.
Кастомизация nano
Параметры, указанные в пользовательских файлах, имеют приоритет над глобальными параметрами. Полный список доступных опций для nanorc можно посмотреть тут
Nano поставляется с правилами подсветки синтаксиса для большинства популярных типов файлов. В большинстве систем Linux файлы синтаксиса хранятся в каталоге /usr/share/nano и по умолчанию включены в файл конфигурации /etc/nanorc.
include "/usr/share/nano/*.nanorc"
Подсветка синтаксиса
Самый простой вариант включить подсветку для нового типа файлов - это скопировать файл, содержащий правила подсветки синтаксиса, в каталог /usr/share/nano.
Установите Nano в качестве текстового редактора по умолчанию
По умолчанию в большинстве систем Linux текстовым редактором по умолчанию для таких команд, как visudo и crontab, является vi. Чтобы использовать nano в качестве текстового редактора по умолчанию, вам нужно изменить переменные окружения VISUAL и EDITOR.
Пользователи Bash могут экспортировать переменные в файл ~/.bashrc:
export VISUAL=nano
export EDITOR="$VISUAL"
Базовое использование Nano
Ниже приведены основные шаги для начала работы с nano:
В командной строке введите nano, а затем имя файла.
Отредактируйте файл как требуется.
Используйте команду Ctrl-x для сохранения и выхода из текстового редактора.
Вывод
В этой статье мы показали, как использовать текстовый редактор Gnu nano. Это популярный текстовый редактор среди пользователей Linux и имеет небольшую кривую обучения.
Для получения дополнительной информации о Gnu Nano посетите официальную страницу документации nano.