Как правило, в производственной настройке необходимо включить механизмы мониторинга в развертывании Apigee Edge для частного облака. Эти методы мониторинга предупреждают сетевых администраторов (или операторов) об ошибке или сбое. О каждой возникшей ошибке сообщается в виде предупреждения в Apigee Edge. Дополнительную информацию об оповещениях см. в разделе «Рекомендации по мониторингу» .
Для простоты компоненты Apigee подразделяются в основном на две категории:
- Службы Java Server, специфичные для Apigee: к ним относятся сервер управления, процессор сообщений, сервер Qpid и сервер Postgres.
- Сторонние службы: к ним относятся маршрутизатор NGINX, Apache Cassandra, Apache ZooKeeper, OpenLDAP, база данных PostgreSQL и Qpid.
При локальном развертывании Apigee Edge в следующей таблице представлен краткий обзор параметров, которые вы можете отслеживать:
Компонент | Системные проверки | Статистика на уровне процесса | Проверки уровня API | Проверки потока сообщений | Специфический для компонента | |
---|---|---|---|---|---|---|
Java-сервисы, специфичные для Apigee | Сервер управления | |||||
Процессор сообщений | ||||||
Qpid-сервер | ||||||
Постгрес-сервер | ||||||
Сторонние услуги | Апач Кассандра | |||||
Хранитель зоопарка Апач | ||||||
OpenLDAP | ||||||
База данных PostgreSQL | ||||||
Qpid | ||||||
Nginx-маршрутизатор |
В общем, после установки Apigee Edge вы можете выполнить следующие задачи мониторинга, чтобы отслеживать производительность установки Apigee Edge для частного облака.
Проверка работоспособности системы
Очень важно измерять параметры работоспособности системы, такие как загрузка ЦП, использование памяти и подключение портов, на более высоком уровне. Вы можете отслеживать следующие параметры, чтобы получить представление о состоянии системы.
- Использование ЦП: указывает базовую статистику (Пользователь/Система/Ожидание ввода-вывода/Простой) об использовании ЦП. Например, общее количество процессоров, используемых системой.
- Свободная/используемая память: определяет использование системной памяти в байтах. Например, физическая память, используемая системой.
- Использование дискового пространства: указывает информацию о файловой системе на основе текущего использования диска. Например, пространство на жестком диске, используемое системой.
- Средняя нагрузка: указывает количество процессов, ожидающих запуска.
- Сетевая статистика: сетевые пакеты и/или байты, переданные и полученные, а также ошибки передачи определенного компонента.
Процедуры/проверки приложений
На уровне процесса вы можете просмотреть важную информацию обо всех запущенных процессах. Например, к ним относится статистика использования памяти и ЦП, которую использует процесс или приложение. Для таких процессов, как qpidd, 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
- и т. д.
См. отдельные разделы ниже для получения информации о запуске этой команды для каждого компонента.
Этот вызов возвращает «истину» и «ложь». Для достижения наилучших результатов вы также можете выполнять вызовы API непосредственно на серверной стороне (с которой взаимодействует программное обеспечение Apigee), чтобы быстро определить, существует ли ошибка в программной среде Apigee или на внутренней стороне.
Проверка потока сообщений
Вы можете собирать данные от маршрутизаторов и обработчиков сообщений о шаблоне/статистике потока сообщений. Это позволяет отслеживать следующее:
- Количество активных клиентов
- Количество ответов (10X, 20X, 30X, 40X и 50X)
- Неисправности подключения
Это поможет вам предоставить информационные панели для потока сообщений API. Дополнительную информацию см. в разделе «Как отслеживать» .
Проверка работоспособности маршрутизатора процессора сообщений
Маршрутизатор реализует механизм проверки работоспособности, чтобы определить, какой из процессоров сообщений работает должным образом. Если процессор сообщений обнаруживается как неработающий или медленный, маршрутизатор может автоматически вывести процессор сообщений из строя. Если это произойдет, маршрутизатор записывает сообщения «Mark Down» в файл журнала маршрутизатора по адресу /opt/apigee/var/log/edge-router/logs/system.log
.
Вы можете отслеживать эти сообщения в файле журнала маршрутизатора. Например, если Маршрутизатор выводит из строя Message Processor, он записывает в журнал сообщение в виде:
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