По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Icinga - это бесплатное средство мониторинга с открытым исходным кодом для вашего дата-центра. Это приложение для мониторинга компьютерных систем и работы сети, которое проверяет состояние готовности вашей сети и компьютерных ресурсов, уведомляет о перебоях в работе системы, генерирует данные о производительности ваших ресурсов, а также обеспечивает высокую степень работоспособности и возможность настройки мониторинга распределённых систем со встроенной функцией кластера.
Icinga была создана в 2009 году в качестве разветвления средства мониторинга Nagios. Но потом была заново переписана на С++ и стала одним из самых популярных инструментов мониторинга в интернете. Слово "Ицинга" - это Зулусское слово, означающее "оно ищет", или "оно обозревает", или "оно исследует".
В этом учебном пособии мы покажем вам, как установить и настроить инструмент мониторинга Icinga 2 на сервере LTS Ubuntu 20.04. Мы установим Icinga 2 из официального репозитория, а затем настроим icingaweb2, облегченный и расширяемый веб-интерфейс для системы мониторинга icinga2.
Предпосылки
Для этого руководства мы установим icinga2 и icingaweb2, используя сервер Ubuntu 20.04 с 2 ГБ оперативной памяти. Но эти данные меняются в зависимости от размера вашей ИТ-инфраструктуры.
Что мы будем делать?
Установка Icinga2 и Nagios Monitoring Plugins;
Установка и настройка базы данных MySQL;
Установка и настройка модуля Icinga MySQL;
Установка Apache2 и PHP-пакетов;
Установка и настройка Icingaweb2;
Установка Icinga2 Stack Post.
Шаг 1 - Установка Icinga2 и системы мониторинга Nagios
Сперва мы добавим репозиторий icinga2 для Ubuntu 20.04 и установим пакеты icinga2 и плагины мониторинга Nagios. Добавьте GPG ключ Icinga2 в вашу систему.
curl https://packages.icinga.com/icinga.key | apt-key add -
Теперь перейдите в директорию '/etc/apt/sources.list.d' и создайте новый репозиторий 'icinga-focal.list'.
cd /etc/apt/sources.list.d/
vim icinga-focal.list
Вставьте следующую конфигурацию репозитория.
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
Нажмите сохранить и закройте. Затем обновите все доступные репозитории и установите подключаемые модули Icinga2 и Nagios Monitoring с помощью команды apt ниже.
sudo apt update
sudo apt install icinga2 monitoring-plugins
После завершения установки запустите службу Icinga2 и добавьте сервис в автозагрузку.
systemctl start icinga2
systemctl enable icinga2
После этого проверьте службу icinga2, используя приведенную ниже команду.
systemctl status icinga2
Ниже приведен результат, который вы получите.
В результате сервис icinga2 запущен и работает на Ubuntu 20.04 FocalFossa.
Шаг 2 - Установка и настройка базы данных MySQL
На этом этапе мы установим последнюю версию сервера MySQL на нашем Ubuntu 20.04 и установим пароль по умолчанию для пользователя MySQL с root правами. Установите MySQL сервер с помощью команды apt, приведенной ниже.
sudo apt install mysql-server mysql-client
После этого запустите службу MySQL и добавьте её в автозагрузку.
systemctl start mysql
systemctl enable mysql
И сервис MySQL готов и запущен. Далее мы зададим пароль для root - пользователя MySQL с помощью командной строки 'mysql_secure_installation', которые предоставлены MySQL-пакетами. Запустите команду 'mysql_secure_installation', которая представлена ниже.
mysql_secure_installation
Теперь вам будет предложено настроить новый пароль для пользователя root, введите надежный пароль, а затем введите "Y" для прочих конфигураций.
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
В результате завершена установка сервера MySQL и сконфигурирован корневой пароль по умолчанию.
Шаг 3 - Установка и настройка модуля Icinga MySQL
После установки сервера MySQL мы установим модуль icinga2 для поддержки MySQL под названием 'icinga2-ido-mysql'. Установка 'icinga2-ido-mysql' возможна с помощью команды apt, приведенной ниже.
sudo apt install icinga2-ido-mysql
Теперь вам будет предложено включить функцию icinga2 ido-mysql, выберите "Да", чтобы продолжить.
Сконфигурируйте 'icinga2-ido-mysql'с помощью команды dbconfig, затем выберите "Yes" для продолжения.
Введите свой пароль для 'icinga2-ido-mysql'.
Повторите пароль для 'icinga2-ido-mysql'.
В результате установка пакета 'icinga2-ido-mysql' была завершена, и был создан новый пользователь MySQL 'icinga2'.
Затем, чтобы Icinga работала с новой версией MySQL, мы настроим MySQL пользователя 'icinga2' с аутентификацией по встроенному паролю MySQL.
Войдите в командную строку MySQL, используя нижеприведенную команду.
mysql -u root -p
Теперь измените аутентификацию пользователя 'icinga2@localhost' с помощью собственного плагина аутентификации MySQL, используя следующий запрос.
ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'aqwe123@#$';
flush privileges;
Введите 'exit', чтобы выйти из командной строки MySQL, а пользователь MySQL 'icinga2' теперь будет использовать родной плагин аутентификации.
Далее, включите функцию 'ido-mysql' и проверьте все включенные плагины, используя следующую команду.
icinga2 feature enable ido-mysql
icinga2 feature list
Функция 'ido-mysql' будет включена, чтобы применить новую конфигурацию, перезапустите службу icinga2.
systemctl restart icinga2
Таким образом, установка и настройка 'icinga2-ido-mysql' была завершена.
Шаг 4 - Установка Apache2 и PHP-пакетов
На этом шаге, мы установим пакеты Apache и PHP для icingaweb2 и мы будем использовать PHP 7.3, который доступен в репозитории PPA, потому что на данный момент icingaweb2 еще не поддерживается в новой версии PHP 7.4.
Сначала установите пакет 'python3-software-properties' и добавьте репозиторий PHP PPA, используя следующую команду.
sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php
Далее установите Apache и PHP пакеты с помощью команды apt, описанной ниже.
sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml
После того, как вся установка будет завершена, отредактируйте конфигурацию 'php.ini' с помощью vim-редактора.
vim /etc/php/7.3/apache2/php.ini
Снимите комментарий с опции 'date.timezone' и введите свой часовой пояс.
date.timezone = Asia/Singapore
Раскомментируйте конфигурацию 'cgi.fix_pathinfo' и измените значение на '0'.
cgi.fix_pathinfo=0
Сохраните и закройте. Далее перезапустите службу Apache2 и добавьте ее в автозагрузку.
systemctl restart apache2
systemctl enable apache2
Служба Apache2 запущена и работает, проверьте её, используя следующую команду.
systemctl status apache2
Ниже приведен результат, который вы получите.
В результате была завершена установка Apache и PHP пакетов для icingaweb2.
Шаг 5 - Установка и настройка Icingaweb2
После установки Apache и PHP-пакетов мы установим пакет icingaweb2 и создадим новую базу данных MySQL для icingaweb2. Начните установку пакетов icingaweb2 и icingacli с помощью команды apt.
sudo apt install icingaweb2 icingacli
После завершения установки сгенерируйте токен icingaweb2 для установки с помощью приведенной ниже команды.
icingacli setup token create
Ниже приведен результат, который вы получите.
The newly generated setup token is: 9b871ead0a60c94f
Теперь скопируйте код токена в надёжное место, он будет использован для установки icingaweb2. Далее войдите в командную строку MySQL, используя нижеприведенную команду mysql.
mysql -u root -p
Теперь создайте новую базу данных и пользователя, используя следующие запросы.
create database icingaweb2;
create user icingaweb2@localhost identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to icingaweb2@localhost with grant option;
flush privileges;
Введите 'exit', чтобы выйти из командной строки MySQL.
В результате этого установка icingaweb2 завершена и создана новая база данных icingaweb2.
Шаг 6 - Установка Icinga2 и Icinga Stack Post
Откройте веб-браузер и введите IP-адрес сервера, как показано ниже. Замените IP-адрес на IP-адрес своего сервера.
http://IP_адрес/icingaweb2/setup
Вставьте код токена установки в поле и нажмите кнопку 'Далее'.
Теперь вам нужно выбрать модуль Icinga для установки, оставить модуль 'Monitoring' и нажать 'Далее'.
После этого Icinga проверит состояние среды для его установки. Убедитесь, что все необходимые модули находятся в зеленом состоянии, за исключением 'Модулей PostgreSQL', затем нажмите 'Далее'.
Теперь вам нужно выбрать Аутентификацию для доступа к icingaweb2, выбрать 'Database ' (База данных) и нажать 'Next ' (Далее).
Введите все данные базы данных для 'icingaweb2' и нажмите 'Validate Configuration' (Проверить конфигурацию) для тестирования. После того, как все прошло успешно, нажмите кнопку 'Next ' (Далее).
Теперь для аутентификации Backend Authentication выберите 'icingaweb2' и нажмите 'Next ' (Далее).
Введите логин и пароль администратора для icingaweb2 и нажмите 'Далее' еще раз.
В разделе Application Configuration (Конфигурация приложения) оставьте всё по умолчанию и нажмите 'Далее'.
Подтвердите все настройки и нажмите "Далее".
И вы получите страницу приветствия на icingaweb2. Снова нажмите "Далее", чтобы настроить backend мониторинга.
Установите имя Backend как 'icinga2' с типом 'IDO', затем нажмите 'Далее'.
Теперь вам нужно настроить MySQL IDO backend ресурс для приложения icinga2. Введите данные базы данных для icinga2 и нажмите кнопку 'Validate Configuration'.
После успешного завершения нажмите кнопку 'Далее'.
Для 'Command Transport' выберите 'Local Command File' и оставьте его по умолчанию. Затем нажмите 'Далее'.
Для службы Monitoring Security оставьте всё по умолчанию и нажмите 'Далее'.
Подтвердите все настройки и нажмите кнопку 'Готово'.
Теперь установка Icinga 2 и Icinga web 2 завершена, нажмите кнопку 'Login to Icinga Web 2', и вы будете перенаправлены на страницу входа.
Введите пользователя, которого вы настроили в самом начале и нажмите кнопку "Войти".
И, наконец, установка и настройка icinga2 и icingaweb2 на сервере Ubuntu 20.04 успешно завершена.
Образы Docker в работающем контейнере не обновляются автоматически. После того, как вы использовали образ для создания контейнера, он продолжает работать с этой версией даже после выхода новых выпусков.
Рекомендуется запускать контейнеры из последнего образа Docker, если у вас нет особой причины использовать более старую версию.
В этом руководстве вы узнаете, как обновить образ и контейнер Docker до последней версии.
Обнолвение образа и контейнера Docker до последней версии
Лучший способ обновить существующий контейнер c новым образом - загрузить последний образ и запустить новый контейнер с той же конфигурацией. Следуйте инструкциям ниже, чтобы обновить свой контейнер до новейшего образа Docker.
Примечание. В этом руководстве используется пример запуска контейнера MySQL Docker, чтобы проиллюстрировать, как обновить образ и контейнер Docker до последней версии.
Шаг 1. Проверьте текущую версию
Убедитесь, что у вас устаревший образ, выведя список образов в вашей системе с помощью команды:
sudo docker images
Тут отображаются загруженные изображения и их теги (номера версий). В приведенном ниже примере система показывает, что она использует образ mysql версии 5.7.31. Официальные образы MySQL от Docker, перечисленные на DockerHub, показывают, что последняя версия - 8.0.21.
Поэтому, если у вас есть контейнер, работающий с этим образом, лучше его обновить.
Чтобы указать только определенный образ, который может быть устаревшим, используйте docker images | grep [docker_image], чтобы сузить поиск.
Шаг 2. Скачайте новейший образ
Загрузите более новую версию образа с помощью команды docker pull:
docker pull [docker_image]
По умолчанию Docker загружает последнюю версию. Чтобы убедиться в этом, вы можете добавить тег :latest.
Например, чтобы получить последний образ mysql, вы должны запустить:
docker pull mysql/mysql-server:latest
Шаг 3. Запустите новый обновленный контейнер
После того, как вы загрузили последний образ Docker, вам необходимо остановить и удалить старый контейнер. Затем создайте новый с последним образом.
1. Найдите имя запущенного контейнера с устаревшим образом, перечислив контейнеры в системе:
docker ps
В этом примере на выходе показан контейнер с образом mysql / mysql-server: 5.7.31.
2. Остановите и удалите существующий контейнер, чтобы вы могли запустить новый под тем же именем:
docker stop [container_id]
docker rm [container_id]
3. Воссоздайте контейнер с помощью команды docker run и желаемой конфигурации, используя обновленный образ Docker:
docker run --name=[container_name] [options] [docker_image]
Если он у вас есть, обязательно смонтируйте том Docker, назначенный ранее использовавшемуся контейнеру, чтобы обновленный контейнер имел такое же содержимое. Для этого используйте параметр -v, за которым следует путь к каталогу тома.
Например, чтобы запустить обновленный контейнер MySQL, вы должны запустить:
docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4. Вы можете проверить, обновлен ли ваш контейнер последней версией образа Docker, таким образом:
sudo docker ps
Таким образом, вы должны были успешно обновить свой контейнер Docker.
В сегодняшней статье расскажем про настройку IVR (Interactive Voice Response) стандартными способами Asterisk, без использования графической оболочки FreePBX.
Аббревиатура IVR описывает систему, в которой вызывающий абонент, по средствам кнопок на телефоне осуществляет навигацию в голосовом меню и соединяется с нужным отделом, сотрудником и службой. В масштабах крупного "Enterprise", конечно, IVR описывает гораздо более сложные системы, где используются различные технологии интеграции. Но мы рассмотрим простейший вариант.
Про настройку IVR через графический интерфейс FreePBX, читайте в нашей статье.
Немного теории
Перед тем как создать простейший пример IVR, необходимо разобраться во внутренних приложениях, которыми оперирует Asterisk.
Приложение Background() проигрывает звуковую запись и в то же время слушает входящие сигналы DTMF (Dual-Tone Multi-Frequency). Система, тем временем, пытается найти совпадения введённых цифр DTMF и внутреннего номера (extension) в текущем контексте дайл-плана, если совпадение есть, то Asterisk отправит вызов на найденный номер.
Приложение WaitExten() необходимо, если вы хотите заставить Asterisk подождать какое-то время после того, как он воспроизведет звуковую запись. Параметры, задающиеся в WaitExten() - это количество секунд, которые система будет ждать, прежде чем разрешит абоненту совершить набор внутреннего номера, например – WaitExten(10).
Приложение Goto() позволяет переходить с одной позиции в дайл-плане на другую – это может быть контекст (context), внутренний номер (extension) и приоритет (priority).
Конфигурация
Теперь мы можем создать простейший пример голосового меню, используя вышеупомянутые приложения. Как правило, IVR создаётся в новом контексте, таким образом оставаясь независимым от остальных настроенных extension’ов в дайл-плане.
Основная запись, содержащая сценарий голосового меню будет следующей: "Здравствуйте вы позвонили в компанию %companyname%. Для того, чтобы соединиться с отделом поддержки нажмите 1. Для того, чтобы соединиться с отделом продаж нажмите 2. Если Вы знаете внутренний номер абонента, наберите его в тональном режиме".
Настройку IVR проводим в файле extensions.conf и добавляем туда следующую запись:
[ivr-example]
exten => s,1,Answer(500)
same => n(loop),Background(Main_IVR_record)
exten => 1,1,Goto(3445,s,1)
#Переход в контекст отдела поддержки по нажатию кнопки 1. 3444 – Ринг группа отдела поддержки.
exten => 2,1,Goto(3444,s,1)
#Переход в контекст отдела продаж нажатию кнопки 2. 3445 – Ринг группа отдела продаж.
exten => _XXX,1,Dial(SIP/${EXTEN}@Asterisk)
#Набор внутреннего номера сотрудника
Теперь, для инициализации IVR, остается только вызвать контекст [ivr-example].