В Apigee Edge for Private Cloud входит 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 проверок:
Кроме того, для этих компонентов
|
| Message Processor | /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 New 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
Ниже приведен пример конфигурации по умолчанию для компонента нового интерфейса Edge (edge-management-ui):
check process edge-management-ui with pidfile /opt/apigee/var/run/edge-management-ui/edge-management-ui.pid start program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui start" with timeout 55 seconds stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop"
Вы не можете изменить конфигурации компонентов по умолчанию для любого компонента 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-zookeeper(ZooKeeper)edge-management-server(сервер управления)edge-management-ui(новый интерфейс Edge)edge-message-processor(процессор сообщений)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)edge-router(маршрутизатор Edge)
Обратите внимание, что значение "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-zookeeper(ZooKeeper)edge-management-server(сервер управления)edge-management-ui(новый интерфейс Edge)edge-message-processor(процессор сообщений)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)edge-router(маршрутизатор Edge)
Чтобы возобновить мониторинг компонента, выполните следующую команду:
/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 для Private Cloud.
В таблице ниже описаны настройки управления 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-management-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 минут, задайте следующее определение задания:*/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