Você está na página 1de 20

Apostila Protocolo SNMP – Definição, Instalação e Configuração

APRESENTAÇÃO
Olá!

Obrigado por acessar esta apostila produzida pela NOTO TI. Antes de começar,
gostaria de fazer uma breve apresentação para que você conheça as origens deste
projeto.

A NOTO TI surgiu na cidade de Jaraguá do Sul, Santa Catarina, em 2016, sendo


resultado da minha experiência no setor. Meu nome é Evandro José Zipf, estou há
mais de 18 anos no ramo de redes de computadores. Além disso, possuo Certificado
Zabbix Specialist e Professional, e ampla bagagem em Linux, Cloud Computing (AWS)
e Firewall.

Minha empresa fornece serviços de Tecnologia da Informação para ambientes em


Nuvem, Consultoria em Segurança e Ambiente de Monitoramento. Tudo isso com o
know-how de profissionais especializados e constantemente capacitados, prontos
para prestar atendimento dentro de altos padrões de qualidade e eficiência.

A NOTO TI entrega a seus clientes o que existe de mais moderno em monitoramento


de ambientes, permitindo o acesso deles em tempo real a várias aplicações
imprescindíveis às tomadas de decisões. E é com o mesmo propósito de excelência
que preparamos este material para você.

Então, vamos lá, direto ao ponto. Boa aula!

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
3

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
4

Definição: O que é o Protocolo SNMP


O Protocolo SNMP significa Simple Network Management Protocol ou, em português, Protocolo
Simples de Gerência de Rede. É um padrão da internet para monitoramento e gerenciamento de
dispositivos em redes IP.

Na prática, o SNMP é o protocolo mais usado para saber o que acontece dentro de ativos de redes
e serviços. Isso inclui, por exemplo, roteadores, computadores, servidores, estações de trabalho,
impressoras, racks modernos etc.

Instalação e Configuração SNMP


Vamos iniciar instalando os pacotes necessários nas máquinas virtuais do curso. Faça o
procedimento abaixo, conforme cada sistema operacional das VMs.

Instalação dos pacotes

Para Debian ou Ubuntu


# apt install snmp snmpd snmp-mibs-downloader

Para Redhat ou Centos


# yum install net-snmp net-snmp-utils
1
Iniciar serviço snmp e ativá-lo na inicialização das máquinas virtuais
# systemctl enable snmpd
# systemctl start snmpd

 Dica: trocar start por status, stop ou restart. Assim, você checa o status, para ou
reinicia o serviço.

Entendendo as OIDs e MIBs no SNMP

OID - OID (Object Identifier), ou identificador de objeto, é uma sequência de números decimais
que identifica exclusivamente um objeto, sendo encontrado em todos os dispositivos. Tudo o que
pode ser monitorado com SNMP possui um OID, e ele representa, por exemplo, o estado das
máquinas e o tráfego de rede. Mas essas informações são fornecidas por meio de números.

MIB - Management Information Base (MIB), em português “Base de Informações de


Gerenciamento”, é um conceito que pode ser entendido da seguinte maneira: pense em um banco
de dados de objetos gerenciados e rastreados pelos agentes, onde qualquer tipo de status ou
dado estatístico pode ser acessado pelo gerente. Isso é uma MIB.

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
5

As MIBs descrevem a estrutura de gestão dos dados de um subsistema de um dispositivo. Para


isso, utilizam denominações hierárquicas com os identificadores dos objetos (OID). Grosso modo,
cada OID identifica uma variável que pode ser lida ou escrita via SNMP.

Testando se o serviço está funcionando:


2
# service snmpd status

O arquivo de configuração do serviço SNMP nos servidores Linux fica em


3 /etc/snmp/snmpd.conf. Nele, você define quem pode acessar os recursos, tais como IP,
host, acessos, somente leitura etc. Confira a seguir um exemplo do arquivo:

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
6

Vamos testar e fazer as configurações necessárias em todas as máquinas do laboratório do


curso. A leitura das OIDs disponíveis via SNMP será feita com o comando snmpwalk, uma
maneira abreviada de usar várias solicitações GETNEXT sem precisar digitar muitos
comandos diferentes. As execuções acontecem automaticamente.

# snmpwalk -v2c -c public 127.0.0.1


4
 Dica: -v2c = versão do protocolo SNMP habilitado
-c public = comunidade configurada no equipamento para leitura do SNMP
127.0.0.1 = IP do equipamento em que deve ser feita a leitura do SNMP

 Atenção: Ao instalar os pacotes, instalamos também as MIBs padrões para leitura das OIDs
SNMP.
Com as MIBs, é mais fácil saber o que cada OID representa ou, melhor dizendo, qual informação
aquela OID fornece (nome do host, utilização de CPU, quantidade de memória etc.).
Vamos ao teste para você entender o funcionamento das MIBs. Sabendo que cada OID representa
uma informação, então, vamos pegar como exemplo o nome das interfaces de rede configuradas
no sistema operacional.

A OID 1.3.6.1.2.1.31.1.1.1.1 traz o nome das interfaces de rede


5 Faça:
# snmpwalk -v2c -c public 127.0.0.1 1.3.6.1.2.1.31.1.1.1.1

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
7

Agora, faça a mesma consulta usando o nome na MIB


6
# snmpwalk -v2c -c public 127.0.0.1 Ifname

 Importante: Esse erro ocorre porque o sistema operacional ainda não consegue localizar
as MIBs padrões. Existem duas maneiras de resolver isso.

 Primeira: passar o parâmetro -m +ALL no comando snmpwalk, para este tentar ler
7 todas as MIBs localizadas no diretório padrão delas. O diretório padrão das MIBs é:
/usr/share/snmp/mibs

Faça agora o comando:


8 # snmpwalk -v2c -m +ALL -c public 127.0.0.1 Ifname

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
8

 Note: O parâmetro -m +ALL diz para ler todas as MIBs do diretório padrão onde elas estão
localizadas.

 Segunda: já deixar configurada essa opção dentro do arquivo de configuração do


cliente snmp. Esse arquivo fica em /etc/snmp/snmp.conf
9
Edite-o com o vim: # vim /etc/snmp/snmp.conf

10 Mude para:

 Assim, você deixa o carregamento automático das MIBs que você colocar dentro do
diretório padrão junto com o SO.

Salve o arquivo e teste novamente o comando anterior sem o -m +ALL


11 # snmpwalk -v2c -c public 127.0.0.1 Ifname

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
9

 Dica: Se você comentar a linha onde aparece MIBs, o comando snmpwalk vai carregar
somente as padrões.

Teste o comando acima novamente.

Agora, para finalizar essa parte, faça uma leitura completa das informações que você
consegue coletar do equipamento via SNMP.
12
Execute o comando:

# snmpwalk -v2c -m +ALL -c public 127.0.0.1

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
10

Versões SNMP

O SNMPv1 SMI especifica o uso de uma série de tipos de dados do SMI-specific, que são divididos
em duas categorias: simples e aplicação vasta. Na edição SNMPv2, surgiram algumas adições e
melhorias em relação à anterior, tais como: inclusão de bit strings, endereços de rede e
contadores.
Já no SNMPv3, versão padrão desde 2004, o destaque é a segurança, a maior fraqueza do SNMP
desde o começo. Os ganhos em suas funcionalidades incluem: integridade da mensagem,
impedindo que um pacote não seja alterado em trânsito; autenticação, para checar a validade da
fonte da mensagem e criptografia de pacotes, inibindo espionagem deles por fonte não
autorizada.

SNMPv3
Para configurar o SNMPv3 nas máquinas do curso, é necessário adicionar alguns parâmetros
no arquivo de configuração do serviço SNMP.

Edite o arquivo e adicione os seguintes parâmetros


# vim /etc/snmp/snmpd.conf
13
createUser noto SHA notozabbix AES zabbixnoto
rouser noto authPriv

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
11

Saia e salve o arquivo. Depois, reinicie o serviço do SNMP


# service snmpd restart
Algumas opções de conexão através do SNMPv3:
14
 Abra um terminal via ssh e vamos testar com: autenticação e criptografia
# snmpwalk -v3 -On -u noto -l AuthPriv -a SHA1 -A notozabbix -x AES -X zabbixnoto
127.0.0.1 syscontact

 Atenção: Temos outras opções abaixo, mas antes precisamos adicionar permissões para o
usuário noto no SNMP.

Edite o arquivo e adicione os seguintes parâmetros


# vim /etc/snmp/snmpd.conf
15
rouser noto authPriv
rouser noto noAuthNoPriv

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
12

Saia e salve o arquivo. Em seguida, reinicie o serviço do SNMP


# service snmpd restart
Agora teste:
16
Sem autenticação, sem criptografia
# snmpwalk -v3 -On -u noto -l noAuthNoPriv 127.0.0.1 syscontact

Com autenticação, sem criptografia


17 # snmpwalk -v3 -l authnoPriv -u noto -a SHA -A notozabbix 127.0.0.1 syscontact

A seguir:

Aula 2 – Monitorando Linux via SNMP com Zabbix

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
13

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
14

Monitorando Linux via SNMP com Zabbix


Você aprendeu a instalar e configurar o Protocolo SNMP. Nesta parte, aprenda o monitoramento
via SNMP de servidores Linux com o software Zabbix. Vamos criar um monitoramento com os
seguintes itens:
1. Contato
2. Load Average
3. Número de Usuários
4. Total de Processos
5. Uptime
6. Rede Tráfego de Entrada e Saída
7. Espaço em Disco

 Dica:
Alguns nomes para consulta
hrProcessorLoad
hrMemory
hrSystemProcesses
hrSystemNumUsers
Memory

Vamos criar um template para Zabbix que monitore todos os itens acima. Começamos
1 consultando e descobrindo as OIDs. Primeiro, o load average

 Dica: O ideal é sempre criarmos os templates com as OIDs. Então, acrescente -On no
comando.

2 Veja:

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
15

Consultando a rede e as OIDs de tráfego:


Nome da interface de rede
# snmpwalk -v2c -On -c public 127.0.0.1 Ifname

Descrição da interface de rede


# snmpwalk -v2c -On -c public 127.0.0.1 IfDescr

3 Apelido das interfaces de rede


# snmpwalk -v2c -On -c public 127.0.0.1 IfAlias

Tráfego de saída da interface de rede


# snmpwalk -v2c -On -c public 127.0.0.1 IfOutOctets

Tráfego de entrada da interface de rede


# snmpwalk -v2c -On -c public 127.0.0.1 IfInOctets

Descobrindo as OIDs de disco:


4 # snmpwalk -v2c -c public 127.0.0.1 hrStorage

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
16

5 # snmpwalk -v2c -On -c public 127.0.0.1 hrStorage

6 # snmpwalk -v2c -On -c public 127.0.0.1 hrStorageUsed

7 # snmpwalk -v2c -On -c public 127.0.0.1 hrStorageAllocationUnits

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
17

Fizemos algumas consultas para você treinar e começar a entender o funcionamento do


8 SNMP. Veja a tabela abaixo, que detalha os itens do template para Zabbix que vamos criar.

Template SNMP Linux


CPU
Item Descrição Chave OID
Load average 1m Carga média último 1 minuto laLoadFloat.1 .1.3.6.1.4.1.2021.10.1.6.1
Load average 5m Carga média último 5 minuto laLoadFloat.2 .1.3.6.1.4.1.2021.10.1.6.2
Load average 15m Carga média último 15 minuto laLoadFloat.3 .1.3.6.1.4.1.2021.10.1.6.3
Load average % Carga média em percentual hrProcessorLoad .1.3.6.1.2.1.25.3.3.1.2.196608

SISTEMA
Número de usuários Quantidade de usuários logados hrSystemNumUsers .1.3.6.1.2.1.25.1.5.0
Número de processos Processos em execução hrSystemProcesses .1.3.6.1.2.1.25.1.6.0

Uptime Tempo reinicialização Uptime .1.3.6.1.2.1.1.3

SNMP
Disponibilidade SNMP Disponibilidade do protocolo zabbix[host,snmp,available] Zabbix interno

SNMP LLD (Regras de Descoberta)

REDE
Item Descrição Chave OID
Descoberta de rede Retorna as interfaces discovery.net discovery[{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]

Protótipo do item
Item Descrição Chave OID
Interface {#IFNAME} Tráfego de entrada Tráfego de entrada rede ifInOctets[{#IFNAME}] 1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}
Interface {#IFNAME} Tráfego de saída Tráfego de saída rede ifOutOctets[{#IFNAME}] 1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX}

DISCO
Item Descrição Chave OID
Descoberta Retorna discovery.storage discovery[{#FSNAME},1.3.6.1.2.1.25.2.3.1.3,{#FSTYPE},1.3.6.1.2.1.25.2.3.1.2,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4]
partições

Protótipo do item
Item Descrição Chave OID
{#FSNAME}: Espaço total Espaço total da vfs.fs.total[hrStorageSize,{#SNMPINDEX}] .1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}
partição
{#FSNAME}: Espaço Usado Espaço utilizado vfs.fs.total[hrStorageUsed,{#SNMPINDEX}] .1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
18

DEVICE
Item Descrição Chave OID
Descoberta Retorna device discovery.device discovery[{#DEVNAME},1.3.6.1.4.1.2021.13.15.1.1.2]

Protótipo do item
Item Descrição Chave OID
{#DEVNAME}: Carga de disco % Carga do device vfs.dev.util[diskIOLA1.{#SNMPINDEX}] 1.3.6.1.4.1.2021.13.15.1.1.9.{#SNMPINDEX}

{#DEVNAME}: Gravação de disco I/O Gravação I/O vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}] 1.3.6.1.4.1.2021.13.15.1.1.6.{#SNMPINDEX}

Criando o Template no Zabbix

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
19

 Atrele o template ao host. Espere alguns minutos e veja os itens monitorados:

Até a próxima!

nototi.com.br nototidigital.com.br
Apostila Protocolo SNMP – Definição, Instalação e Configuração
20

ENCERRAMENTO

A NOTO TI agradece a você por ter acessado esta apostila. E não deixe de
acompanhar também nossos canais nas mídias digitais. Fique à vontade para entrar
em contato, tirar dúvidas e conferir novos conteúdos que a NOTO TI disponibiliza
com frequência.

Abraço

Evandro José Zipf

nototidigital.com.br blog.nototi.com.br/ /notomonitoramento/ youtube.com/c/NotoTI

nototi.com.br nototidigital.com.br

Você também pode gostar