Что отслеживать

Edge для частного облака версии 4.17.01

Как правило, в рабочей среде необходимо включить механизмы мониторинга в развертывании Apigee Edge для частного облака. Эти методы мониторинга предупреждают администраторов (или операторов) сети об ошибке или сбое. Каждая ошибка, которая возникает, регистрируется в Apigee Edge как оповещение. Дополнительные сведения об оповещениях можно найти в статье Рекомендации по мониторингу.

Для удобства компоненты Apigee разделены на две основные категории:

  • Сервисы Java Server, относящиеся к Apigee, в том числе сервер управления, обработчик сообщений, сервер Qpid и сервер Postgres.
  • Сторонние сервисы, в том числе Nginx Router, Apache Cassandra, Apache ZooKeeper, OpenLDAP, база данных PostgreSQL и Qpid.

В таблице ниже приведены параметры, которые можно отслеживать при локальном развертывании Apigee Edge:

Компонент

Системные проверки

Статистика на уровне процесса

Проверки на уровне API

Проверки потока сообщений

Для определенного компонента

Сервисы Java, относящиеся к Apigee

Сервер управления

?

Что вы имеете в виду?

?

Message Processor

?

Что вы имеете в виду?

Что вы имеете в виду?

?

Сервер Qpid

?

Что вы имеете в виду?

?

Сервер Postgres

?

Что вы имеете в виду?

?

Сторонние сервисы

Apache Cassandra

?

?

Apache ZooKeeper

?

?

OpenLDAP

?

?

База данных PostgreSQL

?

?

Qpid

?

?

Маршрутизатор Nginx

?

Что вы имеете в виду?

?

После установки Apigee Edge можно выполнять следующие задачи по мониторингу, чтобы отслеживать производительность установки Apigee Edge для частного облака.

Проверки состояния системы

Очень важно измерять параметры работоспособности системы, такие как использование ЦП, использование памяти и подключение портов, на более высоком уровне. Чтобы получить базовую информацию о состоянии системы, можно отслеживать следующие параметры:

  • Использование ЦП – основные данные об использовании ЦП (пользователем, системой, ожидание ввода-вывода, простой). Например, общее использование ЦП системой.
  • Свободная/используемая память – указывает, сколько системной памяти используется в байтах. Например, физическая память, используемая системой.
  • Использование дискового пространства – информация о файловой системе на основе текущего использования диска. Например, место на жестком диске, используемое системой.
  • Средняя нагрузка – количество процессов, ожидающих выполнения.
  • Статистика сети – пакеты и/или байты, переданные и полученные по сети, а также ошибки передачи, связанные с определенным компонентом.

Проверка процессов и приложений

На уровне процесса можно посмотреть важную информацию обо всех запущенных процессах. Например, это статистика использования памяти и ЦП процессом или приложением. Для таких процессов, как qpidd, postgres postmaster, java и т. д., можно отслеживать следующие показатели:

  • Идентификация процесса. Определите конкретный процесс Apigee. Например, вы можете отслеживать наличие процесса Java на сервере Apigee.
  • Статистика потоков. Позволяет просматривать основные шаблоны потоков, используемые процессом. Например, вы можете отслеживать пиковое количество потоков и количество потоков для всех процессов.
  • Использование памяти. Показывает, как используется память всеми процессами Apigee. Например, вы можете отслеживать такие параметры, как использование памяти кучи и памяти вне кучи, используемой процессом.

Проверки на уровне API

На уровне API можно отслеживать, работает ли сервер для часто используемых вызовов API, проксируемых Apigee. Например, вы можете выполнить проверку API на сервере управления, маршрутизаторе и Message Processor, вызвав следующую команду cURL:

curl http://<host>:<port>/v1/servers/self/up

где <host> – IP-адрес компонента Apigee Edge. Номер <port> относится к определенному компоненту Edge. Пример:

Сервер управления: 8080

  • Маршрутизатор: 8081
  • Процессор сообщений: 8082
  • другие подобные критерии.

Информацию о том, как выполнить эту команду для каждого компонента, можно найти в разделах ниже.

Этот вызов возвращает значения "истина" и "ложь". Чтобы получить более точные результаты, вы также можете отправлять вызовы API непосредственно в серверную часть (с которой взаимодействует ПО Apigee), чтобы быстро определить, где возникла ошибка – в среде ПО Apigee или в серверной части.

Примечание. Чтобы отслеживать прокси API, также можно использовать API Health от Apigee. API Health регулярно вызывает ваши прокси API и уведомляет вас о сбоях и их причинах. Если вызовы выполняются успешно, API Health показывает время ответа и может даже уведомлять вас, когда задержка ответа высока. API Health может выполнять вызовы из разных регионов мира, чтобы сравнивать поведение API в разных регионах.

Проверки потока сообщений

Вы можете собирать данные о потоке сообщений из маршрутизаторов и процессоров сообщений. Это позволяет отслеживать:

  • Количество активных клиентов
  • Количество ответов (10X, 20X, 30X, 40X и 50X)
  • Неудачные подключения

Это поможет вам создавать панели управления для потока сообщений API.

Проверка работоспособности маршрутизатора Message Processor

Маршрутизатор реализует механизм проверки состояния, чтобы определить, какие из процессоров сообщений работают должным образом. Если процессор сообщений работает медленно или не работает, маршрутизатор может автоматически исключить его из ротации. В этом случае маршрутизатор записывает сообщения "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-адрес и номер порта Message Processor.

Если позже маршрутизатор выполнит проверку работоспособности и определит, что Message Processor работает правильно, он автоматически вернет его в ротацию. Маршрутизатор также записывает в журнал сообщение "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