Monitorando SAP com Nagios
Muitos administradores de ambientes críticos, em que rodam diversos softwares complexos, terão em algum momento a necessidade de monitorar sua estrutura de forma centralizada. No universo SAP temos diversas ferramentas de administração e monitoramento, tal como o SOLMAN (Solution Manager), um recurso excelente para centralização e controle deste tipo de sistema. Estas soluções utilizam uma ferramenta desenvolvida e disponibilizada pela SAP chamada CCMS (Computing Center Management System).
Com a CCMS é possível monitorar, controlar e configurar ambientes SAP, inclusive através do SOLMAN. É uma ótima alternativa para manter seus sistemas sob controle.
Podemos, é claro, integrar o SOLMAN ao Nagios ou mesmo os sistemas SAP diretamente. Para tanto, o Nagios possui um plugin que torna o CCMS visível para o sistema de monitoramento.
O Plugin recebe o nome de nagios-sap-ccms e pode ser baixado no site do projeto ou aqui:
A instalação do plugin é bastante simples. Basta seguir as linhas de comando abaixo, como usuário root no seu FAN Nagios.
Obs.: Em nosso tutorial, o mesmo foi instalado em um FAN Nagios (distribuição pronta do Nagios utilizando o CentOS). Se você utiliza alguma outra variante de Linux, os comandos podem ser diferentes.
Copie o plugin descompactado na pasta /opt com a ferramenta de sua preferência (eu utilizo o winscp)
Após isso, no terminal do seu Linux, entre na pasta:
#cd /opt/
Entre na pasta do plugin:
#cd nagios-sap-ccms/
Entre na pasta src:
#cd /src/
Serão necessários alguns pacotes adicionais para a instalação. Vamos instalar o gcc e o pacote libstdc++
#yum install gcc
#yum install compat-libstdc++-33
Utilize o comando MAKE para criar os arquivos
#make
Copie as bibliotecas geradas para os destinos corretos com os seguintes comandos:
#cp sap_moni.so /usr/lib/
#cp librfccm.so /usr/lib/
Crie uma pasta para os arquivos de configuração:
#mkdir /etc/sapmon
Copie os arquivos de configuração para a pasta criada
#cp /opt/nagios-sap-ccms/config/* /etc/sapmon/
Copie o plugin para dentro da pasta do Nagios
#cp /opt/nagios-sap-ccms/src/check_sap /usr/lib/nagios/plugins/
Após a instalação do Plugin, será necessário realizar a configuração da conexão aos ambientes que serão acessados. Crie um arquivo em /etc/sapmon com o nome de login.cfg utilizando o comando:
#nano /etc/sapmon/login.cfg
O seguinte conteudo deve ser adicionado:
[LOGIN_nome_do_servidor]
LOGIN=-d CRB -u user_do_sap -p password -h IP_DO_SAP -s 00 -c 600
Onde temos:
-d BWP
O SID do ambiente
-u user_do_sap
Um usuário que tenha permissão para acesso a CCMS. Cuidado nesse ponto. Atribua um usuário que não possua muitos acessos para que este não tenha plenos poderes dentro do ambiente. Em nosso caso, utilizamos um usuário com o perfil S_A.SYSTEM
-p password
Senha em texto puro do seu usuário
-h IP_DO_SAP
Ip do servidor em que o sap esta localizado (APPLICATION SERVER)
-s 00
System Number do application server
-c 600
Mandante do ambiente SAP
Agora precisamos definir quais serão os parâmetros monitorados pelo Nagios. Crie um arquivo com o seguinte comando:
#nano /etc/sapmon/agent.cfg
Ele deve ter esta estrutura:
[TEMPLATE_dialog_response_time]
MONI_SET_NAME="SAP CCMS Monitor Templates"
MONI_NAME="Dialog Overview"
PATTERN_0="*Dialog\ResponseTime*"
Em detalhe:
[TEMPLATE_dialog_response_time]
Nome do serviço chamado pelo plugin. Note a estrutura: é necessário ter esta aparencia, com a palavra TEMPLATE_ antes do nome
MONI_SET_NAME="SAP CCMS Monitor Templates"
MONI_NAME="Dialog Overview"
Nome da chave principal e da secundaria dentro da CCMS no SAP
Veja no print abaixo:
Obs.: Para acessar a CCMS em um ambiente SAP (CRM, ECC, BW, etc) use a transação RZ20.
PATTERN_0="*Dialog\ResponseTime*"
Este é um ponto um pouco mais complicado. Aqui temos um campo de pesquisa para localizar o nó da CCMS. Para preencher estes dados, precisamos acessar a chave que queremos. A tela a seguir será apresentada:
Selecione a chave final (neste caso sqsap023_CRB_00) e clique em Características
Note que a chave possui em seu titulo ...\Dialog\ResponseTime. Note que este final identifica este Nó da CCMS. Portanto no arquivo de configuração, colocamos *Dialog\ResponseTime*
É o suficiente para que seja identificado. Em alguns casos, precisamos ser mais específicos.
Com estes dois arquivos criados, podemos testar o acesso e ver o resultado da consulta. Entre na pasta dos plugins do Nagios e digite o comando abaixo:
Note a resposta do ambiente. Temos nosso monitoramento funcional.
Agora vem o passo mais tranquilo: criar o serviço de monitoramento e atribuir ao host do SAP
Entre no Centreon de sua instalação e clique em Configuration e em seguida em Commands. Clique em Add para adicionar um novo comando e preencha os dados como segue:
Clique em Save
Volte para Configuration, mas vá agora em Services (certifique-se de existir um host já cadastrado para atribuir este serviço) Clique em add para criar um novo serviço de monitoramento.
Preencha os dados do serviço e atribua-o a algum host. Utilize o comando criado anteriormente (check_sap) e no parametro, coloque o nome do nó adicionado no arquivo de configuração do Plugin.
Clique em Save
Volte a guia Configuration e vá em Monitoring Engines. Selecione todos os campos e clique em Export:
Verifique agora em seu Nagios o serviço sendo monitorado. Note que o estado do serviço é definido pelo SAP, portanto você ainda pode utilizar seu SOLMAN. O bom é que você centraliza os serviços críticos em um lugar apenas, evitando uma maratona de acessos a diversos ambientes.
ATUALIZAÇÃO:
Com a ajuda do Sr. Rodolfo de Paula (https://www.linkedin.com/in/rodolfo-ribeiro-64b77941/), descobri algumas exigencias do lado do Servidor SAP: O usuário que será utilizado para fazer a conexão deve ter os seguintes objetos em um perfil atribuido a ele: S_RFC, S_XMI_LOG, S_XMI_PROD e S_RFCACL. Sem isso, voce receberá diversos erros de LOGON_DENIED.