quarta-feira, 10 de fevereiro de 2010

Instalando e configurando o SNMP no CentOS.

Existem muitos tutoriais sobre como instalar e configurar um agente SNMP em linux. Decidi fazer este aqui, pois queria algo bem simples e tornar fácil o aprendizado de quem está começando com Linux e SNMP.

Através de SNMP, é possível gerar alertas quando uma determinada situação ocorrer. Também é possível, alterar configurações do dispositivo.

Continuar lendo...
SNMP, acrônimo de Simple Network Management Protocol ou Protocolo Simples de Gerenciamento de Redes, é uma ferramenta poderosa para monitorar interfaces de rede. Não apenas servidores e switches gerenciáveis, mas também qualquer dispositivo ou software que o suporte.

No CentOS, você precisará instalar os seguintes pacotes:

  • net-snmp
  • net-snmp-libs
  • net-snmp-utils

Para instalá-los utilize o seguinte comando:
yum install net-snmp net-snmp-libs
Existindo alguma dependência,  responda afirmativamente para o que o serviço do SNMP possa ser instalado.

Agora vem a parte da configuração. Vamos utilizar neste exemplo a versão 1 do modelo de segurança do SNMP. Quando você entender bem o processo, recomendo que utilize autenticação.

Utilizando seu editor de textos preferido, acrescente no seu arquivo /etc/snmp/snmpd.conf o seguinte:
# criar o security name
com2sec centossec      localhost     public

# mapear o security name a um grupo
group   centosgrp      v1            centossec

# criar a visualização para o acesso do grupo
view    systemview    included   .1

# Atribuir a permissao de acesso
access  centosgrp      ""      centossec noauth    exact  systemview none none

Mais abaixo deste arquivo você irá encontrar as linhas:
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
Altere-as para algo como:
syslocation VirtualMachine Notebook LuisFK-PC
syscontact LuisFK

Estas linhas apenas identificam o host em que está configurado o serviço de SNMP. Feito isto, salve o arquivo e saia do seu editor.

Inicie o serviço com o comando:
service snmpd start
Você deverá ver a seguinte linha no seu console:
Starting snmpd:                             [  OK  ]
Agora vamos testar o snmp. Utilizando o snmpwalk para acessar a view criada para nosso host (localhost), devemos ter algo parecido com o que segue:
[root@centos snmp]#  snmpwalk -v 1 localhost -c public system
SNMPv2-MIB::sysDescr.0 = STRING: Linux centos 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:39:04 EST 2010 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4355) 0:00:43.55
SNMPv2-MIB::sysContact.0 = STRING: LuisFK
SNMPv2-MIB::sysName.0 = STRING: centos
SNMPv2-MIB::sysLocation.0 = STRING: VirtualMachine Notebook LuisFK-PC
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.6 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.8 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (3) 0:00:00.03
Isto indica que nossa configuração está correta e funcionando. Agora falta apenas mais um detalhe importante: inicializar o serviço toda vez que o Linux inicializar. Utilize a seguinte linha para fazê-lo:
chkconfig --level 345 snmpd on
Pronto. Seu SNMP está funcional. No próximo tutorial irei mostrar uma maneira bacana de visualizar estes dados, utilizando o Cacti.

Fica aí a dica.

Nenhum comentário: