
0. Introdução
Não encontrei nenhum artigo sobre o NetXMS no Habr, embora realmente tenha pesquisado. E somente por esse motivo, decidi escrever essa criação para prestar atenção nesse sistema.
Este é um tutorial, instruções 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. Profundamente na oportunidade, eu não procurei por uma série de razões. E a descrição de toda a funcionalidade levaria muito mais que um artigo.
Como mais ou menos eu trabalhei apenas com o Zabbix - no artigo, esse sistema será frequentemente mencionado para comparação com o assunto. Além disso, aconteceu de alguma forma que tudo é comparado com algo geralmente reconhecido.
1. O que e por quê?
O sistema de monitoramento, como pode ser visto na definição, é um sistema que permite obter informações atualizadas sobre qualquer nó da rede \ máquina \ roteador \ a qualquer momento para inserir as informações necessárias.
Por que isso é necessário é igualmente óbvio. Para acompanhar o que está acontecendo.
Freqüentemente, um sistema de monitoramento pode fornecer informações muito abrangentes sobre o estado da infraestrutura como um todo e de suas partes individuais. Além disso, se você configurar alertas (e sem nenhum monitoramento, é inútil), obteremos uma ferramenta séria que permite não apenas responder em tempo hábil a situações de emergência que já ocorreram, mas também, na maioria dos casos, possibilitar a prevenção desses acidentes.
2. Por que NetXMS?
Um pouco offtopic para quem gosta de multi-bookQuando eu era jovem e inexperiente ... Então, geralmente todos os contos de fadas começam? Em uma palavra, quando eu era minimalista, estudei a questão da infraestrutura de monitoramento, e o resultado desses "estudos" foi a conclusão de que não há nada melhor que o Zabbix. E naquele momento eu realmente gostei dele, porque ele pode fazer muito, ele pode fazer muito, e sua funcionalidade pode ser expandida com scripts auto-escritos, para que possamos dizer que ele pode fazer qualquer coisa se suas mãos crescerem do lugar certo. Mas o Zabbix é uma ferramenta bastante complicada. Levei quase duas semanas para descobrir de alguma forma. E este é apenas o estágio de implementação. Depois, mais algumas semanas para configurar o monitoramento de tudo o que eu precisava naquele momento. E como usá-lo para examinar o estado das portas nos roteadores que li, li, assustei e decidi que realmente não precisava ... Não, bem, é realmente assustador para uma mente despreparada logo após a faculdade ...
Depois de alguns anos, amadurecendo e amadurecendo, decidi que era hora de atualizar meus conhecimentos sobre sistemas de monitoramento. E, finalmente, faça um monitoramento de rede estável e normal, pois esse problema se tornou urgente em conexão com o crescimento de segmentos, a conexão da filial e outros detalhes. Tudo flui, tudo muda. E comecei a testar todos os tipos de ferramentas. Vou ligar esse sistema, tocar nele e depois em um. E em todo lugar algo está faltando, em todo lugar algo não é como. A interface é inconveniente, então você é atormentado pelo ajuste e depois por outra coisa. E então o NetXMS apareceu para mim. A propósito: onde trabalhei com o Zabbix por duas semanas, com o NetXMS tudo correu e passou em algumas horas. Talvez a experiência com o Zabbix tenha sido afetada, ou talvez o ponto esteja no próprio NetXMS ... é difícil dizer.
O NetXMS acabou sendo muito fácil de instalar e configurar. Possui versões do servidor e console de administração para Windows e Linux, gráficos, um “navegador” integrado que permite conectar-se aos mesmos roteadores através de protocolos http \ https de dentro do console de administração, e a interface é intuitiva e também um agente para qualquer sistema operacional. Em uma palavra, esse sistema acabou sendo simples e conveniente. À primeira vista.
A documentação que eles têm, a propósito, é de 8 em 10. As principais coisas estão indicadas, mas para entender as sutilezas, você precisa ir mais fundo.
As principais vantagens indicadas pelo desenvolvedorMonitoramento profundo da rede
Detecte, visualize e pesquise automaticamente componentes conectados nos níveis 2 e 3
Suporte SNMPv3 completo
Detecção ativa com “sondas” de digitalização
Descoberta passiva com base 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: processador, 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 muitos outros
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 dimensionamento horizontal
Monitorando sub-redes IP sobrepostas
Controle de acesso flexível para operadores e clientes
3. Nós vamos fundo
Como instalar o sistema - existe um
manual de administração completo disponível no
site do desenvolvedor e não há nada de complicado nisso, então não vou parar por aí. A coisa mais difícil de instalar é conectar o sistema ao banco de dados ... Haverá apenas uma diferença na escolha do DBMS e do SO do servidor. Eu escolhi o Windows (pronto para inserir dados) e o MSSQL, já que eu já o tinha.
3.1 Ativar detecção automática
A descoberta automática de hosts pode ser ativada durante a instalação. Se isso não foi feito por algum motivo, ele sempre pode ser incluído na
"Configuração da descoberta de rede" ou clicando no ícone com o mesmo nome. As propriedades de descoberta aparecem na área de trabalho. É necessário ativá-lo alternando para o modo passivo ou ativo e especificar outras propriedades, por exemplo, as sub-redes pesquisadas. Aqui, você pode encerrar os filtros, selecionar e configurar os sistemas internos e escrever seus próprios scripts. Honestamente, eu não precisava de filtros. Mas a configuração parece bastante amigável e clara.
Também aqui você 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 ativada, os nós finais (PCs, impressoras) serão adicionados e distribuídos pelas sub-redes automaticamente. Com redes ativas, as coisas são um pouco mais complicadas.
Você deve começar ativando o SNMP no seu equipamento de rede e configurando a comunidade. Se o valor padrão da comunidade SNMP não tiver sido alterado nas propriedades de descoberta automática dos nós da rede, o sistema utilizará a comunidade pública e essa configuração poderá ser alterada para cada nó nas propriedades do nó adicionado (nó).
Por conveniência, você pode agrupar dispositivos de acordo com qualquer princípio conveniente; para isso, é possível criar contêineres na ramificação Serviços de infraestrutura na árvore e vincular nós da Rede Entrie a eles.
Após ativar e configurar o SNMP nos roteadores e adicioná-los à lista de equipamentos monitorados, o sistema os contatará, interrogará, determinará quais dispositivos eles são, aplicará modelos, começará a coletar dados e mostrar o painel frontal de cada roteador. Próprio. Fora da caixa. Quando configurei o Zabbix, eu só podia sonhar com isso.

Eu adicionei todas as minhas glândulas de rede manualmente, pois elas mesmas não apareceram por algum motivo. Tudo é simples aqui. Criamos um contêiner nos Serviços de infraestrutura com qualquer nome conveniente (por exemplo, comutadores) e
RMB-create-node , especificamos o nome exibido do nó, seu endereço IP e é melhor marcar a caixa "desativar o uso do agente NetXMS", pois ainda é impossível instalá-lo no equipamentos de rede e pacotes extras para qualquer coisa.
Navegador embutido. Você pode simplesmente clicar com o botão direito do mouse no roteador desejado e abrir a interface da web do dispositivo. Pareceu-me mais conveniente do que nunca entrar em suas anotações e procurar o IP desejado. É 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 um objeto. Como de costume, na ramificação
Networks Map do
RMB, crie, selecione um tipo de mapa, defina parâmetros e o sistema fará tudo mais.
Os tipos de cartões são os seguintes:
- Custom Este é um cartão projetado para formação manual, a pedido do usuário.
- Topologia da camada 2 . Este é um mapa que permite que você faça tudo automaticamente para o usuário, contando com o segundo nível do modelo OSI (na verdade, ele cria um mapa com base nos endereços mac dos dispositivos).
- Topologia de IP , também conhecida como Camada 3 . O mesmo que no caso da Camada 2 , apenas o mapa é construído com base no terceiro nível do modelo OSI (endereços IP).
Ao escolher o mapeamento manual, você precisa arrastar os nós da árvore para a camada do mapa, conectá-los etc. Desenho normal.
Em outros dois casos, você precisa escolher um ponto de referência a partir do qual o sistema começará a construir um mapa. Por exemplo, um nó de um roteador. O sistema lê dados sobre os dispositivos conectados e as portas às quais estão conectados, após o que lê dados do próximo roteador, compara e assim por diante. Após analisar todos os dispositivos, o próprio NetXMS fará as conexões entre os dispositivos de rede, indicando as portas em que está conectado. Também é possível especificar que o sistema também deve colocar os dispositivos finais (impressoras, PCs, servidores) na placa, simplesmente tocando no item correspondente nas propriedades da placa (
RMB - propriedades - propriedades da placa ). Também neste parágrafo, você pode definir o "raio de detecção", se desejado ou necessário.
Uma pequena recomendação. Ative a propriedade Sempre ajustar layuot à tela para que, toda vez que você atualize o mapa da rede, não precise rolar pela área de trabalho e trabalhar com o zoom.

Com uma topologia de rede distribuída, você pode sobrepor objetos em um mapa da área. Também é possível usar, por exemplo, uma foto de um rack com equipamento na sala do servidor, por exemplo, sobrepondo os objetos necessários. Assim, você pode determinar rapidamente o status de qualquer dispositivo no rack. Na minha opinião, isso é extremamente útil, se necessário, para transferir assuntos a um sucessor ou a um colega recém-chegado para explicar a situação. Visualmente, convenientemente, auto-evidentemente.
3.4 Agentes
Existem agentes para Windows e Linux. O princípio de operação é o mesmo dos agentes do mesmo Zabbix: ele é instalado na máquina da qual é necessário obter métricas e transfere os dados para o servidor de monitoramento. Um agente pode ser instalado antes de adicionar um nó ao sistema e depois. Depois que o agente aparecer no nó, o sistema começará a receber dados depois de um tempo, usando o modelo padrão. Você pode adicionar parâmetros monitorados para um nó e anexando um ou vários modelos predefinidos a ele. É recomendável, é claro, trabalhar com modelos, pois essa configuração é mais flexível.
A lista de parâmetros monitorados para agentes é bastante extensa. Veja a lista completa no
NetXMS WikiAssim que o sistema determinar que o agente está funcionando no nó, ele será anexado imediatamente 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 do Windows:

Você pode adicionar um parâmetro para rastrear um nó específico clicando em "
RMB-Data Collection Parameter ", depois em "
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 aqui.
É importante que agentes, como o Zabbix, possam executar scripts do usuário.
Como instalar?Isso é offtopic, já que todo mundo ... hummm ... como ele quer.
Aqui está a pergunta: os agentes precisam ser distribuídos apenas para servidores ou mesmo para todas as máquinas da rede? Se houver servidores, e houver alguns deles, a maneira mais fácil é manualmente. Se muitas políticas de domínio, KIX, PoSh. Qualquer coisa. Os agentes possuem a opção / SILENT, que permite que eles sejam "implementados" de forma transparente para o usuário (se estivermos falando sobre distribuí-los a todas as máquinas da rede). Eu prefiro scripts, porque você pode definir uma condição e criar um determinado sinalizador, em contraste com as políticas que colocarão o programa toda vez que você ligar o PC. Portanto, estamos escrevendo um script da série “verifique a presença do arquivo de flag, caso contrário, execute o instalador com a opção / SILENT e após a instalação bem-sucedida, crie o arquivo de flag”. Lucro
3.5 Triggers
Os gatilhos podem ser configurados para responder a determinados eventos nos dados que estão sendo coletados. Por exemplo, exceder um certo valor de ping-pong no roteador. O método de notificação para cada acionador também é configurado (para alguns, o ícone no console é suficiente e alguns enviam alertas imediatamente sempre que possível). A resposta ao evento é selecionada a partir da pré-configuração na Configuração da ação.
Para criar um gatilho:
insira a Configuração da coleta de dados do nó ou modelo, clique duas vezes no parâmetro de interesse (caso contrário, você deve primeiro criá-lo) e vá para a guia Limites nas propriedades, clique no botão Adicionar.
"
Função " - quais ou quais valores tomar para calcular a condição. Pode usar os seguintes valores (o número de valores usados para verificação é indicado no campo Amostras):
- Último valor da pesquisa: último valor da pesquisa
- Valor médio: valor médio do último
- Desvio médio: desvio médio
- Diff com valor anterior: diferença com valor anterior
- Erro na coleta de dados: erro ao receber dados
- Soma dos valores: soma dos valores
- Script: valor obtido como resultado do script do usuário
"
Operação " - condição de disparo do gatilho. Pode aceitar valores (o valor é indicado no campo Valor correspondente):
- <: menor que: menor que
- <=: menor ou igual a: menor ou igual
- == igual a: equivalente
-> =: maior que ou igual a: maior que ou igual
->: great than: mais de
-! =: Diferente de: não equivalente
- como: próximo a
- não gosto: não é perto de
À custa dos dois últimos parâmetros, não tenho confiança em como eles funcionam. Portanto, nem vou assumir quais limites são construídos neles.
Em uma palavra, tudo é como no mesmo Zabbix, mas você não precisa inserir as fórmulas com as mãos, com medo de cometer erros ou de se repreender. Para restaurar um gatilho (evento de desativação), o próprio sistema substituirá um valor. (No Zabbix, novamente, você precisa imprimir e não ser lacrado).
3.6 Padrões
RMB - crie um modelo, insira um nome para o modelo. Configuração de coleta de dados RMB.Pouco de teoriaAs informações coletadas podem vir de várias fontes. Pode ser um agente NetXMS em execução na máquina, pode ser uma " solicitação simples " ou " Interna " enviada pelo próprio servidor (por exemplo, o mesmo ping), " SNMP ", " ponto de verificação SNMP ", " Push ", " Windows Performance Counters " , " SM-CLP " ou um " script " personalizado. Para cada tipo de informação, você pode escolher o tipo que o sistema esperará após o recebimento. Por exemplo, ping retornará um número inteiro, a quantidade de espaço livre em disco em bytes também será um número inteiro, mas a mesma temperatura não será mais um número inteiro, ou seja, real).
Para coletar informações através do SNMP no NetXMS, existe uma lista enorme de parâmetros predefinidos, ou seja, você não pode inserir um OID específico, mas encontrá-lo na árvore MIB, o que é bastante problemático de fato ... Mas. Como resultado, você precisa se aprofundar na documentação do fabricante e procurar valores de IOD para cada dispositivo separadamente. Você pode gastar muito tempo configurando informações de leitura de dispositivos colidindo com uma mensagem do sistema NÃO SUPORTADO , mas, no final, acontece que esse dispositivo específico simplesmente não pode fornecer as informações solicitadas. Resta apenas fumar manuais e esperança .
Por exemplo, para coletar informações sobre o tempo de resposta do nó (ping), é necessário adicionar um novo parâmetro (
RMB-new parameter ), selecione Internal no campo Origin, pressione o botão Select e selecione Ping Time. Há uma pesquisa lá que eu apenas sonhei no Zabbix. Também faz sentido alterar o período de pesquisa do nó (por padrão, são 60 segundos, ou seja, se o roteador parar de responder imediatamente após ser interrogado pelo sistema de monitoramento, levará quase um minuto antes que o sistema perceba que há algo errado com ele) e soará o alarme).
Lista de dados internos que podem ser processados:

Após todas as configurações necessárias terem sido adicionadas ao modelo, clique
em Aplicar RMB e selecione todos os nós aos quais esse modelo precisa ser aplicado (
ctrl + LMB ). E isso é tudo. Depois disso, um ramo aparecerá na árvore sob o modelo, abrindo o qual você poderá ver todos os nós aos quais esse modelo é aplicado.
Ao desanexar nós do modelo, os dados coletados não param de ser coletados; para cancelar sua coleta, é necessário acessar a Configuração da Coleta de Dados para cada nó e excluir tudo manualmente ou remover primeiro os parâmetros do modelo e remover os nós dele. Não sei por que foi feito dessa maneira, mas, na minha opinião, isso é uma coisa extremamente estranha. Mas ... como é.
No modelo, você pode selecionar os dados desejados a serem coletados e copiá-los para outro modelo. Maciçamente. E não copie e cole de um modelo para outro com as mãos ...
Eu já estou começando a odiar o Zabbix ..3.7 Dashboards
Curiosamente, mas o NetXMS Wiki sobre este assunto contém apenas um link para o youtube:
Criando um painel , não há sequer uma lista e descrição de elementos que podem ser adicionados ao painel. Basicamente, tudo é tão intuitivo lá.
Rótulo é apenas ... bem ... Rótulo é ... nem sei como traduzi-lo. Em uma palavra, um campo com uma inscrição é usado para denotar e delimitar elementos, uma vez que os elementos dos próprios nomes não contêm.
Gráfico de linhas é um gráfico de linhas.
Gráfico de barras é um gráfico.
Visualizador de alarmes - Uma lista de alertas para o (s) nó (s) selecionado (s). Em suma, os nomes falam por si.
Em seguida, abra as propriedades do painel e configure 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 a opção de espaço vertical exagerado Layout-Grab para minimizar o tamanho de cada elemento.

3.8 Configuração de ação
(Configuração-Configuração de ações)Em essência, essas são ações em resposta aos gatilhos.

O NetXMS pode enviar mensagens de email, sms e xmpp em resposta a um gatilho. Tudo é trivial aqui - basta preencher os campos obrigatórios.
Você também pode:
- Enviar notificação 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 é sua
linguagem de programação de script NetXMS )
Após criar uma ação, você pode configurar o tempo de atraso da execução e aplicar a macro a ser executada. O tempo de atraso é necessário para não incomodar o operador, caso o problema seja resolvido por si só (por exemplo, o tempo de resposta à solicitação de ping foi maior que o valor especificado, mas durante a próxima verificação ela pode voltar ao normal, então por que se preocupar com essas insignificâncias?) .3.9 Diferenciação de direitos de acesso
Para cada objeto, você pode configurar seus direitos de acesso. Para cada objeto dentro de outro objeto, você também pode configurar direitos de acesso. Isso permite uma distribuição muito flexível de responsabilidades e recursos de monitoramento para diferentes grupos de usuários. Isso é tudo que eu queria dizer.4. Conclusão
Eu gostaria de refutar o título do meu próprio artigo. O NetXMS não é para os preguiçosos. Só que os desenvolvedores não se concentraram na funcionalidade, como alguns, mas, além de todo o resto, eles também cuidaram da interface.Vamos fazer isso. Eu usei o Zabbix e o NetXMS. Para isso, vou escrever meus sentimentos a partir desses dois sistemas.Então
Eu vejo o NetXMS como um sistema extremamente fácil de usar. Bem ... para o administrador ... sim, para o administrador. Ela tem o que é chamado de interface intuitiva, e isso é ótimo. Não há necessidade de escrever suas próprias fórmulas, leia várias documentações de suporte para ativar a verificação de ping antes do switch ou qualquer outra coisa simples. Mas
No Zabbix, essa coisa mais simples não é muito diferente de algo realmente complicado, ou seja, se você a domina, fará o resto. O NetXMS tem dicas: a maioria dos parâmetros pode ser encontrada na interface, selecione com o mouse e configure. No Zabbix, você precisa descobrir se o sistema pode fazer exatamente isso e isso e, em caso afirmativo, como está escrito e quais parâmetros ele retorna. O Zabbix vence na comunidade e inúmeros modelos para todas as ocasiões ... se você puder encontrar o que precisa nesta montanha de lixo ... Por outro lado, o NetXMS também possui muitos fãs e as adições que eles criaram para este sistema. E o próprio sistema pronto para o uso pode monitorar os aplicativos mais populares, conforme descrito na página principal do projeto.A principal vantagem do NetXMS contra o Zabbix para mim foi a capacidade de executar um script em um nó problemático em resposta a um gatilho. A temperatura da CPU subiu acima do limite - ela própria extinguirá o host. E então entenderemos - qual é o problema. Talvez no Zabbix uma coisa dessas também esteja lá, mas não consegui. Bem como monitoramento de porta em roteadores. E aqui está ... Bem, como está ... É necessário dominar a linguagem de script, e isso é tudo ... Osdireitos de acesso no NetXMS permitem uma diferenciação muito flexível dos recursos de vários usuários do sistema. Mas, para configurar tudo, você precisa mexer diretamente.Em geral, os sistemas são bastante semelhantes e suas capacidades, à primeira vista, parecem pelo menos comparáveis. Embora pareça que o Zabbix possa fazer mais, esses recursos estão bem escondidos e, para o mero administrador mortal, o multifuncional é inatingível. O NetXMS parece simples e claro, amigável e agradável.O Zabbix possui excelente documentação, wiki, instruções, FAQ, melhores práticas, além de vários fóruns etc., onde você pode encontrar respostas para quase todas as perguntas. E se isso - defina o seu próprio.Em resumo, eu gostaria de recomendar o NetXMS para pessoas que estão começando ou para aquelas que não precisam se aprofundar no monitoramento de tudo e de tudo. Estou certo de que, se você lidar com isso mais adiante, poderá concluir observações muito, muito sutis.Mas ainda assim, a principal vantagem que vejo é uma interface muito agradável e facilidade de configuração.5. Materiais usados
canal do youtube Tomas KirnakNetXMS WikiPesquisa no Google