Monit.

Monitorando SAP com Nagios

Escrito por Douglas Baiocco. Publicado em Nagios/ZABBIX.

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:

image001

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:

image002

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:

image004

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:

image005

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.

image006

Clique em Save

Volte a guia Configuration e vá em Monitoring Engines. Selecione todos os campos e clique em Export:

image007

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.

Relacionados