Мониторинг. · 2 min read · Oct 18, 2025
Мониторинг OpenStack Swift с Opsview
Мониторинг OpenStack Swift с Opsview
В качестве отправной точки мы проведем проверку “фронтальной двери”, так как это должно работать независимо от того, какую реализацию Swift вы используете.
Обратите внимание, что мы используем версию аутентификации 2.0 с Keystone, а не tempauth.
Следующие шаги предполагают, что у вас уже настроены и работают как сервер Opsview, так и объектное хранилище OpenStack (Swift).
Предварительные задачи настройки
Машина, выполняющая проверку, должна иметь клиент Swift и агент Opsview. Если вы планируете мониторить с сервера прокси Swift, вам нужен только последний; если вы планируете выполнять проверки с вашего сервера Opsview, тогда вам понадобится первый.
Установка клиента Swift
Это требует наличия установленного Python – скачайте исходный код с:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(для обоих)
Установка агента Opsview на Ubuntu
echo "deb http://downloads.opsview.com/opsview-core/latest/apt precise
main" > /etc/apt/sources.list.d/opsview-core.list
apt-get update
apt-get install opsview-agentПолучение проверки
Детали плагина находятся здесь:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
Прямая ссылка для скачивания:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
Поместите это в /usr/local/nagios/libexec (на агенте Opsview) и сделайте файл исполняемым (
chmod +x check_swift) и принадлежащим nagios (
chmod nagios:nagios check_swift).
Переменные окружения
Если у вас еще не установлены переменные окружения ST_AUTH (арендатор), ST_USER и ST_KEY, то вам может понадобиться изменить проверку соответственно (в соответствии с следующим диффом):
diff check_swift.orig check_swift52c52
< export OS_AUTH_URL=$OPTARG
> export ST_AUTH=$OPTARG
55c55
< export OS_USERNAME=$OPTARG
---
> export ST_USER=$OPTARG
58c58
< export OS_PASSWORD=$OPTARG
---
> export ST_KEY=$OPTARGНастройка NRPE
Хотя вы можете запустить проверку с вашего сервера Opsview (если установите клиент Swift), скорее всего, она будет выполняться на агенте Opsview через NRPE.
Поэтому нам нужно добавить команду проверки службы в конфигурацию NRPE на агенте Opsview:
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restartНастройка проверки
На вашем сервере Opsview вам нужно будет определить новую проверку службы, Рисунок 1 показывает завершенный пример.
Рисунок 1 – Определение проверки службы
Если вам нравится копировать и вставлять, аргументы для check_nrpe:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'Замените значения по мере необходимости или переопределите их на уровне хоста.
Проверка в действии
Рисунок 2 показывает представление проверки службы на уровне хоста ( обратите внимание, что, похоже, он игнорирует значение -c container).
Рисунок 2 – Результаты проверки службы
Вот и все, быстрое и простое базовое мониторинг OpenStack Swift.
Устранение неполадок
Если это не работает, сначала проверьте, можете ли вы выполнить загрузку с помощью клиента swift:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swiftВторой тест – проверить, возвращает ли плагин Nagios код выхода ноль:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo $?Обратите внимание, что плагин перенаправляет вывод в /dev/null, поэтому вам может понадобиться изменить копию скрипта, чтобы вы могли видеть сообщения об ошибках swift, если этот шаг не удался.
Наконец, протестируйте NRPE:
check_nrpe -H localhost -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container -s 128'Опубликовано: Брайан Кинг
Get new posts in your inbox
No spam. Unsubscribe anytime.