Apigee Edge для частного облака включает apigee-monit
— инструмент, основанный на утилите monit с открытым исходным кодом. apigee-monit
периодически опрашивает Edge-сервисы; если служба недоступна, apigee-monit
пытается ее перезапустить.
Чтобы использовать apigee-monit
, необходимо установить его вручную . Это не входит в стандартную установку.
По умолчанию apigee-monit
проверяет состояние Edge-сервисов каждые 60 секунд.
Быстрый старт
В этом разделе показано, как быстро приступить к работе с apigee-monit
.
Если вы используете Amazon Linux, сначала установите 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
помогает гарантировать, что все компоненты узла остаются работоспособными. Это достигается путем предоставления различных услуг, в том числе:
- Перезапуск отказавших служб
- Отображение сводной информации
- Регистрация статуса мониторинга
- Отправка уведомлений
- Мониторинг не-Edge сервисов
Apigee рекомендует отслеживать apigee-monit
чтобы убедиться, что он работает. Дополнительные сведения см. в разделе Мониторинг apigee-monit .
Архитектура Apigee-Monit
Во время установки и настройки Apigee Edge для частного облака вы при необходимости устанавливаете отдельный экземпляр apigee-monit
на каждом узле вашего кластера. Эти отдельные экземпляры apigee-monit
работают независимо друг от друга: они не передают состояние своих компонентов другим узлам, а также не сообщают о сбоях самой утилиты мониторинга какой-либо центральной службе.
На следующем изображении показана архитектура apigee-monit
в кластере из 5 узлов:
Конфигурации компонентов
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 | |
Постгрес-сервер | /opt/apigee/edge-postgres-server/monit/default.conf | |
Qpid-сервер | /opt/apigee/edge-qpid-server/monit/default.conf | |
Маршрутизатор | /opt/apigee/edge-router/monit/default.conf | |
Кассандра Пограничный интерфейс OpenLDAP Постгрес Qpid смотритель зоопарка | /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 for Private Cloud. Однако вы можете добавить свои собственные конфигурации компонентов для внешних служб, таких как целевая конечная точка или служба httpd
. Дополнительную информацию см. в разделе Конфигурации компонентов, отличных от Apigee .
По умолчанию apigee-monit
отслеживает все компоненты узла, на котором он запущен. Вы можете включить или отключить его для всех компонентов или для отдельных компонентов. Для получения дополнительной информации см.:
Установите apigee-monit
apigee-monit
не установлен по умолчанию; вы можете установить его вручную после обновления или установки версии 4.19.01 или более поздней версии Apigee Edge для частного облака.
В этом разделе описывается, как установить 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_namecomponent_name может быть одним из следующих:
apigee-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 Router) -
edge-ui
(классический пользовательский интерфейс)
Обратите внимание, что «все» не является допустимым параметром для stop-component
. Вы можете остановить и отключить мониторинг только одного компонента за раз с помощью stop-component
.
Чтобы перезапустить компонент и возобновить мониторинг, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name
Обратите внимание, что «все» не является допустимым вариантом для start-component
.
Инструкции о том, как остановить и отключить мониторинг всех компонентов, см. в разделе Остановка всех компонентов и отказ от их мониторинга .
Отменить мониторинг компонента (но не останавливать его)
Чтобы отключить мониторинг компонента (но не останавливать его), выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_namecomponent_name может быть одним из следующих:
apigee-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 Router) -
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
:
- Отредактируйте следующий файл:
/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 reload
Если
apigee-monit
не перезапускается, проверьте файл журнала на наличие ошибок, как описано в разделе Доступ к файлам журнала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
каждые 2 минуты.Вы не можете выполнять задание
cron
чаще, чем раз в минуту.Дополнительную информацию об использовании
cron
см. в документации ОС вашего сервера или на страницах руководства. - Измените настройки
cron
в соответствии с политиками вашей организации. Например, чтобы изменить частоту выполнения на каждые 5 минут, установите определение задания следующим образом:*/5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
- Сохраните файл
apigee-monit.cron
. - Повторите эту процедуру для каждого узла вашего кластера.
- После определения задания
cron
есть пустая строка. - В файле определено только одно задание
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
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
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
В этом примере apigee-monit
сообщает, что 11 из 12 служб работают. Одна служба в настоящее время не отслеживается.
Вы можете получить сообщение об ошибке Connection refused
при первом выполнении команды report
. В этом случае подождите, пока продлится свойство 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
, проверьте следующее:
Если вы хотите остановить или временно отключить apigee-monit
, вы также должны отключить это задание cron
, иначе cron
перезапустит apigee-monit
.
Чтобы отключить cron
, выполните одно из следующих действий: