Edge для частного облака v4.19.01
В этом документе описаны методы мониторинга компонентов, поддерживаемых локальным развертыванием Apigee Edge.
Обзор
Edge поддерживает несколько способов получения подробной информации об услугах, а также проверки их статуса. В следующей таблице перечислены типы проверок, которые вы можете выполнить для каждой подходящей службы:
API управления | |||||||
Услуга | Использование памяти [JMX * ] | Сервисная проверка | Статус пользователя/организации/развертывания | статус | Проверка базы данных | Статус apigee-service | apigee-monit ** |
Сервер управления | |||||||
Процессор сообщений | |||||||
Постгрес | |||||||
Qpid | |||||||
Маршрутизатор | |||||||
Дополнительная информация | Дополнительная информация | Дополнительная информация | Дополнительная информация | Дополнительная информация | Дополнительная информация | Дополнительная информация | |
* Прежде чем вы сможете использовать JMX, вы должны включить его, как описано в разделе «Включение JMX» . ** Служба |
Порты мониторинга JMX и Management API
Каждый компонент поддерживает вызовы мониторинга JMX и Management API на разных портах. В следующей таблице перечислены порты JMX и Management API для каждого типа сервера:
Компонент | JMX-порт | Порт API управления |
---|---|---|
Сервер управления | 1099 | 8080 |
Маршрутизатор | 1100 | 8081 |
Процессор сообщений | 1101 | 8082 |
Qpid | 1102 | 8083 |
Постгрес | 1103 | 8084 |
Используйте JMX для мониторинга
Процессы мониторинга для сервера управления, процессора сообщений, Qpid и Postgres используют JMX. Однако JMX по умолчанию включен только для Cassandra и отключен по умолчанию для всех остальных компонентов Edge. Поэтому вам необходимо включить JMX индивидуально для каждого компонента, прежде чем вы сможете отслеживать их.
Аутентификация JMX не включена по умолчанию. Вы можете включить аутентификацию JMX для всех компонентов. Для Cassandra используйте инструкции в разделе Включение аутентификации JMX для Cassandra .
Включить JMX
JMX включен по умолчанию только для Cassandra и отключен по умолчанию для всех остальных компонентов Edge. В этом разделе описывается, как включить JMX для других компонентов Edge.
Чтобы включить JMX:
- Отредактируйте файл конфигурации компонента. Этот файл находится по адресу
opt/apigee/edge- component_name /bin/start
. В производственных средах эти файлы конфигурации будут находиться на разных машинах.Выберите одно из следующих расположений файлов на каждом сервере:
- Сервер управления:
/opt/apigee/edge-management-server/bin/start
- Процессор сообщений:
/opt/apigee/edge-message-processor/bin/start
- Postgres:
/opt/apigee/edge-postgres-server/bin/start
- Qpid:
/opt/apigee/edge-qpid-server/bin/start
- Маршрутизатор:
/opt/apigee/edge-router/bin/start
Например, файл конфигурации Сервера управления на его сервере находится по адресу
/opt/apigee/edge-management-server/bin/start
. - Сервер управления:
- Добавьте следующие параметры
com.sun.management.jmxremote
в строкуexec
, запускающую компонент:-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=port_number \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false
Где port_number — это порт JMX для службы. Чтобы получить номер порта JMX вашей службы, см. раздел Порты мониторинга JMX и Management API .
Например, чтобы включить JMX на Сервере управления, добавьте в файл конфигурации Сервера управления следующее:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \ -Djava.security.auth.login.config=$conf_path/jaas.config \ -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \ -Ddata.dir=$data_dir \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ $* $debug_options com.apigee.kernel.MicroKernel
В этом примере указан порт 1099 для сервера управления. Как говорилось ранее, каждая служба имеет свой номер порта.
Отредактированная строка в файле конфигурации выглядит следующим образом:
exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
- Сохраните файл конфигурации.
- Перезапустите компонент командой
restart
.Например, чтобы перезапустить Сервер управления, выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Аутентификация для JMX не включена по умолчанию. Вы можете включить аутентификацию JMX для всех компонентов, как описано в разделе Включение аутентификации JMX . Чтобы включить аутентификацию JMX для Cassandra, см. раздел Включение аутентификации JMX для Cassandra .
Включить аутентификацию JMX
Аутентификация JMX не включена по умолчанию. Вы можете включить аутентификацию JMX для всех компонентов. Для Cassandra используйте инструкции в разделе Включение аутентификации JMX для Cassandra.
Чтобы включить аутентификацию JMX, выполните следующее change_jmx_auth
на всех узлах:
/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]
Где:
- component является одним из следующих:
-
edge-management-server
-
edge-message-processor
-
edge-postgres-server
-
edge-qpid-server
-
edge-router
-
- options указывают следующее:
-
-u username
-
-p password
-
-e [y|n]
(включить или отключить)
-
- config_file указывает расположение файла конфигурации, в котором вы определяете следующее:
-
JMX_USERNAME= username
-
JMX_ENABLED=y|n
-
JMX_PASSWORD= password
(если он не установлен или не передан с помощью-p
, вам будет предложено)
-
Вы можете использовать параметры командной строки или файл конфигурации, чтобы определить имя пользователя, пароль и состояние включения/выключения. Вы не указываете ни набор опций, ни файл конфигурации.
В следующем примере включается аутентификация JMX для сервера управления с использованием параметров командной строки:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
В следующем примере используется файл конфигурации, а не параметры командной строки:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f /tmp/my-config-file
Если вы используете Edge на нескольких узлах, запустите команду на всех узлах, указав одно и то же имя пользователя и пароль.
Чтобы отключить аутентификацию JMX в командной строке, используйте опцию «-en», как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
Мониторинг с помощью JConsole
Используйте JConsole (JMX-совместимый инструмент) для управления и мониторинга проверки работоспособности и обработки статистики. С помощью JConsole вы можете использовать статистику JMX, предоставляемую вашими серверами, и отображать ее в графическом интерфейсе. Дополнительные сведения см. в разделе Использование JConsole .
JConsole использует следующий URL-адрес службы для мониторинга атрибутов JMX (MBeans), предлагаемых через JMX:
service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi
Где:
- IP_address — это IP-адрес сервера, который вы хотите отслеживать.
- port_number — это номер порта JMX сервера, который вы хотите отслеживать.
Например, для мониторинга сервера управления введите следующую команду (при условии, что IP-адрес сервера — 216.3.128.12):
service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi
Обратите внимание, что в этом примере указан порт 1099, который является портом JMX сервера управления. Другие порты см. в разделе Порты мониторинга JMX и Management API .
В следующей таблице показана общая статистика JMX:
JMX-MBean-компоненты | Атрибуты JMX |
---|---|
Память | КучаПамятьИспользование |
NonHeapMemoryUsage | |
Использование | |
Мониторинг с помощью Management API
Edge включает в себя несколько API-интерфейсов, которые вы можете использовать для проверки служб на ваших серверах, а также для проверки ваших пользователей, организаций и развертываний. В этом разделе описаны эти API.
Выполните сервисные проверки
API управления предоставляет несколько конечных точек для мониторинга и диагностики проблем с вашими службами. Эти конечные точки включают в себя:
Конечная точка | Описание |
---|---|
/servers/self/up | Проверяет, запущена ли служба. Этот вызов API не требует аутентификации. Если служба запущена, эта конечная точка возвращает следующий ответ: <ServerField> <Up>true</Up> </ServerField> Если служба не запущена, вы получите ответ, подобный следующему (в зависимости от того, какая это служба и как вы ее проверяли): curl: Failed connect to localhost:port_number; Connection refused |
/servers/self | Возвращает информацию о сервисе, в том числе:
Этот вызов API требует от вас аутентификации с использованием учетных данных администратора Apigee. |
Чтобы использовать эти конечные точки, вызовите такую утилиту, как curl
с командами, использующими следующий синтаксис:
curl http://host:port_number/v1/servers/self/up -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password -H "Accept: [application/json|application/xml]"
Где:
- host — это IP-адрес сервера, который вы хотите проверить. Если вы вошли на сервер, вы можете использовать «localhost»; в противном случае укажите IP-адрес сервера, а также имя пользователя и пароль.
- port_number — это порт Management API для сервера, который вы хотите проверить. Это отдельный порт для каждого типа компонента. Например, порт Management API сервера управления — 8080. Список номеров портов Management API, которые можно использовать, см. в разделе Порты мониторинга JMX и Management API.
Чтобы изменить формат ответа, вы можете указать заголовок Accept
как «application/json» или «application/xml».
В следующем примере получен статус маршрутизатора на локальном хосте (порт 8081):
curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"
В следующем примере получаются сведения об процессоре сообщений по адресу 216.3.128.12 (порт 8082):
curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password -H "Accept: application/xml"
Мониторинг пользователей, организации и статуса развертывания
Вы можете использовать Management API для мониторинга пользователей, организации и состояния развертывания ваших прокси-серверов на серверах управления и процессорах сообщений, введя следующие команды:
curl http://host:port_number/v1/users -u sysAdminEmail:passwordcurl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password
Где port_number — 8080 для сервера управления или 8082 для процессора сообщений.
Для этого вызова вам потребуется пройти аутентификацию с использованием имени пользователя и пароля системного администратора.
Сервер должен возвращать статус «развернуто» для всех вызовов. Если это не помогло, сделайте следующее:
- Проверьте журналы сервера на наличие ошибок. Журналы находятся по адресу:
- Сервер управления:
opt/apigee/var/log/edge-management-server
- Процессор сообщений:
opt/apigee/var/log/edge-message-processor
- Сервер управления:
- Вызовите сервер, чтобы проверить, правильно ли он работает.
- Удалите сервер из ELB и затем перезапустите его:
/opt/apigee/apigee-service/bin/apigee-service service_name restart
Где service_name :
-
edge-management-server
-
edge-message-processor
-
Проверьте статус с помощью команды apigee-service
Вы можете устранить неполадки в службах Edge, используя команду apigee-service
, когда вы вошли на сервер, на котором работает служба.
Чтобы проверить статус службы с помощью apigee-service
:
- Войдите на сервер и выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service service_name status
Где service_name — одно из следующих:
- Сервер управления:
edge-management-server
- Процессор сообщений:
edge-message-processor
- Postgres:
edge-postgres-server
- Qpid:
edge-qpid-server
- Маршрутизатор:
edge-router
Например:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
- Сервер управления:
- Если служба не запущена, запустите ее:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- После перезапуска службы убедитесь, что она работает, либо с помощью команды
apigee-service status
, которую вы использовали ранее, либо с помощью API управления, описанного в разделе Мониторинг с API управления .Например:
curl -v http://localhost:port_number/v1/servers/self/up
Где port_number — это порт Management API для службы.
В этом примере предполагается, что вы вошли на сервер и можете использовать «localhost» в качестве имени хоста. Чтобы проверить статус удаленно с помощью Management API, вы должны указать IP-адрес сервера и включить имя пользователя и пароль системного администратора в свой вызов API.
Постгрес-мониторинг
Postgres поддерживает несколько утилит, которые можно использовать для проверки его статуса. Эти утилиты описаны в следующих разделах.
Проверка организаций и сред в Postgres
Вы можете проверить имена организаций и сред, зарегистрированных на сервере Postgres, выполнив следующую команду curl
:
curl -v http://postgres_IP:8084/v1/servers/self/organizations
Система должна отображать название организации и среды.
Проверьте статус аналитики
Вы можете проверить состояние серверов аналитики Postgres и Qpid, введя следующую команду curl
:
curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus
Система должна отображать статус успеха для всех серверов аналитики, как показано в следующем примере:
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
База данных PostgreSQL
В этом разделе описаны методы, которые вы можете использовать специально для мониторинга базы данных Postgres.
Используйте скрипт check_postgres.pl
Для мониторинга базы данных PostgreSQL вы можете использовать стандартный скрипт мониторинга check_postgres.pl
. Для получения дополнительной информации см. http://bucardo.org/wiki/Check_postgres .
Прежде чем запустить скрипт:
- Вы должны установить сценарий check_postgres.pl на каждом узле Postgres.
- Убедитесь, что вы установили
perl-Time-HiRes.x86_64
, модуль Perl, который реализует таймеры сигнализации высокого разрешения, сна, gettimeofday и интервалов. Например, вы можете установить его с помощью следующей команды:
yum install perl-Time-HiRes.x86_64
- CentOS 7: перед использованием check_postgres.pl в CentOS v7 установите RPM
perl-Data-Dumper.x86_64
.
Вывод check_postgres.pl
Вывод вызовов API с использованием check_postgres.pl
по умолчанию совместим с Nagios. После установки скрипта выполните следующие проверки:
- Проверьте размер базы данных:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
- Проверьте количество входящих подключений к базе данных и сравните с максимально разрешенными подключениями:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- Проверьте, запущена ли и доступна ли база данных:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- Проверьте свободное место на диске:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- Проверьте количество организаций и сред, включенных в узел Postgres:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer
Запустите проверку базы данных
Вы можете убедиться, что в базе данных PostgreSQL созданы правильные таблицы. Войдите в базу данных PostgreSQL с помощью следующей команды:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
Затем запустите:
\d analytics."org.env.fact"
Проверьте состояние работоспособности процесса postgres
Вы можете выполнить проверку API на машине Postgres, вызвав следующую команду curl
:
curl -v http://postgres_IP:8084/v1/servers/self/health
Эта команда возвращает статус ACTIVE
, когда процесс postgres активен. Если процесс Postgres не запущен и не работает, он возвращает статус INACTIVE
.
Ресурсы Postgres
Дополнительные сведения о мониторинге службы Postgres см. в следующих разделах:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Апач Кассандра
JMX включен для Cassandra по умолчанию, и удаленный доступ JMX к Cassandra не требует пароля.
Включить аутентификацию JMX для Cassandra
Вы можете включить аутентификацию JMX для Cassandra. После этого вам потребуется передавать имя пользователя и пароль для всех вызовов утилиты nodetool
.
Чтобы включить аутентификацию JMX для Cassandra:
- Создайте и отредактируйте файл
cassandra.properties
:- Отредактируйте файл
/opt/apigee/customer/application/cassandra.properties
. Если файл не существует, создайте его. - Добавьте в файл следующее:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true conf_cassandra-env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/data/apigee-cassandra/jmxremote.password conf_cassandra-env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/data/apigee-cassandra/jmxremote.access
- Сохраните файл
cassandra.properties
. - Измените владельца файла на «apigee:apigee», как показано в следующем примере:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
Дополнительные сведения об использовании файлов свойств для установки токенов см. в разделе Как настроить Edge .
- Отредактируйте файл
- Создайте и отредактируйте
jmx_auth.sh
:- Создайте файл в следующем месте, если он не существует:
/opt/apigee/customer/application/jmx_auth.sh
- Добавьте в файл следующие свойства:
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- Сохраните файл
jmx_auth.sh
. - Источник файла:
source /opt/apigee/customer/application/jmx_auth.sh
- Создайте файл в следующем месте, если он не существует:
- Скопируйте и отредактируйте файл
jmxremote.password
:- Скопируйте следующий файл из каталога
$JAVA_HOME
в/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
- Отредактируйте файл
jmxremote.password
и добавьте свое имя пользователя и пароль JMX, используя следующий синтаксис:JMX_USERNAME JMX_PASSWORD
Где JMX_USERNAME и JMX_PASSWORD — это имя пользователя и пароль JMX, которые вы установили ранее.
- Убедитесь, что файл принадлежит «apigee» и что файловый режим равен 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.password
- Скопируйте следующий файл из каталога
- Скопируйте и отредактируйте файл
jmxremote.access
:- Скопируйте следующий файл из каталога
$JAVA_HOME
в/opt/apigee/data/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access
- Отредактируйте файл jmxremote.access и добавьте следующую роль:
JMX_USERNAME readwrite
- Убедитесь, что файл принадлежит «apigee» и что файловый режим равен 400:
chown apigee:apigee /opt/apigee/data/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/data/apigee-cassandra/jmxremote.access
- Скопируйте следующий файл из каталога
- Запустите
configure
на Кассандре:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Перезапустите Кассандру:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Повторите этот процесс на всех остальных узлах Cassandra.
Включить шифрование пароля JMX
Чтобы включить шифрование пароля JMX, выполните следующие действия:
- Откройте файл
source/conf/casssandra-env.sh
. - Раскомментируйте следующие строки в файле:
-
JVM_OPTS="$JVM_OPTS -Djava.security.auth.login.config={T}conf_cassandra-env_java.security.auth.login.config{/T}"
-
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.login.config=ApigeeSecureFileLoginModule"
-
- В командной строке сгенерируйте хэши SHA1 желаемых паролей, введя
echo -n 'Secret' | openssl dgst -sha1
- Установите пароль(и) для имени пользователя в
jmxremote.password
. - Измените файл
cassandra-env.sh
обратно на чтение только после обновления.
Отключить аутентификацию JMX для Cassandra
Чтобы отключить аутентификацию JMX для Cassandra:
- Отредактируйте
/opt/apigee/customer/application/cassandra.properties
. - Удалите следующую строку в файле:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- Запустите настройку на Кассандре:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- Перезапустите Кассандру:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Повторите этот процесс на всех остальных узлах Cassandra.
Используйте JConsole: отслеживайте статистику задач
Используйте JConsole и следующий URL-адрес службы для мониторинга атрибутов JMX (MBeans), предлагаемых через JMX:
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
Где IP_address — это IP-адрес сервера Cassandra.
Статистика Кассандры JMX
JMX-MBean-компоненты | Атрибуты JMX |
---|---|
ColumnFamilies/apprepo/environments СтолбецСемьи/apprepo/организации ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxyes ColumnFamilies/аудит/аудит ColumnFamilies/audit/audits_ref | Ожидающие задачи |
MemtableColumnsCount | |
Мемтабледатасизе | |
ReadCount | |
Недавнее чтениеLatencyMicros | |
TotalReadLatencyMicros | |
WriteCount | |
Недавние записиLatencyMicros | |
TotalWriteLatencyMicros | |
TotalDiskSpaceUsed | |
LiveDiskSpaceUsed | |
LiveSSTableCount | |
BloomFilterFalsePositives | |
НедавниеBloomFilterFalseRatio | |
BloomFilterFalseRatio |
Используйте nodetool для управления узлами кластера
Утилита nodetool
— это интерфейс командной строки для Cassandra, который управляет узлами кластера. Утилиту можно найти по адресу /opt/apigee/apigee-cassandra/bin
.
Следующие вызовы могут быть выполнены на всех узлах кластера Cassandra:
- Общая информация о кольце (также возможна для одного узла Cassandra): найдите «Вверх» и «Нормальный» для всех узлов.
nodetool [-u username -pw password] -h localhost ring
Вам нужно будет передать свое имя пользователя и пароль только в том случае, если вы включили аутентификацию JMX для Cassandra .
Вывод приведенной выше команды выглядит, как показано ниже:
Datacenter: dc-1 ========== Address Rack Status State Load Owns Token 192.168.124.201 ra1 Up Normal 1.67 MB 33,33% 0 192.168.124.202 ra1 Up Normal 1.68 MB 33,33% 5671...5242 192.168.124.203 ra1 Up Normal 1.67 MB 33,33% 1134...0484
- Общая информация об узлах (вызов на узел)
nodetool [-u username -pw password] -h localhost info
Вывод приведенной выше команды выглядит следующим образом:
ID : e2e42793-4242-4e82-bcf0-oicu812 Gossip active : true Thrift active : true Native Transport active: true Load : 273.71 KB Generation No : 1234567890 Uptime (seconds) : 687194 Heap Memory (MB) : 314.62 / 3680.00 Off Heap Memory (MB) : 0.14 Data Center : dc-1 Rack : ra-1 Exceptions : 0 Key Cache : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds Counter Cache : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds Token : 0
- Статус бережливого сервера (обслуживающий клиентский API)
nodetool [-u username -pw password] -h localhost statusthrift
Вывод приведенной выше команды выглядит следующим образом:
running
- Статус операций потоковой передачи данных : наблюдать за трафиком узлов cassandra:
nodetool [-u username -pw password] -h localhost netstats
Вывод приведенной выше команды выглядит следующим образом:
Mode: NORMAL Not sending any streams. Read Repair Statistics: Attempted: 151612 Mismatch (Blocking): 0 Mismatch (Background): 0 Pool Name Active Pending Completed Dropped Commands n/a 0 0 0 Responses n/a 0 0 n/a
Дополнительные сведения об nodetool
см. в разделе Об утилите nodetool .
Ресурс Кассандры
См. следующий URL-адрес: http://www.datastax.com/docs/1.0/operations/monitoring .
Хранитель зоопарка Апач
Проверьте статус ZooKeeper
- Убедитесь, что процесс ZooKeeper запущен. ZooKeeper записывает PID-файл в
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - Проверьте порты ZooKeeper, чтобы убедиться, что вы можете установить TCP-соединение с портами 2181 и 3888 на каждом сервере ZooKeeper.
- Убедитесь, что вы можете читать значения из базы данных ZooKeeper. Подключитесь с помощью клиентской библиотеки ZooKeeper (или
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) и считайте значение из базы данных. - Проверьте статус:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
Используйте слова из четырех букв ZooKeeper
ZooKeeper можно отслеживать с помощью небольшого набора команд (четырехбуквенных слов), которые отправляются на порт 2181 с помощью netcat (nc) или telnet.
Дополнительную информацию о командах ZooKeeper см. в: Справочнике команд Apache ZooKeeper .
Например:
-
srvr
: выводит полную информацию о сервере. -
stat
: выводит краткую информацию о сервере и подключенных клиентах.
На порт ZooKeeper можно подать следующие команды:
- Запустите четырехбуквенную команду ruok, чтобы проверить, работает ли сервер в исправном состоянии. Успешный ответ возвращает «imok».
echo ruok | nc host 2181
Возврат:
imok
- Запустите четырехбуквенную команду
stat
, чтобы просмотреть статистику производительности сервера и подключенных клиентов:echo stat | nc host 2181
Возврат:
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT Clients: /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0) /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433) /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347) /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692) Latency min/avg/max: 0/0/128 Received: 26144 Sent: 26160 Connections: 4 Outstanding: 0 Zxid: 0x2000002c2 Mode: follower Node count: 283
- Если netcat (nc) недоступен, в качестве альтернативы можно использовать python. Создайте файл
zookeeper.py
, содержащий следующее:import time, socket, sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM) c.connect((sys.argv[1], 2181)) c.send(sys.argv[2]) time.sleep(0.1) print c.recv(512)
Теперь запустите следующие строки Python:
python zookeeper.py 192.168.124.201 ruok
python zookeeper.py 192.168.124.201 stat
проверка уровня LDAP
Вы можете отслеживать OpenLDAP, чтобы увидеть, правильно ли обслуживаются конкретные запросы. Другими словами, проверьте конкретный поиск, который возвращает правильный результат.
- Используйте
ldapsearch
(yum install openldap-clients
), чтобы запросить запись системного администратора. Эта запись используется для аутентификации всех вызовов API.ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL
Затем вам будет предложено ввести пароль администратора LDAP:
Enter LDAP Password:
После ввода пароля вы увидите ответ в виде:
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top uid: admin cn: admin sn: admin userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ= = mail: opdk@google.com
- Проверьте, подключен ли сервер управления к LDAP, с помощью следующей команды:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
Возврат:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
Вы также можете отслеживать кэши OpenLDAP, что помогает уменьшить количество обращений к диску и, следовательно, повысить производительность системы. Мониторинг и последующая настройка размера кэша на сервере OpenLDAP могут сильно повлиять на производительность сервера каталогов. Вы можете просмотреть файлы журналов ( opt/apigee/var/log
), чтобы получить информацию о кеше.