пїЅ64
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Ansible один из двух (наряду с SaltStack) наиболее популярных программных комплексов третьей волны, которые позволяют удалённо управлять конфигурациями. Тем не менее, в сегменте сетевого оборудования лидирует наш сегодняшний герой (если о ПО можно так сказать). В первую очередь это вызвано тем, что Ansible не поставит перед пользователем задачи устанавливать агент на хостинги, требующие от него управления. Тем паче ежели Ваш аппарат взаимодействует с ними через CLI, то Ansible это то, что доктор прописал.
Одним выстрелом три "электронных зайца"
Вообще, прежде чем знакомить уважаемых читателей со сценарием работы в данном программном комплексе, позвольте перечислить несколько его достоинств:
Ansible позволяет параллельно подключать по SSH к устройствам (пользователь может сам определить их число).
Ansible может передавать задачи на подключённые машины.
Ansible способен разбивать машины, входящих в систему, на подгруппы и передавать специальных задачи для каждой подгруппы.
Конечно, указаны не все достоинства Ansible. Просто в данных 3 пунктах, как мне кажется, отражена основная суть работы в данной среде. Выполняя эти три задачи, система автоматически освобождает Вас от головной боли по делегированию задач и функций в компании. Время деньги, как говорится.
Сценарии
Ну и переходим к основному блюду нашего материала - сценариям (playbook). Они состоят из двух частей набора команд для выполнения (play) и конкретных команд (task). Они выполняются друг за другом.
Все записи данных осуществляются с помощью YAMLа. К несомненным плюсам его использования следует отнести то, что он гораздо лучше воспринимается людьми, нежели тот же самый JSON. Ежели Вы больше привыкли Вы к Python, то тут у Вас не возникнет проблем с адаптацией, так как синтаксис у них схожий.
А вот так происходит процесс написания сценария (комментарии даны построчно к выводу):
Имя сценария обязательный элемент для любого сценария;
Сценарий применяется к машинам в подгруппе cisco-routers;
Выключение режима сбора событий в конкретной машине (если не выключить данный режим, то система потратит много времени на решение ненужных задач);
В разделе task указывается список команд для каждого конкретного случая;
После чего происходит выполнение команды:
PLAY [Run show commands on routers] ***************************************************
TASK [run sh ip int br] ***************************************************************
changed: [192.168.100.1]
changed: [192.168.100.3]
changed: [192.168.100.2]
TASK [run sh ip route] ****************************************************************
changed: [192.168.100.1]
changed: [192.168.100.3]
changed: [192.168.100.2]
PLAY [Run show commands on switches] **************************************************
TASK [run sh int status] **************************************************************
changed: [192.168.100.100]
TASK [run sh vlans] *******************************************************************
changed: [192.168.100.100]
PLAY RECAP ****************************************************************************
192.168.100.1 : ok=2 changed=2 unreachable=0 failed=0
192.168.100.100 : ok=2 changed=2 unreachable=0 failed=0
192.168.100.2 : ok=2 changed=2 unreachable=0 failed=0
192.168.100.3 : ok=2 changed=2 unreachable=0 failed=0
И запускаем проверку выполнения команд:
SSH password:
PLAY [Run show commands on routers] ***************************************************
TASK [run s hip int br] ***************************************************************
Changed: [192.168.100.1] => {“changed”: true, “rc”: 0, “stderr”: “Shared connection
To 192.168.100.1 closed.
”, “stdout”: “
Interface IP-Address
OK? Method Status Protocol
Ethernet0/0 192.
168.100.1 YES NVRAM up up
Ethernet0/1
192.168.200.1 YES NVRAM up up
Loopback0
10.1.1.1 YES manual up up
”, “stdout_lines
“: [“”, “Interface IP-Address OK? Method Status
Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up
up “, “Ethernet0/1 192.168.200.1 YES NVRAM up
up “, “Loopaback0 10.1.1.1 YES manual up
up “]}
А что внутри?
А теперь поговорим о начинке сценария. Основу составляют переменные. Это могут быть данные о машине, выводы команд, а также их можно вводить вручную.
Главное не забывать правила написания имён. Их всего два:
имена всегда должны состоять из букв, цифр и нижнего подчёркивания;
имена всегда должны начинаться с буквы.
Переменные могут быть определены разными способами:
Инвентарным файлом
[cisco-routers]
192.168.100.1
192.168.100.2
192.168.100.3
[cisco-switches]
192.168.100.100
[cisco-routers:vars]
ntp_server=192.168.255.100
log_server=10.255.100.1
PLAYBOOKом
-name: Run show commands on router:
hosts: cisco-routers
gather_facts: false
vars:
ntp_server: 192.168.255.100
log_server: 10.255.100.1
tasks:
-name: run sh ip int br
raw: s hip int br | ex unass
-name: run s hip route
raw: sh ip route
Специальными файлами, созданными для групп:
[cisco-routers]
192.168.100.1
192.168.100.2
192.168.100.3
[cisco-switches]
192.168.100.100
Или группами каталогов
|– group_vars _
| |– all.yml |
| |–cisco-routers.yml | Каталог с переменными для групп устройств
| |–cisco-switches.yml _|
|
|–host vars _
| |–192.168.100.1 |
| |–192.168.100.2 |
| |–192.168.100.3 | Каталог с переменными для устройств
| |–192.168.100.100 _|
|
|–myhosts | Инвертарный файл
Команда register позволяет сохранять результаты выполнений модулей в переменные. После чего переменная может быть использована в шаблонах, принятиях решений о выполнении заданного сценария.
---
- name: Run show commands on routers
hosts: cisco-routers
gather_facts: false
tasks:
-name: run s hip int br
raw: s hip int br | ex unass
register: sh_ip_int_br_result
---
debug отображает информацию в стандартном потоке вывода в виде произвольной строки, переменной или фактах о машине.
---
- name: Run show commands on routers
hosts: cisco-routers
gather_facts: false
tasks:
-name: run s hip int br
raw: sh ip int br | ex unass
register: sh_ip_int_br_result
-name: Debug registered var
debug: var=sh_ip_int_br_result.stdout_lines
После чего результатом работы станет следующее:
SSH password:
PLAY [Run show commands on routers] ***************************************************
TASK [run sh ip int br] ***************************************************************
changed: [192.168.100.1]
changed: [192.168.100.2]
changed: [192.168.100.3]
TASK [Debug registered var] ***********************************************************
ok: [192.168.100.1] => {
“sh_ip_int_br_result.stdout_lines”: [
“”,
“Interface IP-Address OK? Method Status Protocol”,
“Ethernet0/0 192.168.100.1 YES NVRAM up up “,
“Ethernet0/1 192.168.200.1 YES NVRAM up up “,
“Loopback0 10.1.1.1 YES manual up up “
]
}
ok: [192.168.100.2] => {
“sh_ip_int_br_result.stdout_lines”: [
“”,
“Interface IP-Address OK? Method Status Protocol”,
“Ethernet0/0 192.168.100.1 YES NVRAM up up “,
“Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “,
“Loopback0 10.1.1.1 YES manual up up “
]
}
ok: [192.168.100.3] => {
“sh_ip_int_br_result.stdout_lines”: [
“”,
“Interface IP-Address OK? Method Status Protocol”,
“Ethernet0/0 192.168.100.3 YES NVRAM up up “,
“Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “,
“Loopback0 10.1.1.1 YES manual up up “,
“Loopback10 10.255.3.3 YES manual up up “
]
}
PLAY RECAP ****************************************************************************
192.168.100.1 : ok=2 changed=1 unreachable=0 failed=0
192.168.100.2 : ok=2 changed=1 unreachable=0 failed=0
192.168.100.3 : ok=2 changed=1 unreachable=0 failed=0
Вместо заключения
Можно ещё долго приводить примеры работы в системе, но ещё один факт так сказать "вишенка на торте". К плюсам Ansible следует отнести и то, что заданную команду система может выполнять практически до бесконечности. Пока не наступит требуемый результат трансформации не прекратятся. Пользователю можно не беспокоиться - программа сама всё сделает за Вас, а Вы можете заниматься другими делами.
Поговорим про инструмент Cisco Unified Real-Time Monitoring Tool (RTMT) , который используется для мониторинга системы Cisco Unified Communications Manager (CUCM) в реальном времени.
Установка
Сначала нужно перейти в меню Cisco Unified CM Administration и выбрать вкладку Application → Plugins. Здесь нажимаем Find и среди результатов поиска находим строчку Cisco Unified CM Real-Time Monitoring Tool (Windows либо Linux в зависимости от системы) и нажимаем Download.
Далее запускаем скачанный файл, выбираем место установки, принимаем лицензионное соглашение и устанавливаем RTMT.
После этого открываем программу и в появившемся окне указываем IP адрес сервера и логин с паролем администратора. Номер порта указываем 8443, если он не менялся.
Слева находится две вкладки. Вкладка System отображает общие данные системы, предупреждения, сообщения syslog и позволяет собирать трейсы.
System → System Summary → System Summary - Показывает общую информацию о системе (Использование памяти, CPU, HDD, предупреждения);
System → Server → CPU and Memory - Использование памяти и CPU;
System → Server → Process - Показывает запущенные процессы и какие ресурсы они используют;
System → Server → Disk Usage - Использование дискового пространства;
System → Server → Critical Services - Показывает состояние сервисов;
System → Performance → Performance - Позволяет выбрать отображаемые счетчики производительности;
System → Performance → Performance Log Viewer - Просмотр логов производительности;
System → Tools → Alert Central - Системные ошибки и настройка оповещений;
System → Tools → Trace & Log Central - Просмотр трейсов и логов;
System → Tools → Job Status - Показывает выполняемых работ;
System → Tools → SysLog Viewer - Просмотр SysLog сообщений;
System → Tools → VLT - Информация о Voice Log Translator;
Вкладка Communications Manager показывает информацию о CUCM серверах, информацию о звонках и подключенных устройствах.
CallManager → CallManager Summary → CallManager Summary - Общая информация о CUCM;
CallManager → Call Process → Call Activity - Информация о звонках;
CallManager → Call Process → Gateway Activity - Информация о шлюзах;
CallManager → Call Process → Trunk Activity - Информация о транках;
CallManager → Call Process → SDL Queue - Информация о Signal Distribution Layer;
CallManager → Call Process → SIP Activity - Отображает SIP активность;
CallManager → Device → Device Summary - Информация о подключенных устройствах;
CallManager → Device → Device Search - Поиск подключенных устройств;
CallManager → Device → Phone Summary - Информация о телефонных аппаратах;
CallManager → Service → Cisco TFTP - Информация о TFTP сервере;
CallManager → Service → Heartbeat - Отображает Heartbeat статус системы;
CallManager → Service → Database Summary - Информация о базе данных;
CallManager →CTI → CTI Manager - Computer Telelphony Integration информация;
CallManager →CTI → CTI Search - Поиск CTI;
Всем привет! Сегодня мы хотим рассказать о функции Intercom в Cisco Unified Communications Manager (CUCM).
Эта функция позволяет совершить вызов по выделенной интерком линии. Телефон, принимающий вызов автоматически отвечает на него в режиме громкой связи (speakerphone mode), с выключенным микрофоном. Звонок происходит в одностороннем режиме – вызываемый абонент слышит вызывающего, а вызывающий вызываемого – нет. Такой тип вызова также известен как Whisper Intercom. Если вызываемый абонент нажмет кнопку интеркома, то создастся второе одностороннее соединение в сторону звонящего и обе стороны начнут слышать друг друга. Intercom линии отличаются от обычных Directory Numbers номеров. Они не могут звонить на другие DN’ы и DN’ы не могут звонить на них. Intercom линии имеют свои собственные Dial Plan’ы и разрешения.
Настройка Intercom
Сначала переходим в меню Call Routing → Intercom → Intercom Route Partition. Нажимаем Add New для создания новой партиции. Тут вводим ее название и нажимаем Save.
Затем переходим в меню Call Routing → Intercom → Intercom Route Calling Search Space и нажимаем Find. Можно заметить, что Intercom CSS уже автоматически создано, при создании патриции. Название будет выглядеть как [Partition_name]_GEM. Можно использовать автоматически сгенерированный CSS, изменить его, либо создать новый.
Далее идем в меню Call Routing → Intercom → Intercom Directory Number и нажимаем Add New, чтобы создать Intercom DN. Поскольку линии интеркома являются односторонними и не могут звонить на обычные номера DN, то необходимо создать как минимум два номера Intercom DN. В поле Intercom Directory Number указываем диапазон номеров, которые необходимо создать. В полях Route Partition и Calling Search Space указываем Partition и CSS, созданные нами ранее. Делаем это для каждого номера и нажимаем Save.
После этого нужно добавить кнопку для использования Intercom в Phone Button Template. Как это делается можно прочитать в нашей статье.
После настройки идем во вкладку Device → Phone, находим желаемый телефон и в строке Phone Button Template выбираем созданный шаблон. Слева в поле Association Information должна появиться сточка Intercom [1] , и нам нужно нажать на нее, для перехода в меню настройки Intercom. Тут в поле Intercom Directory Number указываем Intercom номер, который мы создавали до этого. Также заполняем поля Route Partition и Calling Search Space. В поле Default Activated Device должен стоять Device Name (SEP_mac-address) аппарата. И после всего этого нажимаем Save и Apply Config.
Аналогичные действия нужно провести и на других телефонах. Чтобы выполнить звонок нужно нажать кнопку интеркома и ввести Intercom номер другого абонента.
