Apigee Edge для частного облака включает apigee-monit – инструмент на основе утилиты с открытым исходным кодом monit. apigee-monit периодически
проверяет сервисы Edge и apigee-monit пытается перезапустить недоступные.
Чтобы использовать apigee-monit, вам нужно установить его вручную. Он не входит в стандартную установку.
По умолчанию apigee-monit проверяет статус сервисов Edge каждые 60 секунд.
Начало работы
В этом разделе рассказывается, как быстро начать работу с apigee-monit.
Если вы используете Amazon Linux или Oracle-Linux-7.X, сначала установите monit через Fedora. В противном случае пропустите этот шаг.
sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm
Чтобы установить apigee-monit, выполните следующие действия:
Как установить apigee-monit |
|
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install После этого будет установлен |
|
| Как остановить мониторинг компонентов | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name /opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all |
|
| Как начать мониторинг компонентов | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all |
|
| Как получить сводную информацию о статусе | |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report /opt/apigee/apigee-service/bin/apigee-service apigee-monit summary |
|
Проверьте файлы журналов apigee-monit |
|
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log |
Подробная информация об этих и других темах приведена в следующих разделах.
Об apigee-monit
apigee-monit помогает обеспечить бесперебойную работу всех компонентов узла. Для этого мы предоставляем различные сервисы, в том числе:
- Перезапуск служб, которые не удалось запустить
- Как посмотреть сводную информацию
- Статус мониторинга ведения журналов
- Отправка уведомлений
- Мониторинг сервисов, не относящихся к Edge
Apigee рекомендует отслеживать apigee-monit, чтобы убедиться, что он работает. Дополнительную информацию вы найдете в статье Как отслеживать apigee-monit.
Архитектура apigee-monit
Во время установки и настройки Apigee Edge для частного облака вы можете установить отдельный экземпляр apigee-monit на каждом узле кластера. Эти отдельные экземпляры apigee-monit работают независимо друг от друга: они не передают информацию о состоянии своих компонентов другим узлам и не сообщают о сбоях в работе утилиты мониторинга центральному сервису.
На изображении ниже показана архитектура apigee-monit в кластере из пяти узлов.
apigee-monit выполняется изолированно на каждом узле кластераКонфигурации компонентов
apigee-monit использует конфигурации компонентов, чтобы определить, какие компоненты отслеживать, какие аспекты компонента проверять и какие действия выполнять в случае сбоя.
По умолчанию apigee-monit отслеживает все компоненты Edge на узле, используя их предварительно заданные конфигурации. Чтобы посмотреть настройки по умолчанию, откройте файлы конфигурации компонента apigee-monit. Изменить конфигурацию компонентов по умолчанию нельзя.
apigee-monit проверяет разные аспекты компонента в зависимости от того, какой именно компонент проверяется. В таблице ниже указано, что apigee-monit проверяет для каждого компонента и где можно найти его конфигурацию. Обратите внимание, что некоторые компоненты определены в одном файле конфигурации, а другие имеют собственные конфигурации.
| Компонент | Местоположение конфигурации | Что отслеживается |
|---|---|---|
| Сервер управления | /opt/apigee/edge-management-server/monit/default.conf |
apigee-monit проверки:
Кроме того, для этих компонентов
|
| Обработчик сообщений | /opt/apigee/edge-message-processor/monit/default.conf |
|
| Сервер Postgres | /opt/apigee/edge-postgres-server/monit/default.conf |
|
| Сервер Qpid | /opt/apigee/edge-qpid-server/monit/default.conf |
|
| Маршрутизатор | /opt/apigee/edge-router/monit/default.conf |
|
| Cassandra Edge UI SymasLDAP Postgres Qpid Zookeeper |
/opt/apigee/data/apigee-monit/monit.conf |
apigee-monit проверки:
|
В следующем примере показана конфигурация компонента edge-router по умолчанию:
check host edge-router with address localhost restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart" if failed host 10.1.1.0 port 8081 and protocol http and request "/v1/servers/self/uuid" with timeout 15 seconds for 2 times within 3 cycles then restart if failed port 15999 and protocol http and request "/v1/servers/self" and status < 600 with timeout 15 seconds for 2 times within 3 cycles then restart
Ниже приведен пример конфигурации по умолчанию для компонента Classic UI (edge-ui):
check process edge-ui with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"
Это относится к классическому интерфейсу, а не к новому интерфейсу Edge, название компонента которого – edge-management-ui.
Вы не можете изменить конфигурацию компонентов Apigee Edge для частного облака по умолчанию. Однако вы можете добавить собственные конфигурации компонентов для внешних сервисов, например целевую конечную точку или сервис httpd. Подробнее о конфигурациях компонентов, не относящихся к Apigee…
По умолчанию apigee-monit отслеживает все компоненты узла, на котором он запущен. Вы можете включить или отключить его для всех компонентов или для отдельных компонентов. Статьи по теме
Как установить apigee-monit
apigee-monit не устанавливается по умолчанию. Вы можете установить его вручную после обновления или установки Apigee Edge для частного облака версии 4.19.01 или более поздней.
В этом разделе рассказывается, как установить apigee-monit.
Информацию об удалении apigee-monit можно найти в статье Как удалить apigee-monit.
Как установить apigee-monit
В этом разделе рассказывается, как установить apigee-monit.
Чтобы установить apigee-monit:
- Установите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
- Настройте
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
- Запустите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit start
- Повторите эту процедуру на каждом узле в кластере.
Как остановить и запустить мониторинг компонентов
Если сервис останавливается по какой-либо причине, apigee-monit пытается перезапустить его.
Это может вызвать проблему, если вы намеренно хотите остановить компонент. Например, вы можете остановить компонент, если вам нужно создать его резервную копию или обновить его.
Если apigee-monit перезапустит сервис во время резервного копирования или обновления, процедура обслуживания может быть нарушена и, возможно, завершится неудачно.
В следующих разделах описаны способы остановить мониторинг компонентов.
Как остановить компонент и прекратить его мониторинг
Чтобы остановить компонент и отменить его мониторинг, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(база данных PostgreSQL)apigee-qpidd(Qpidd)apigee-sso(Edge SSO)apigee-zookeeper(ZooKeeper)edge-management-server(сервер управления)edge-management-ui(новый интерфейс Edge)edge-message-processor(процессор сообщений)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)edge-router(маршрутизатор Edge)edge-ui(классический интерфейс)
Обратите внимание, что значение "all" недопустимо для параметра stop-component. С помощью stop-component можно остановить или возобновить мониторинг только одного компонента за раз.
Чтобы перезапустить компонент и возобновить мониторинг, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name
Обратите внимание, что значение "all" недопустимо для параметра start-component.
Инструкции по остановке всех компонентов и отмене их мониторинга приведены в разделе Как остановить все компоненты и отменить их мониторинг.
Как отменить мониторинг компонента (не останавливая его)
Чтобы отменить мониторинг компонента (но не останавливать его), выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
apigee-cassandra(Cassandra)apigee-openldap(OpenLDAP)apigee-postgresql(база данных PostgreSQL)apigee-qpidd(Qpidd)apigee-sso(Edge SSO)apigee-zookeeper(ZooKeeper)edge-management-server(сервер управления)edge-management-ui(новый интерфейс Edge)edge-message-processor(процессор сообщений)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)edge-router(маршрутизатор Edge)edge-ui(классический интерфейс)
Чтобы возобновить мониторинг компонента, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
Отменить мониторинг всех компонентов (но не останавливать их)
Чтобы отменить мониторинг всех компонентов (но не останавливать их), выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
Чтобы возобновить мониторинг всех компонентов, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
Остановить все компоненты и отменить их мониторинг
Чтобы остановить все компоненты и отменить их мониторинг, выполните следующие команды:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stopЧтобы перезапустить все компоненты и возобновить мониторинг, выполните следующие команды:
/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c allЧтобы остановить мониторинг всех компонентов, вы также можете отключить apigee-monit, как описано в разделе Остановка, запуск и отключение apigee-monit.
Как остановить, запустить и отключить apigee-monit
Как и любой другой сервис, apigee-monit можно запустить и остановить с помощью команды apigee-service. Кроме того, apigee-monit поддерживает команду unmonitor, которая позволяет временно отключить мониторинг компонентов.
Остановить apigee-monit
Чтобы остановить apigee-monit, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
Запуск apigee-monit
Чтобы запустить apigee-monit, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start
Как отключить apigee-monit
Чтобы приостановить мониторинг всех компонентов на узле, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
Вы также можете навсегда отключить apigee-monit, удалив его с узла, как описано в разделе Удаление apigee-monit.
Как удалить apigee-monit
Чтобы удалить apigee-monit:
- Если вы настроили задание
cronдля мониторингаapigee-monit, удалите заданиеcronперед удалениемapigee-monit:sudo rm /etc/cron.d/apigee-monit.cron
- Остановите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
- Удалите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
- Повторите эту процедуру на каждом узле в кластере.
Как отслеживать новый компонент
Если вы установите новый компонент на узле, на котором выполняется apigee-monit, вы можете начать его мониторинг, выполнив команду restart в apigee-monit. Будет создан новый файл monit.conf, в котором новый компонент будет включен в конфигурацию компонентов.
В следующем примере показано, как перезапустить apigee-monit:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart
Как настроить apigee-monit
Вы можете настроить различные параметры apigee-monit, в том числе:
- Настройки управления трекером
apigee-monitпо умолчанию - Глобальные настройки конфигурации
- Конфигурации компонентов, не относящихся к Apigee
Настройки по умолчанию для apigee-monit
Вы можете настроить параметры управления по умолчанию для apigee-monit, например частоту проверок статуса и расположение файлов apigee-monit. Для этого нужно изменить файл свойств, используя метод код с конфигурацией. Файлы свойств сохраняются даже после обновления Apigee Edge для частного облака.
В таблице ниже описаны настройки управления apigee-monit по умолчанию, которые можно изменить.
| Свойство | Описание |
|---|---|
conf_monit_httpd_port |
Порт демона httpd. apigee-monit использует httpd для приложения панели управления и для создания отчетов и сводок. Значение по умолчанию – 2812.
|
conf_monit_httpd_allow |
Ограничения на запросы к демону httpd. apigee-monit использует
httpd для работы приложения панели управления и создания отчетов и сводок. Это значение должно указывать на локальный хост (хост, на котором выполняется httpd).
Чтобы запросы требовали указания имени пользователя и пароля, используйте следующий синтаксис: conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1 При добавлении имени пользователя и пароля вставляйте "\n" между каждым ограничением. Не вставляйте в значение символы переноса строки или возврата каретки. |
conf_monit_monit_datadir |
Каталог, в котором хранятся сведения о событиях. |
conf_monit_monit_delay_time |
Время, которое apigee-monit ждет после первой загрузки в память, прежде чем начать работу. Это влияет только на первую проверку процесса.apigee-monit |
conf_monit_monit_logdir |
Расположение файла журнала apigee-monit. |
conf_monit_monit_retry_time |
Частота, с которой apigee-monit пытается проверить каждый процесс. По умолчанию – 60 секунд. |
conf_monit_monit_rundir |
Местоположение файлов PID и состояния, которые apigee-monit использует для проверки процессов. |
Чтобы настроить параметры управления по умолчанию apigee-monit:
- Измените следующий файл:
/opt/apigee/customer/application/monit.properties
Если файла нет, создайте его и назначьте владельцем пользователя apigee:
chown apigee:apigee /opt/apigee/customer/application/monit.properties
Обратите внимание, что если файл уже существует, в нем могут быть определены дополнительные свойства конфигурации, помимо перечисленных в таблице выше. Не изменяйте другие свойства.
Задайте или замените значения свойств новыми.
Например, чтобы изменить местоположение файла журнала на
/tmp, добавьте или измените следующее свойство:conf_monit_monit_logdir=/tmp/apigee-monit.log
- Сохраните изменения в файле
monit.properties. - Заново настройте
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
- Перезагрузите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit reload
Если вы не можете перезапустить
apigee-monit, проверьте файл журнала на наличие ошибок, как описано в разделе Как получить доступ к файлам журналаapigee-monit. - Повторите эту процедуру для каждого узла в кластере.
Глобальные настройки конфигурации
Вы можете задать глобальные настройки конфигурации для apigee-monit, например добавить уведомления по электронной почте об оповещениях. Для этого создайте файл конфигурации в каталоге /opt/apigee/data/apigee-monit и перезапустите apigee-monit.
Чтобы задать глобальные настройки конфигурации для apigee-monit:
- Создайте новый файл конфигурации компонента в следующем расположении:
/opt/apigee/data/apigee-monit/filename.conf
где filename – любое допустимое имя файла, кроме monit.
- Измените владельца нового файла конфигурации на пользователя apigee, как показано в следующем примере:
chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
- Добавьте в новый файл глобальные настройки конфигурации. В следующем примере настраивается почтовый сервер и указываются получатели оповещений:
SET MAILSERVER smtp.gmail.com PORT 465 USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD" USING SSL, WITH TIMEOUT 15 SECONDS SET MAIL-FORMAT { from: edge-alerts@example.com subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST } SET ALERT fred@example.com SET ALERT nancy@example.comПолный список глобальных параметров конфигурации можно найти в документации по Monit.
- Сохраните изменения в файле конфигурации компонента.
- Перезагрузите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit reload
Если
apigee-monitне перезапускается, проверьте файл журнала на наличие ошибок, как описано в разделе Как получить доступ к файлам журналаapigee-monit. - Повторите эту процедуру для каждого узла в кластере.
Конфигурации компонентов, не относящихся к Apigee
Вы можете добавить собственные конфигурации в apigee-monit, чтобы он проверял сервисы, не входящие в состав Apigee Edge для частного облака. Например, с помощью apigee-monit можно проверить, работают ли ваши API, отправив запросы к целевой конечной точке.
Чтобы добавить конфигурацию компонента, не относящегося к Apigee:
- Создайте новый файл конфигурации компонента в следующем расположении:
/opt/apigee/data/apigee-monit/filename.conf
где filename – любое допустимое имя файла, кроме monit.
Вы можете создать столько файлов конфигурации компонентов, сколько вам нужно. Например, вы можете создать отдельный файл конфигурации для каждого компонента, не относящегося к Apigee, который вы хотите отслеживать на узле.
- Измените владельца нового файла конфигурации на пользователя apigee, как показано в следующем примере:
chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
- Добавьте в новый файл свои специальные конфигурации. В следующем примере проверяется целевая конечная точка на локальном сервере:
CHECK HOST localhost_validate_test WITH ADDRESS localhost IF FAILED PORT 15999 PROTOCOL http REQUEST "/validate__test" CONTENT = "Server Ready" FOR 2 times WITHIN 3 cycles THEN alertПолный список возможных настроек конфигурации приведен в документации по monit.
- Сохраните изменения в файле конфигурации.
- Перезагрузите
apigee-monitс помощью следующей команды:/opt/apigee/apigee-service/bin/apigee-service apigee-monit reload
Если
apigee-monitне перезапускается, проверьте файл журнала на наличие ошибок, как описано в разделе Как получить доступ к файлам журналаapigee-monit. - Повторите эту процедуру для каждого узла в кластере.
Обратите внимание, что это относится только к компонентам, не связанным с Edge. Настройки компонентов Edge нельзя изменить.
Как получить доступ к файлам журналов apigee-monit
apigee-monit регистрирует все действия, в том числе события, перезапуски, изменения конфигурации и оповещения, в файле журнала.
Файл журнала по умолчанию находится в следующем расположении:
/opt/apigee/var/log/apigee-monit/apigee-monit.log
Вы можете изменить местоположение по умолчанию, настроив элемент управления apigee-monit.
Записи в файле журнала имеют следующий формат:
'edge-message-processor' trying to restart [UTC Dec 14 16:20:42] info : 'edge-message-processor' trying to restart 'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'
Формат записей в файле журнала apigee-monit изменить нельзя.
Как посмотреть сводный статус с помощью apigee-monit
apigee-monit включает следующие команды, которые предоставляют агрегированную информацию о статусе компонентов на узле:
| Команда | Использование |
|---|---|
report |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report |
summary |
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary |
Ниже вы найдете подробную информацию о каждой из этих команд.
отчёт
Команда report позволяет получить сводную информацию о том, сколько компонентов узла работают, не работают, инициализируются или не отслеживаются. В следующем примере вызывается команда report:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
В примере ниже показан вывод report в конфигурации AIO (все в одном):
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report up: 11 (100.0%) down: 0 (0.0%) initialising: 0 (0.0%) unmonitored: 1 (8.3%) total: 12 services
В этом примере 11 из 12 сервисов, по данным apigee-monit, работают. Один сервис в настоящее время не отслеживается.
При первом выполнении команды report может возникнуть ошибка Connection refused. В этом случае подождите, пока не истечет время, указанное в свойстве conf_monit_monit_delay_time, а затем повторите попытку.
краткое содержание
Команда summary выводит список всех компонентов и их статусы. В следующем примере вызывается команда summary:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
В примере ниже показан вывод summary в конфигурации AIO (все в одном):
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary Monit 5.25.1 uptime: 4h 20m Service Name Status Type host_name OK System apigee-zookeeper OK Process apigee-cassandra OK Process apigee-openldap OK Process apigee-qpidd OK Process apigee-postgresql OK Process edge-ui OK Process edge-qpid-server OK Remote Host edge-postgres-server OK Remote Host edge-management-server OK Remote Host edge-router OK Remote Host edge-message-processor OK Remote Host
Если при первом выполнении команды summary появляется ошибка Connection refused, подождите время, указанное в свойстве conf_monit_monit_delay_time, а затем повторите попытку.
Как отслеживать apigee-monit
Рекомендуем регулярно проверять, запущен ли процесс apigee-monit на каждом узле.
Чтобы проверить, запущен ли сервис apigee-monit, используйте следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
Apigee рекомендует периодически выполнять эту команду на каждом узле, на котором работает apigee-monit.
Для этого можно использовать утилиту, например cron, которая выполняет запланированные задачи через заданные интервалы.
Как использовать cron для мониторинга apigee-monit
- Добавьте поддержку
cron, скопировав каталогapigee-monit.cronв каталог/etc/cron.d, как показано в следующем примере:cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
- Откройте файл
apigee-monit.cron, чтобы отредактировать его.Файл
apigee-monit.cronопределяет заданиеcron, которое нужно выполнить, а также частоту выполнения этого задания. В примере ниже показаны значения по умолчанию:# Cron entry to check if monit process is running. If not start it */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
В этом файле используется следующий синтаксис, в котором первые пять полей определяют время, когда
apigee-monitвыполняет свое действие:min hour day_of_month month day_of_week task_to_execute
Например, время выполнения по умолчанию –
*/2 * * * *, что означает, чтоcronбудет проверять процессapigee-monitкаждые две минуты.Задание
cronможно выполнять не чаще одного раза в минуту.Дополнительную информацию об использовании
cronможно найти в документации к ОС сервера или на страницах руководства. - Измените настройки
cronв соответствии с правилами организации. Например, чтобы изменить частоту выполнения на каждые пять минут, задайте следующее определение задания:*/5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
- Сохраните файл
apigee-monit.cron. - Повторите эту процедуру для каждого узла в кластере.
Если cron не начнет смотреть apigee-monit, проверьте следующее:
- После определения задания
cronесть пустая строка. - В файле определена только одна вакансия
cron. (строки с комментариями не учитываются).
Если вы хотите остановить или временно отключить apigee-monit, вам также необходимо отключить задание cron, иначе cron перезапустит apigee-monit.
Чтобы отключить cron, выполните одно из следующих действий:
- Удалите файл
/etc/cron.d/apigee-monit.cron:sudo rm /etc/cron.d/apigee-monit.cron
Если вы захотите снова включить
cron, чтобы смотретьapigee-monit, вам придется скопировать код ещё раз.ИЛИ
- Измените файл
/etc/cron.d/apigee-monit.cronи закомментируйте определение задания, добавив символ "#" в начало строки, например:# 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit