
0. Introdução
Não encontrei um único artigo sobre NetXMS em Habré, embora tenha pesquisado bastante. E só por isso resolvi escrever esta criação para prestar atenção a este sistema.
Este é um tutorial, um tutorial e uma visão geral superficial dos recursos do sistema.
Este artigo contém uma análise superficial e uma descrição dos recursos do sistema. Não me aprofundei nas possibilidades por vários motivos. E uma descrição de todas as funcionalidades exigiria mais de um artigo.
Como trabalhei mais ou menos apenas com Zabbix, esse sistema específico será frequentemente mencionado no artigo para comparação com o assunto. Além disso, de alguma forma, tudo foi comparado com algo geralmente aceito.
1. O quê e por quê?
Um sistema de monitoramento, como pode ser visto na definição, é um sistema que permite obter informações atualizadas sobre qualquer nó da rede a qualquer momento, inserir as informações necessárias em uma máquina roteadora.
Por que isso é necessário é igualmente óbvio. Para estar ciente do que está acontecendo.
Muitas vezes, um sistema de monitorização pode fornecer informações muito abrangentes sobre o estado da infraestrutura como um todo e das suas partes individuais. Além disso, se você configurar alertas (e sem eles qualquer monitoramento é inútil), no final teremos uma ferramenta séria que nos permite não só responder em tempo hábil às situações de emergência que já surgiram, mas também, em na maioria dos casos, permite prevenir estes acidentes.
2. Por que NetXMS?
Um pouco off-topic para quem gosta de vários livrosQuando eu era jovem e inexperiente... É assim que todos os contos de fadas costumam começar?.. Em suma, quando eu era maximalista, estudei a questão do monitoramento de infraestrutura, e o resultado dessas “pesquisas” foi a conclusão de que não não há nada melhor que o Zabbix. E naquela época eu gostei muito dele, porque ele pode fazer muito, pode fazer muito, e sua funcionalidade pode ser ampliada com scripts escritos por ele mesmo, então podemos dizer que ele pode fazer qualquer coisa se as mãos crescerem de O lugar certo. Mas o Zabbix é uma ferramenta bastante complexa. Levei quase duas semanas para resolver isso de alguma forma. E esta é apenas a fase de implementação. Depois, mais algumas semanas para configurar o monitoramento de tudo que eu precisava naquele momento. E como usá-lo para visualizar o status das portas nos roteadores, eu li e li, fiquei com medo e decidi que realmente não precisava disso... Não, bom, é realmente assustador para uma mente despreparada logo após a faculdade. ..
E agora, alguns anos depois, tendo amadurecido e amadurecido, decidi que era hora de atualizar meus conhecimentos sobre sistemas de monitoramento. E por fim, faça um monitoramento de rede normal e estável, pois esse problema se tornou relevante devido ao crescimento de segmentos, conexão de filial e outras coisinhas. Tudo flui, tudo muda. E comecei a testar todos os tipos de ferramentas. Vou instalar este sistema e tocá-lo, depois tocarei naquele. E em todo lugar há algo faltando, em todo lugar há algo que você não gosta. Ou a interface é inconveniente, ou você será torturado para configurá-la, ou qualquer outra coisa. E então o NetXMS apareceu para mim. A propósito: enquanto demorei duas semanas para descobrir o Zabbix, com o NetXMS tudo correu bem em algumas horas. Talvez a experiência com o Zabbix tenha surtido efeito, ou talvez tenha sido o próprio NetXMS... é difícil dizer.
NetXMS acabou sendo um sistema bastante fácil de instalar e configurar. Possui versões de servidor e console de administração para Windows e Linux, plotagem, um “navegador” integrado que permite conectar-se aos mesmos roteadores usando protocolos httphttps de dentro do console de administração e uma interface intuitiva, bem como um agente para qualquer sistema operacional. Resumindo, este sistema revelou-se simples e cómodo. À primeira vista.
A documentação deles, aliás, é 8 em 10. Nele estão indicadas as principais coisas, mas para se aprofundar nas sutilezas é preciso ir mais fundo.
As principais vantagens descritas pelo desenvolvedorMonitoramento profundo de rede
Descoberta, visualização e pesquisa automática de componentes conectados nas camadas 2 e 3
Suporte completo a SNMPv3
Detecção ativa usando sondas de varredura
Descoberta passiva baseada em informações de dispositivos monitorados - ARP e tabelas de roteamento, interfaces
Monitoramento de aplicativos e servidores
Todas as métricas básicas que você espera: CPU, sistemas de arquivos, E/S, memória, tráfego
Ponte JMX para monitorar aplicativos Java
Extensões específicas de aplicativos: Oracle, MySQL, PostgreSQL, MongoDB, DB2, Tuxedo e muito mais
API de integração para aplicativos nativos
Projetado para grandes redes
Um servidor pode rastrear centenas de métricas em milhares de dispositivos
Suporte completo para monitoramento distribuído e escalabilidade horizontal
Monitorando sub-redes IP sobrepostas
Controle de acesso flexível para operadores e clientes
3. Vamos mais fundo
Como instalar o sistema - existe um todo administrador, disponível em , e não há nada de complicado nisso, então não vou me alongar sobre isso. A parte mais difícil da instalação é conectar o sistema ao banco de dados... A única diferença aqui estará na escolha do SGBD e do sistema operacional do servidor. Escolhi Windows (next-next-enter data-done) e MSSQL, pois já o tinha.
3.1. Ativar descoberta automática
A descoberta automática de hosts pode ser habilitada durante a instalação. Se isso não foi feito por algum motivo, então sempre poderá ser incluído em "Descoberta de rede de configuração" ou clicando no ícone com o mesmo nome. As propriedades de descoberta aparecem na área de trabalho. Você precisa ativá-lo, alternando-o para o modo passivo ou ativo, e designar outras propriedades, por exemplo, sub-redes pesquisadas. Você também pode configurar filtros aqui e selecionar e personalizar aqueles integrados ao sistema ou escrever seus próprios scripts. Para ser sincero, não precisei de nenhum filtro. Mas a configuração parece bastante amigável e compreensível.
Aqui você também pode especificar a comunidade SNMP padrão e suas credenciais (autorização de leitura).
3.2. Adicionando nós
Quando a descoberta automática estiver habilitada, os nós finais (PCs, impressoras) serão adicionados e distribuídos automaticamente pelas sub-redes. Com equipamentos de rede ativos, tudo fica um pouco mais complicado.
Você deve começar habilitando o SNMP no seu equipamento de rede e configurando a comunidade. Se o valor padrão para comunidade SNMP não tiver sido alterado nas propriedades de descoberta automática de nós da rede, então o sistema utiliza a comunidade pública, e esta configuração pode ser alterada para cada nó nas propriedades do nó adicionado.
Por conveniência, você pode agrupar dispositivos de acordo com qualquer princípio conveniente; para isso, você pode criar contêineres na árvore na ramificação de Serviços de Infraestrutura e vincular nós da Entrie Network a eles.
Após habilitar e configurar o SNMP nos roteadores e adicioná-los à lista de equipamentos monitorados, o próprio sistema irá contatá-los, interrogá-los, determinar que tipo de dispositivos são, aplicar templates, iniciar a coleta de dados e mostrar o painel frontal de cada roteador. Ela mesma. Da Caixa. Quando configurei o Zabbix, eu só poderia sonhar com algo assim.

Adicionei todo o meu hardware de rede manualmente, pois por algum motivo eles próprios não apareceram. Tudo é simples aqui. Criamos um contêiner em Infrastructure Services com qualquer nome conveniente (por exemplo, switches) e Nó de criação RMB, indique o nome de exibição do nó, seu endereço IP e é melhor marcar a caixa “desabilitar o uso do agente NetXMS”, pois ainda não pode ser instalado em equipamentos de rede e não há necessidade de pacotes extras.
Navegador integrado. Você pode simplesmente clicar com o botão direito no roteador desejado e abrir a interface web do dispositivo. Achei isso mais conveniente do que ter que consultar meus registros todas as vezes e procurar o IP certo. É verdade que o navegador é mais ou menos.
3.3. Construindo um mapa de rede
Primeiro de tudo, você precisa criar um mapa de rede como objeto. Como sempre - no tópico Mapa de redes RMB, criação, seleção do tipo de mapa, definição de parâmetros, e o sistema fará tudo sozinho.
Os tipos de cartão são os seguintes:
- Molduras por Medida. Trata-se de um mapa desenhado para ser formado manualmente, a pedido do usuário.
- Topologia da camada 2. Este é um cartão que permite fazer tudo automaticamente para o usuário, com base na camada 2 do modelo OSI (na verdade, ele constrói um mapa baseado nos endereços MAC dos dispositivos).
- Topologia IPé o mesmo Camada 3. O mesmo que no caso com Camada 2, apenas a placa é construída com base na camada 3 do modelo OSI (endereço IP).
Ao escolher o mapeamento manual, você precisa arrastar os nós da árvore para a camada do mapa, conectá-los, etc. Desenho normal.
Nos outros dois casos, é necessário selecionar um ponto de partida a partir do qual o sistema começará a construir um mapa. Por exemplo, um nó de algum roteador. O sistema lê dados sobre os dispositivos conectados e as portas às quais eles estão conectados, após o que lê os dados do próximo roteador, compara-os e assim por diante. Após analisar todos os dispositivos, o próprio NetXMS traçará as conexões entre os dispositivos da rede, indicando as portas onde tudo está conectado. Você também pode especificar que o sistema coloque dispositivos finais (impressoras, PCs, servidores) na placa, simplesmente clicando no item correspondente nas propriedades da placa (RMB - propriedades - propriedades do cartão). Também neste ponto você pode definir o “raio de detecção” se desejar ou necessário.
Uma pequena recomendação. Habilite a propriedade Sempre ajustar layout à tela para que cada vez que você atualizar o mapa de rede você não precise rolar a área de trabalho e aplicar zoom.

Com uma topologia de rede distribuída, você pode sobrepor objetos em um mapa da área. Você também pode usar como plano de fundo, por exemplo, a foto de um rack com equipamentos em uma sala de servidores, sobrepondo sobre ela os objetos necessários. Desta forma você pode determinar rapidamente o status de qualquer dispositivo no rack. Na minha opinião, isto é extremamente útil se for necessário transferir assuntos para um sucessor ou um colega recém-chegado para explicar a situação. Visual, conveniente, evidente.
3.4. Agentes
Existem agentes para Windows e Linux. O princípio de funcionamento é o mesmo dos agentes do mesmo Zabbix: eles são instalados na máquina da qual serão obtidas as métricas e transmitem os dados para o servidor de monitoramento. O agente pode ser instalado antes e depois de adicionar um nó ao sistema. Após o agente aparecer no nó, após algum tempo o sistema começará a receber dados dele, utilizando um template padrão. Você pode adicionar parâmetros monitorados para um nó ou anexando um ou mais modelos predefinidos a ele. Naturalmente é recomendável trabalhar com templates, pois esta configuração é mais flexível.
A lista de parâmetros monitorados pelos agentes é bastante extensa. A lista completa pode ser encontrada em
Assim que o sistema determinar que um agente está operando em um nó, ele anexará imediatamente esse nó a um dos modelos padrão - Windows, Linux, HP-UX, UNIX genérico, AIX, dependendo do sistema operacional do nó.
Modelo padrão para hosts Windows:

Você pode adicionar um parâmetro para rastrear um nó específico clicando em “Parâmetro de coleta de dados PKM", Avançar "RMB na área de trabalho - Novo parâmetro“, e selecione o que você precisa na lista. Você também pode configurar gatilhos para o parâmetro monitorado.
É importante que agentes, como os do Zabbix, possam executar scripts personalizados.
Como instalar?Isso é offtopic, porque todo mundo... hmmm... como quiser.
A questão aqui é: os agentes deveriam ser distribuídos apenas para servidores ou, geralmente, para todas as máquinas da rede? Se houver poucos servidores, a maneira mais fácil é fazer isso manualmente. Se houver muitos - políticas de domínio, KIX, PoSh. Qualquer coisa. Os agentes possuem a chave /SILENT, que lhes permite “injetá-la” de forma transparente ao usuário (se estivermos falando em espalhar para todas as máquinas da rede). Prefiro scripts, pois você pode definir uma condição e criar um sinalizador, ao contrário das políticas que instalarão um programa toda vez que você ligar o PC. Portanto, estamos escrevendo um script da série “verifique a presença de um arquivo de sinalização, caso contrário, execute o instalador com a chave /SILENT e após a instalação bem-sucedida, crie um arquivo de sinalização”. Lucro.
3.5. Gatilhos
Os gatilhos podem ser configurados para responder a eventos específicos nos dados que estão sendo coletados. Por exemplo, exceder um determinado valor de pingue-pongue para o roteador. Você também pode configurar o método de notificação para cada gatilho (para alguns, um ícone no console é suficiente, enquanto outros enviam notificações imediatamente sempre que possível). A reação ao evento é selecionada dentre aquelas pré-configuradas em Action Configuration.
Para criar um gatilho: insira a Configuração de Coleta de Dados de um nó ou template, clique duas vezes no parâmetro de interesse (se não, então você precisa criá-lo primeiro), e nas propriedades vá até a aba Limites, clique no botão adicionar.

«função"—quais ou quais valores tomar para calcular a condição. Pode assumir os seguintes valores (o número de valores utilizados para verificação está indicado no campo Amostras):
— Último valor pesquisado: último(s) valor(es) recebido(s)
— Valor médio: valor médio do último
— Desvio médio: desvio médio
— Diferença com valor anterior: diferença com o valor anterior
— Erro de coleta de dados: erro no recebimento de dados
— Soma dos valores: soma dos valores
— Script: valor obtido como resultado de um script do usuário
«Divisão de"—condição para acionamento. Pode assumir valores (o valor é indicado no campo Valor correspondente):
- <: menos que: menos que
- <=: menor ou igual a: menor ou igual
- == igual a: equivalente
— >=: maior ou igual a: maior ou igual
— >: ótimo que: mais que
- !=: diferente de: não equivalente
- como: perto de
- não gosto: não perto de
Em relação aos dois últimos parâmetros, não tenho certeza de como funcionam. Portanto, nem vou adivinhar quais limites estão embutidos neles.
Resumindo, tudo é igual ao Zabbix, mas você não precisa inserir fórmulas à mão, com medo de errar ou se enganar. Para restaurar o trigger (evento de desativação), o próprio sistema irá substituir o valor. (No Zabbix você tem que digitar novamente e não digitar errado).
3.6. Modelos
Modelo de criação RMB, insira o nome do modelo. Configuração de coleta de dados PKM.
Um pouco de teoriaA informação recolhida pode provir de diversas fontes. Poderia ser Agente NetXMSrodando em uma máquina pode ser "pedido simples" ou "Interno", enviado pelo próprio servidor (por exemplo, o mesmo ping), "SNMP«,«ponto de verificação SNMP«,«Empurrar«,«Contadores de desempenho do Windows«,«SM-CLP"ou personalizado"escrita". Para cada tipo de informação, você pode selecionar o tipo que o sistema esperará no recebimento. Por exemplo, o ping retornará um valor inteiro (inteiro), a quantidade de espaço livre em disco em bytes também será inteira, mas a mesma temperatura não será mais um número inteiro, ou seja, real).
Para coletar informações via SNMP, o NetXMS possui uma lista enorme de parâmetros pré-definidos, ou seja, você não pode inserir um OID específico, mas encontrá-lo na árvore MIB, o que na verdade é bastante problemático... Mas. Como resultado, você precisa se aprofundar na documentação do fabricante e procurar os valores IOD para cada dispositivo separadamente. Você pode perder muito tempo configurando a leitura de informações dos dispositivos, esbarrando em uma mensagem do sistema "NÃO SUPORTADO", mas no final acontece que este dispositivo específico simplesmente não sabe como fornecer as informações solicitadas. Resta fumar manuais e ter esperança.
Por exemplo, para coletar informações sobre o tempo de resposta do nó (ping), é necessário adicionar um novo parâmetro (Novo parâmetro PKM), no campo Origem selecione Interno, pressione o botão Selecionar e selecione Tempo de Ping. Existe uma busca, algo que eu só sonhava no Zabbix. Também faz sentido alterar o período de pesquisa do nó (o padrão é 60 segundos, ou seja, se o roteador parar de responder imediatamente após ser pesquisado pelo sistema de monitoramento, quase um minuto inteiro se passará antes que o sistema perceba que algo está errado com sim, soará o alarme).
Lista de dados internos que podem ser processados:

Depois que todas as configurações necessárias forem adicionadas ao modelo, você precisa clicar Aplicar PKM e selecione todos os nós aos quais este modelo precisa ser aplicado (Ctrl+LMB). Isso é tudo. Depois disso, um galho aparecerá na árvore abaixo do modelo, abrindo o qual você poderá ver todos os nós aos quais este modelo está aplicado.
Ao desvincular um nó de um template, os dados coletados não param de ser coletados. Para cancelar sua coleta é necessário ir até a Configuração de Coleta de Dados de cada nó e deletar tudo manualmente, ou primeiro deletar os parâmetros do template e somente em seguida, exclua nós dele. Não sei por que foi feito assim, mas, na minha opinião, é uma coisa extremamente estranha. Mas... é assim que é.
Em um modelo, você pode selecionar os dados desejados para coletar e copiá-los para outro modelo. Massivamente. E você não precisa copiar e colar de um modelo para outro manualmente... Já estou começando a odiar o Zabbix.
3.7. Painéis
Curiosamente, o NetXMS Wiki sobre este assunto contém apenas um link para o youtube: , não há sequer uma lista ou descrição de elementos que podem ser adicionados ao Dashboard. Em princípio, tudo é igualmente intuitivo lá. O rótulo - é só... bem... Rótulo... nem sei como traduzir. Em suma, um campo com inscrição serve para designar e diferenciar elementos, uma vez que os próprios elementos não contêm nomes. Gráfico de Linhas - Este é um gráfico de linha. Gráfico de Barras é um diagrama. Visualizador de alarme — lista de avisos para o(s) nó(s) selecionado(s). Em uma palavra, os nomes falam por si.
Em seguida, você precisa abrir as propriedades do painel e configurar as visualizações. Estamos interessados na guia Elementos do painel. Número de colunas é o número de colunas, elementos que serão localizados horizontalmente. Cada objeto tem suas próprias propriedades, e eu recomendaria desmarcar o item de espaço vertical executivo Layout-Grab para minimizar o tamanho de cada elemento.

3.8. Configuração de ação
(Configuração-Configuração de Ações)
Essencialmente, estas são ações em resposta a gatilhos.

NetXMS pode enviar e-mail, sms, mensagem xmpp em resposta a um gatilho. Tudo é trivial aqui - basta preencher os campos obrigatórios.
Você também pode:
— Transfira o alerta para outro servidor NetXMS
— Execute o comando no servidor de administração NetXMS
— Execute o comando no nó usando o agente NetXMS
— Execute o script NXSL (NSXL é o seu )
Após criar uma ação, você pode configurar o tempo de atraso de sua execução, bem como aplicar uma macro para execução. O tempo de atraso é necessário para não incomodar o operador caso o problema se resolva (por exemplo, o tempo de resposta a uma solicitação de ping foi maior que o valor especificado, mas na próxima verificação pode voltar ao normal, então por que se preocupar sobre essas ninharias?) .
3.9. Diferenciação de direitos de acesso
Para cada objeto você pode configurar seus próprios direitos de acesso. Para cada objeto dentro de outro objeto, você também pode configurar direitos de acesso. Isto permite uma distribuição muito flexível de responsabilidades e capacidades de monitorização para diferentes grupos de utilizadores. Isso é tudo que eu queria dizer.
4. Conclusão
Gostaria de refutar o título do meu próprio artigo. NetXMS não é para preguiçosos. Só que os desenvolvedores não focaram na funcionalidade, como alguns, mas, entre outras coisas, também cuidaram da interface.
Vamos fazer assim. Usei Zabbix e NetXMS. Por esta razão, vou simplesmente escrever os meus sentimentos sobre estes dois sistemas.
Assim.
NetXMS me parece um sistema extremamente fácil de usar. Bem... para o administrador... sim, para o administrador. Ele tem o que chamamos de interface intuitiva e é muito legal. Você não precisa escrever suas próprias fórmulas, leia um monte de documentação que acompanha para permitir a verificação de pings antes da troca ou alguma outra coisa simples. Mas. No Zabbix, essa coisa tão simples não difere muito de algo realmente difícil, ou seja, se você dominar, poderá fazer todo o resto da mesma maneira. NetXMS possui dicas; a maioria dos parâmetros podem ser encontrados na interface, selecionados com o mouse e configurados. No Zabbix você precisa descobrir se o sistema pode fazer isso e aquilo e, em caso afirmativo, como está escrito e quais parâmetros ele retorna. Zabbix ganha na comunidade e toneladas de templates para todas as ocasiões... se você encontrar o que precisa nessa montanha de lixo... Por outro lado, NetXMS também tem muitos fãs e complementos que eles criaram para este sistema. E o próprio sistema pode monitorar os aplicativos mais populares prontos para uso, conforme indicado na página principal do projeto.
A principal vantagem do NetXMS em relação ao Zabbix para mim foi a capacidade de executar um script em um nó problemático em resposta a um gatilho. Se a temperatura da CPU subir acima do limite, o próprio host será desligado. E então descobriremos qual é o problema. Talvez o Zabbix também tenha tal coisa, mas eu não consegui. O mesmo vale para monitorar portas em roteadores. E aqui vai... Bem, na verdade... Você precisa dominar a linguagem de script, e isso é tudo...
Os direitos de acesso no NetXMS permitem diferenciar com muita flexibilidade as capacidades dos diferentes usuários do sistema. Mas para configurar tudo isso você precisa realmente mexer.
Em geral, os sistemas são bastante semelhantes e as suas capacidades, à primeira vista, parecem pelo menos comparáveis. Embora pareça que o Zabbix pode fazer mais, esses recursos estão escondidos nos bastidores e são inatingíveis para um mero administrador mortal. NetXMS parece simples e claro, amigável e agradável.
Zabbix possui excelente documentação, wiki, instruções, FAQ, melhores práticas, bem como vários fóruns, etc., onde você pode encontrar respostas para quase todas as perguntas. E se houver alguma coisa, pergunte a sua.
Para resumir, gostaria de recomendar o NetXMS para pessoas que estão apenas começando ou para aquelas que não precisam se aprofundar no monitoramento de tudo. Tenho certeza de que se você olhar mais a fundo, poderá fazer algumas observações muito, muito sutis.
Mesmo assim, a principal vantagem que vejo é a interface muito bonita e a facilidade de configuração.
5. Materiais utilizados
canal do Youtube
Fonte: habr.com
