Monitoramento de Rede · 7 min read · Dec 07, 2025

Como Instalar o Sistema de Monitoramento de Rede OpenNMS Horizon no Debian 11

OpenNMS é uma plataforma de monitoramento e gerenciamento de rede gratuita, de código aberto e uma das mais poderosas, usada para monitorar dispositivos remotos a partir de um local central. Ele suporta muitas funcionalidades, incluindo Provisionamento, Monitoramento de Serviços, gerenciamento de Eventos, suporte a gráficos e mais. O OpenNMS utiliza SNMP e JMX e coleta informações de sistemas remotos. Ele roda em sistemas operacionais Linux e Windows e fornece uma interface baseada na web para fácil monitoramento.

Neste tutorial, vou mostrar como instalar o OpenNMS no Debian 11.

Pré-requisitos

  • Um servidor rodando Debian 11.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no servidor.

Instalar Java no Debian 11

O OpenNMS é uma aplicação baseada em Java. Portanto, o Java deve ser instalado no seu servidor. Se não estiver instalado, você pode instalá-lo executando o seguinte comando:

apt-get install default-jdk -y

Uma vez que o Java esteja instalado, verifique a versão do Java usando o comando abaixo:

java --version

Você obterá a versão do Java na seguinte saída:

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Instalar OpenNMS no Debian 11

Por padrão, o OpenNMS não está incluído no repositório principal do Debian 11. Portanto, você precisará adicionar o repositório oficial do OpenNMS ao APT.

Primeiro, instale todas as dependências necessárias usando o seguinte comando:

apt-get install curl gnupg2 wget -y

Uma vez que todos os pacotes estejam instalados, crie um arquivo de repositório do OpenNMS usando o comando abaixo:

nano /etc/apt/sources.list.d/opennms.list

Adicione as seguintes linhas:

deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main

Salve e feche o arquivo, então importe a chave GPG com o seguinte comando:

wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Você obterá a seguinte saída:

Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1335 (1.3K)
Saving to: ‘STDOUT’

-                                   100%[=================================================================>]   1.30K  --.-KB/s    in 0s      

2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335]

OK

Em seguida, atualize o cache do repositório e instale o OpenNMS com o seguinte comando:

apt-get update -y  
apt-get install opennms -y

Você obterá o seguinte erro durante a instalação:

Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the         
environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script.  See    
`install_iplike.sh -h` for more details.

Para resolver esse erro, você precisará criar um banco de dados e um usuário para o OpenNMS no PostgreSQL.

Criar um Banco de Dados no PostgreSQL

O servidor PostgreSQL é instalado automaticamente durante o processo de instalação do OpenNMS.

Primeiro, inicie o serviço PostgreSQL usando o seguinte comando:

systemctl start postgresql

Em seguida, conecte-se à instância do PostgreSQL usando o seguinte comando:

su - postgres

Uma vez conectado, crie um usuário para o OpenNMS e defina uma senha usando o seguinte comando:

createuser opennms  
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

Em seguida, crie um banco de dados para o OpenNMS e defina uma senha para o usuário postgres:

createdb -O opennms opennms  
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

Em seguida, saia do shell do PostgreSQL com o seguinte comando:

exit

Uma vez que você tenha terminado, pode prosseguir para a próxima etapa.

Configurar OpenNMS

Em seguida, você precisará editar o arquivo de fonte de dados do OpenNMS e definir suas credenciais de banco de dados:

nano /usr/share/opennms/etc/opennms-datasources.xml

Defina suas credenciais de banco de dados como mostrado abaixo:

  

  

Salve e feche o arquivo quando terminar, então execute o seguinte comando para detectar o ambiente Java:

sudo -u opennms /usr/share/opennms/bin/runjava -s

Você obterá a seguinte saída:

runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.

Em seguida, execute o seguinte comando para completar a configuração do OpenNMS:

sudo -u opennms /usr/share/opennms/bin/install -dis

Você obterá a seguinte saída:

Finished in 0 seconds

Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684
- Running pre-execution phase
  Creating backup of /usr/share/opennms/etc/service-configuration.xml
    Zipping /usr/share/opennms/etc/service-configuration.xml
- Running execution phase
  Current configuration: 32 services.
  A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
  Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
  Removing backup /usr/share/opennms/etc/service-configuration.xml.zip

Finished in 0 seconds

Upgrade completed successfully!

Iniciar o Serviço OpenNMS

Após configurar o OpenNMS, inicie o serviço OpenNMS e habilite-o para iniciar na reinicialização do sistema usando o seguinte comando:

systemctl start opennms  
systemctl enable opennms

Você pode verificar o status do OpenNMS usando o seguinte comando:

systemctl status opennms

Você obterá a seguinte saída:

? opennms.service - OpenNMS server
     Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago
    Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
   Main PID: 24106 (java)
      Tasks: 68 (limit: 4679)
     Memory: 559.2M
        CPU: 48.083s
     CGroup: /system.slice/opennms.service
             ??24105 bash /usr/share/opennms/bin/opennms -s start
             ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>

Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.Version 
Nov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final

Neste ponto, o OpenNMS está iniciado e escuta na porta 8980. Você pode verificar isso com o seguinte comando:

ss -antpl | grep 8980

Você obterá a seguinte saída:

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=24106,fd=1046))     

Configurar o Nginx como um Proxy Reverso para OpenNMS

Em seguida, é recomendado instalar e configurar o Nginx como um proxy reverso para o OpenNMS. Primeiro, instale o servidor Nginx com o seguinte comando:

apt-get install nginx -y

Uma vez que o Nginx esteja instalado, crie um arquivo de configuração de host virtual do Nginx:

nano /etc/nginx/conf.d/opennms.conf

Adicione a seguinte configuração:

server {
  listen 80;
  server_name opennms.example.com;
    access_log /var/log/nginx/opennms.access.log;
    error_log /var/log/nginx/opennms.error.log;

  location /

  {
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-OpenNMS-Server-URL https://nms.hacc.edu/;
    proxy_pass http://server-ip:8980;

  }
}

Salve e feche o arquivo, então verifique o Nginx para qualquer erro de sintaxe de configuração:

ginx -t

Você obterá a seguinte saída:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Em seguida, reinicie o serviço Nginx para aplicar as alterações:

systemctl restart nginx

Para verificar o status do Nginx em execução, execute o seguinte comando:

systemctl status nginx

Você deve ver a seguinte saída:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 25967 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 3.2M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??25968 nginx: worker process
             ??25969 nginx: worker process

Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Acessar o Painel do OpenNMS

Agora, abra seu navegador web e acesse a interface web do OpenNMS usando a URL http://opennms.example.com. Você deve ver a página de login do OpenNMS:

OpenNMS Horizon

Forneça o nome de usuário e a senha padrão como admin e clique no botão Login. Você deve ver o painel do OpenNMS na tela seguinte:

Horizon Dashboard

Agora, clique em admin > Alterar Senha para alterar a senha padrão do admin, conforme mostrado abaixo:

Alterar senha

Altere sua senha padrão e clique no botão Enviar. Você deve ver a seguinte tela:

Senha alterada

Conclusão

Parabéns! você instalou com sucesso o OpenNMS com o Nginx como um proxy reverso no servidor Debian 11. Agora você pode adicionar os dispositivos remotos ao OpenNMS e começar a monitorá-los a partir do navegador web. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.