Как правило, в рабочей среде необходимо включить механизмы мониторинга в рамках развертывания Apigee Edge для частного облака. Эти методы мониторинга предупреждают сетевых администраторов (или операторов) об ошибках или сбоях. Каждая сгенерированная ошибка регистрируется в виде оповещения в Apigee Edge. Подробнее об оповещениях см. в разделе «Рекомендации по мониторингу» .
Компоненты Apigee в основном подразделяются на две категории:
- Специфические для Apigee службы Java Server: к ним относятся сервер управления, процессор сообщений, сервер Qpid и сервер Postgres.
- Сторонние сервисы: к ним относятся Nginx Router, Apache Cassandra, Apache ZooKeeper, SymasLDAP, база данных PostgreSQL и Qpid.
При локальном развертывании Apigee Edge следующая таблица дает краткий обзор параметров, которые вы можете отслеживать:
Компонент | Системные проверки | Статистика на уровне процесса | Проверки на уровне API | Проверки потока сообщений | Специфический компонент | |
---|---|---|---|---|---|---|
Специфические для Apigee службы Java | Сервер управления | |||||
Процессор сообщений | ||||||
Qpid-сервер | ||||||
Сервер Postgres | ||||||
Сторонние услуги | Апачи Кассандра | |||||
Apache ZooKeeper | ||||||
SymasLDAP | ||||||
База данных PostgreSQL | ||||||
Qpid | ||||||
Маршрутизатор Nginx |
Как правило, после установки Apigee Edge вы можете выполнять следующие задачи мониторинга, чтобы отслеживать производительность установки Apigee Edge для частного облака.
Проверки работоспособности системы
Очень важно измерять такие параметры работоспособности системы, как загрузка ЦП, использование памяти и подключение портов, на более высоком уровне. Вы можете отслеживать следующие параметры, чтобы получить базовую информацию о работоспособности системы.
- Загрузка ЦП: содержит базовую статистику (пользователь/система/ожидание ввода-вывода/ожидание) об использовании ЦП. Например, общее использование ЦП системой.
- Свободная/используемая память: указывает использование системной памяти в байтах. Например, объём физической памяти, используемой системой.
- Использование дискового пространства: информация о файловой системе на основе текущего использования диска. Например, объём жёсткого диска, используемый системой.
- Средняя нагрузка: указывает количество процессов, ожидающих запуска.
- Статистика сети: переданные и полученные сетевые пакеты и/или байты, а также ошибки передачи для указанного компонента.
Проверки процессов/приложений
На уровне процесса вы можете просматривать важную информацию обо всех запущенных процессах. Например, статистику использования памяти и процессора процессом или приложением. Для таких процессов, как Qpid, Postgres Postmaster, Java и т. д., вы можете отслеживать следующее:
- Идентификация процесса : идентификация конкретного процесса Apigee. Например, вы можете отслеживать наличие процесса Java на сервере Apigee.
- Статистика потоков : просмотр базовых шаблонов потоков, используемых процессом. Например, вы можете отслеживать пиковое количество потоков и количество потоков для всех процессов.
- Использование памяти : просмотр использования памяти всеми процессами Apigee. Например, вы можете отслеживать такие параметры, как использование динамической памяти и использование памяти, не связанной с динамической памятью, используемой процессом.
Проверки на уровне API
На уровне API вы можете отслеживать работоспособность сервера для часто используемых вызовов API, проксируемых Apigee. Например, вы можете выполнить проверку API на сервере управления, маршрутизаторе и обработчике сообщений, выполнив следующую команду curl
:
curl http://host:port/v1/servers/self/up
Где host — это IP-адрес компонента Apigee Edge. Номер port уникален для каждого компонента Edge. Например:
Сервер управления: 8080
- Маршрутизатор: 8081
- Процессор сообщений: 8082
- и т. д.
Информацию о выполнении этой команды для каждого компонента см. в отдельных разделах ниже.
Этот вызов возвращает значения «true» и «false». Для достижения наилучших результатов можно также выполнять вызовы API непосредственно на бэкенде (с которым взаимодействует программное обеспечение Apigee), чтобы быстро определить, возникла ли ошибка в программной среде Apigee или на бэкенде.
Проверки потока сообщений
Вы можете собирать данные с маршрутизаторов и обработчиков сообщений о структуре и статистике потока сообщений. Это позволяет отслеживать следующее:
- Количество активных клиентов
- Количество ответов (10X, 20X, 30X, 40X и 50X)
- Ошибки подключения
Это поможет вам создать панели мониторинга для потока сообщений API. Подробнее см. в разделе «Как отслеживать» .
Проверка работоспособности маршрутизатора процессора сообщений
Маршрутизатор реализует механизм проверки работоспособности, чтобы определить, какие из обработчиков сообщений работают должным образом. Если обработчик сообщений обнаруживает, что он неисправен или работает медленно, маршрутизатор может автоматически вывести его из ротации. В этом случае маршрутизатор записывает сообщения «Mark Down» в файл журнала маршрутизатора по адресу /opt/apigee/var/log/edge-router/logs/system.log
.
Вы можете отслеживать эти сообщения в файле журнала маршрутизатора. Например, если маршрутизатор выводит обработчик сообщений из ротации, он записывает сообщение в журнал в следующем виде:
2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159 2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down
Где MP_IP:PORT — IP-адрес и номер порта обработчика сообщений.
Если позже маршрутизатор проведёт проверку работоспособности и определит, что обработчик сообщений работает нормально, он автоматически вернёт его в режим работы. Маршрутизатор также запишет в журнал сообщение «Mark Up» в следующем виде:
2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054 2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up