image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF

FC

Filipe Cardoso06/04/2025 16:26
Compartir
Microsoft Certification Challenge #3 DP-100Recomendado para tiMicrosoft Certification Challenge #3 DP-100

SNMP em Linux embarcado

    O SNMP (Simple Network Management Protocol) é usado para monitorar, gerenciar e configurar dispositivos de rede em um ambiente conectado. Ele é amplamente adotado em redes devido à sua simplicidade e eficiência. Aqui estão suas principais funções:

    1. Monitoramento de Dispositivos: O SNMP coleta informações sobre o desempenho e o estado de dispositivos, como roteadores, switches, servidores, impressoras, etc.
    2. Configuração Remota: Permite alterar configurações de dispositivos sem a necessidade de interação direta, facilitando a gestão de redes grandes e complexas.
    3. Identificação de Problemas: O SNMP pode gerar alertas sobre falhas ou problemas de desempenho em dispositivos, ajudando na detecção e resolução proativa.
    4. Gestão Centralizada: Ele fornece uma visão consolidada de toda a infraestrutura de rede por meio de sistemas de gerenciamento, como o Nagios ou Zabbix.

    Por exemplo, com o SNMP, é possível verificar o uso de CPU de um servidor, status de interfaces de rede, níveis de temperatura, entre outros parâmetros, tudo remotamente. É uma ferramenta essencial para administradores de redes que precisam de eficiência e controle. Abaixo, apresento-lhes um guia de implementação e testes do SNMP em uma raspberry pi modelo 2B

    Guia de Implementação e Testes do SNMP em uma Raspberry Pi Modelo 2B Usando C++

    Pré-requisitos

    Antes de iniciar, certifique-se de ter o seguinte:

    • Raspberry Pi Modelo 2B com o sistema operacional Raspberry Pi OS instalado.
    • Acesso à Raspberry Pi via SSH a partir de um PC com Windows.
    • Conhecimento básico de C++ e redes.
    • Biblioteca Net-SNMP instalada na Raspberry Pi.

    Etapa 1: Instalação do Net-SNMP

    1. Atualize os pacotes existentes:
    sudo apt update && sudo apt upgrade -y
    
    1. Instale o Net-SNMP e as bibliotecas de desenvolvimento:
    sudo apt install snmp snmpd libsnmp-dev -y
    
    1. Verifique a instalação:
    snmpd --version
    

    Etapa 2: Configuração do Agente SNMP

    1. Edite o arquivo de configuração do agente SNMP:
    sudo nano /etc/snmp/snmpd.conf
    
    1. Ajuste as seguintes linhas:
    • Comente a linha abaixo:
    #agentAddress  udp:127.0.0.1:161
    
    • Adicione:
    agentAddress  udp:161,udp6:[::1]:161
    
    • Defina permissões básicas:

    Procure pela linha abaixo no arquivo e edite-a para ficar dessa forma

    rocommunity public 127.0.0.1
    

    Reinicie o serviço SNMP:

    sudo systemctl restart snmpd
    

    Etapa 3: Criando o Código em C++

    O objetivo aqui é implementar um cliente SNMP que se conectará ao agente SNMP na Raspberry Pi.

    1. Instale um compilador C++ se ainda não o tiver:
    sudo apt install g++ -y
    
    1. Crie um arquivo para o programa cliente SNMP:
    nano snmp_client.cpp
    
    1. Adicione o seguinte código:
    #include <net-snmp/net-snmp-config.h>
    #include <net-snmp/net-snmp-includes.h>
    #include <iostream>
    
    int main() {
      const char *peername = "127.0.0.1"; // IP da Raspberry Pi
      const char *community = "public";  // Comunidade SNMP
    
      // Inicialização do SNMP
      init_snmp("SNMPClient");
    
      // Configuração da sessão
      struct snmp_session session, *ss;
      snmp_sess_init(&session);
      session.peername = strdup(peername);
      session.community = (u_char *)community;
      session.community_len = strlen(community);
      session.version = SNMP_VERSION_2c;
    
      // Conectando ao agente SNMP
      ss = snmp_open(&session);
      if (!ss) {
          snmp_perror("Erro ao conectar");
          return 1;
      }
    
      std::cout << "Conexão SNMP estabelecida com sucesso!" << std::endl;
    
      // Finalização
      snmp_close(ss);
      return 0;
    }
    
    1. Compile o programa:
    g++ snmp_client.cpp -o snmp_client -lnetsnmp
    
    1. Execute o cliente SNMP:
    ./snmp_client
    

    Se o cliente conectar-se com sucesso ao agente SNMP, uma mensagem será exibida!

    Compartir
    Recomendado para ti
    Microsoft Azure Cloud Native
    XP Inc. - Cloud com Inteligência Artificial
    Microsoft AI for Tech - Azure Databricks
    Comentarios (1)
    DIO Community
    DIO Community - 07/04/2025 14:35

    Filipe, o guia sobre SNMP em Linux embarcado está muito bem estruturado! A explicação sobre o SNMP, suas funções e a forma como ele pode ser usado para monitorar e gerenciar dispositivos de rede ficou clara e objetiva. Além disso, o passo a passo detalhado de como configurar e testar o SNMP em uma Raspberry Pi Modelo 2B usando C++ é extremamente útil, especialmente para quem está começando.

    O uso da biblioteca Net-SNMP e a implementação do código em C++ para criar um cliente SNMP estão bem explicados, o que torna o processo acessível e compreensível.

    Qual parte do processo você considera mais desafiadora para quem está começando a implementar o SNMP, e como você sugere que novos desenvolvedores enfrentem esse desafio?

    Recomendado para tiMicrosoft Certification Challenge #3 DP-100