Monitoramento · 2 min read · Oct 18, 2025
Monitorando OpenStack Swift Com Opsview
Monitorando OpenStack Swift Com Opsview
Como ponto de partida, realizaremos uma verificação de ‘porta da frente’, pois isso deve funcionar independentemente da implementação do Swift que você está usando.
Note que estamos usando a versão de autenticação 2.0 com Keystone em vez de tempauth.
Os seguintes pressupõem que você já tem tanto o Servidor Opsview quanto o Armazenamento de Objetos OpenStack (Swift) configurados e em execução.
Tarefas de configuração pré-requisito
A máquina que executa a verificação precisa ter um cliente Swift e um Agente Opsview. Se você planeja monitorar a partir de um servidor proxy Swift, você deve precisar apenas do último; se você planeja executar as verificações a partir do seu servidor Opsview, então você precisará do primeiro.
Instalando o cliente Swift
Isso depende de ter o Python instalado – pegue a fonte de:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(por ambos)
Instalando o Agente Opsview no 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-agentObtendo a verificação
Os detalhes do plugin estão aqui:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
O link de download direto:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
Coloque isso em /usr/local/nagios/libexec (no Agente Opsview) e torne o arquivo executável (
chmod +x check_swift) e de propriedade do nagios (
chmod nagios:nagios check_swift).
Variáveis de ambiente
Se você ainda não tiver as variáveis de ambiente ST_AUTH (tenant), ST_USER e ST_KEY definidas, então você pode querer modificar a verificação de acordo (conforme o seguinte diff):
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=$OPTARGConfigurando o NRPE
Embora você possa executar a verificação a partir do seu servidor Opsview (se instalar o cliente Swift), é mais provável que ela seja executada em um Agente Opsview via NRPE.
Portanto, precisamos adicionar um comando de verificação de serviço à configuração do NRPE no Agente 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 restartConfigurando a verificação
No seu servidor Opsview, você precisará definir uma nova Verificação de Serviço, a Figura 1 mostra um exemplo completo.
Figura 1 – Definição da verificação de serviço
Se você gosta de copiar e colar, os argumentos para check_nrpe são:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'Substitua os valores conforme aplicável ou sobrescreva-os no nível do host.
A verificação em ação
A Figura 2 mostra a visão em nível de host da verificação de serviço (note que parece estar ignorando o valor -c container).
Figura 2 – Resultados da verificação de serviço
Aí está, monitoramento básico rápido e fácil do OpenStack Swift.
Solução de problemas
Se não funcionar, primeiro verifique se você pode realizar um upload usando o cliente swift:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swiftO segundo teste é verificar se o plugin Nagios retorna um código de saída zero:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo \$?Note que o plugin redireciona a saída para /dev/null, então você pode precisar ajustar uma cópia do script para que possa ver as mensagens de erro do swift se esta etapa falhar.
Por fim, teste o 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'Postado por: Brian King
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.