Um panorama técnico do Zabbix

Uma visão geral e rápida sobre os recursos do Zabbix

Transcrição

O Zabbix é uma ferramenta de open source de nível empresarial, que foi nomeada ao Gartner Customers' Choice por dois anos seguidos. Temos certeza que este vídeo lhe ajudará a entender melhor nossa solução de monitoramento e obter uma visão geral de seus principais recursos e funcionalidades. Apresentaremos a você a interface do usuário e os conceitos básicos de monitoramento com o Zabbix. Esperamos que você goste desta breve visão geral. Bem-vindos ao monitoramento com o Zabbix!

Dashboards

O ponto central de monitoramento no Zabbix é o seu dashboards. Nele é possível exibir diferentes dados, problemas, mapas, e diversas views. Dashboards são baseados em These can display different data, problems, maps, and many different views. Dashboards are based on widgets. Estes widgets podem ser altamente customizáveis e filtrados para que exibam apenas os dados necessários e da melhor forma para você. Um exemplo de dashboard pode ser para sua equipe de rede, onde podemos ter uma visão geral sobre dispositivos de rede, mapas de rede e outras coisas relacionadas a nossa infraestrutura de rede. Um dashboard completamente diferente pode ser para nossos gerentes, onde podemos ver nossos data centers regionais e seu status: se temos um problema ou não. Destes mapas, nossa equipe de gestão poderia, por exemplo, executar algum tipo de script para verificar a disponibilidade de um data center específico ou abrir um submapa, uma visão mais aprofundada de um data center específico. Nesse caso, todos os dispositivos estão bem ou temos alguns problemas? E se sim, qual dispositivo está com estes problemas?

Problemas

Sempre que uma métrica recebida corresponde à nossa expressão de problema, também conhecida como trigger, criamos um problema no Zabbix. Isso pode ser visto em diversas views, por exemplo, na seção dos problemas ou também em nossos dashboards. Podemos criar diversos widgets em dashboards que podem exibir problemas em diversas views, filtrá-las, e etc. Assim que identificamos o problema, podemos dissecá-lo de forma específica e olhar a descrição geral e todas as informações relacionadas a ele: quando foi criado, qual foi o último valor recebido relacionado, quem identificou o problema, ou talvez o tenha fechado manualmente antes. Além disso, também temos uma visão geral do histórico de problemas relacionados a uma expressão de trigger específica.

Cenários Web

Com o Zabbix você pode, de forma nativa, monitorar seu website através da criação de cenários web. Os cenários web são baseados em etapas, tais como realizar um login, checar se ocorreu tudo bem, analisar o código de Resposta recebido ou procurar um string em um site e, então, realizar o logout. Para cada uma dessas etapas, o Zabbix coletará automaticamente algumas métricas: velocidade, tempo de resposta, código de resposta e, também, se a etapa foi realizada de forma bem-sucedida. Então, depois que as métricas foram coletadas, o Zabbix também irá automaticamente criar gráficos para cada etapa do cenário da web e de uma forma geral também. Isso permite analisar a performance do seu site em um intervalo de tempo maior, conferir os problemas criados para estas etapas e tentar resolvê-los.

Gráficos

Uma vez coletados seus dados, você pode visualizá-los utilizando os Gráficos do Zabbix. Esses gráficos são altamente interativos e podem ser inseridos, por exemplo, nos seus dashboards. Você pode passar o mouse sobre eles para visualizar quais dados específicos foram coletados em algum momento específico ou você também pode especificar o período de tempo, utilizando a ferramenta de escolha de tempo. Nela, é possível selecionar um dos períodos de tempo pré-definidos — 'Última semana', 'Último mês'. Use a Ferramenta de calendário para selecionar a data especificada ou utilize os campos "De" ou "Para", para especificar o período de tempo, para o qual exibir dados manualmente.

Mapas

Se você deseja visualizar melhor os seus dados, suas triggers ou seus hosts, você pode usar o recurso de Mapas do Zabbix para alcançar isso. Você pode colocar este mapa em algum tipo de dashboard central disponível para seus administradores de rede. Você também pode vincular outros mapas a outro já existente, criando uma hierarquia de mapas. Assim, você pode navegar por esses elementos clicando neles no próprio mapa ou utilizando o widget de árvore de navegação para navegar pela seleção dos mapas disponíveis e navegar através deles. Elementos de mapa também podem modificar seus ícones, dependendo do estado em que estão. Por exemplo, um host que não tem problemas apresentará uma marcação verde ao seu lado. Enquanto um host que possui alguns problemas terá uma cruz vermelha indicando que existem alguns problemas no host. As seleções dos ícones é completamente feita por você. Você pode fazer o upload de seus ícones personalizados e popular seus mapas com eles.

Ações

Coletar os dados é apenas o primeiro passo. Também temos que decidir como vamos reagir a isso. No Zabbix, você pode reagir aos seus problemas, seus hosts recém-descobertos ou registrados automaticamente, e também criar ações internas, que irá notificá-lo quando algum item, por exemplo, pare de funcionar por algum motivo. As ações são baseadas em condições. Então, é uma lógica e/ou que você pode definir. Você pode definir múltiplas condições e decidir reagir, por exemplo, apenas à problemas vindos de um grupo de host específico ou de uma trigger específica baseado em seu nome de trigger. Depois de definir essas condições, precisamos definir o que vamos fazer. E fazemos isso por meio de operações. Você pode enviar uma mensagem por e-mail ou algum tipo de integração, ou você também pode executar comandos remotos, por exemplo, reinicie o host se houver um problema com o mesmo. Você também pode decidir se vamos realizar o ciclo dessas mensagens ou se vamos atrasar as operações. E se ao invés de reagir imediatamente, nós quisermos reagir 30 minutos ou 1 hora depois que o problema foi criado, porque pode ser que tenha uma tendência a se resolver sozinho. Podemos especificar uma mensagem personalizada para cada uma de nossas operações ou podemos usar as mensagens predefinidas para qualquer uma das integrações específicas que definimos em nossa instância Zabbix.

Agente

Com o Zabbix, você também tem a opção de configurar um agente leve em seus endpoints de monitoramento. Este agente é capaz de reunir métricas a nível de sistema operacional, monitorar arquivos de log ou executar scripts personalizados, e reunir sua saída como uma métrica. A configuração do agente é muito simples. Você pode instalar o mesmo como um pacote em seu host tipo Unix ou também temos um instalador MSI para suas máquinas Windows. A comunicação entre o agente e o servidor também pode seguir dois caminhos. Você pode pesquisar o agente, o servidor pesquisa o agente passivamente, ou o agente pode enviar armadilhas para o servidor, e o servidor pode então processar eles. A partir da versão 5.0, agora você tem a seleção entre o Agente C e o Agente-Go. O Agente-Go permite que você monitore muitos novos sistemas nativamente assim que instalado — por exemplo, MySQL ou Docker. Você também pode desenvolver seus próprios plugins personalizados para o Agente-Go para permitir o monitoramento de sistemas de terceiros que você desejar.

SNMP

O monitoramento SNMP também é completo e suportado nativamente pelo Zabbix assim que instalado. Oferecemos templates SNMP para a maioria fornecedores populares de software e hardware que existem. Se você deseja criar um item SNMP personalizado, apenas crie um novo item e aponte-o para o OID personalizado, e uma métrica será obtida a partir dele. Você também pode automatizar o processo um pouco usando o recurso de Descoberta de Baixo-Nível Basta criar uma nova regra de descoberta e apontar para um OID, em que todos os índices serão obtidos. Esses índices irão então preencher nossos protótipos de itens. Um novo item será criado por índice automatizando assim o monitoramento SNMP.

IOT

O Zabbix oferece suporte total ao monitoramento IoT assim que instalado. Para isso, oferecemos-lhe duas chaves modbus.get para dispositivos Modbus IoT e mqtt.get para dispositivos MQTT. Para habilitar isso, tudo que você precisa fazer é definir o Agente Zabbix e criar um novo item que contenha as suas propriedades do endpoint IoT dentro da chave.

Scripts

Se você está procurando uma forma mais avançada de reunir métricas, oferecemos para você o tipo de item de script. O tipo de item de script é baseado em um script JavaScript que você pode escrever para monitorar qualquer tipo de endpoints. O resultado do script será armazenado como uma métrica. Isso pode ser usado para habilitar monitoramento sintético. Por exemplo, você pode usar o JavaScript para obter um token de API, execute um login com o token, e execute algum tipo de chamada de API. O resultado da chamada será armazenado como uma métrica.

Java

Se você deseja monitorar sua aplicação Java, o Zabbix também pode fazer isso assim que instalado, usamos JMX ou a tecnologia Java Management Extensions para se conectar à sua aplicação Java e obter uma lista de seus MBeans e atributos MBean por meio de seu endpoint JMX, que você pode especificar. Também temos alguns templates java genéricosassim que instalado, que você pode aplicar em sua aplicação customizável.

Ipmi

Para dispositivos IPMI mais avançados, o Zabbix também pode se conectar à sua interface IPMI e monitorar os diferentes valores fornecidos por diferentes sensores em seu dispositivo. Você pode criar para eles manualmente - basta fornecer o nome do sensor ou você pode automatizar o processo usando as regras de descoberta do sensor IPMI. Eles são fornecidos em templates assim que o Zabbix for instalado. A regra de descoberta irá descobrir uma lista de seus sensores e com base no protótipo de item, irá criar um novo item para cada sensor.

Outras verificações: ODBC, ssh, WMI

Além de usar as verificações de agente nativas do Zabbix, SNMP, IPMI e interfaces Java, também podemos usar uma variedade de outros métodos para coletar nossos dados. Por exemplo, podemos usar verificações ODBC para conectar ao seu banco de dados, execute uma consulta nele e reunir a saída da consulta como uma métrica. Ou podemos usar um SSH e Telnet para se conectar a um host remoto, execute um comando nele e reúna o resultado do comando como uma métrica. Em máquinas Windows, podemos, por exemplo, monitorar os contadores de desempenho do Windows ou usar WMI para monitorar nossos hosts Windows.

VMware

Quando se trata de automação, o Zabbix é nativamente capaz de automaticamente descobrir seu ambiente VMware. Podemos descobrir convidados VM, hipervisores, clusters e armazenamentos de dados nativamente. Com base no tipo de host que foi criado vamos aplicar o template correspondente que tem uma lista de contadores de desempenho que iremos reunir de seu ambiente VMware. Você está sempre livre para modificar qualquer um desses templates para desativar ou ativar uma descoberta de elementos específicos ou você pode sempre adicionar seus contadores de desempenho personalizados, dependendo de sua versão do vCenter.

Descoberta de baixo nível

Vamos imaginar uma situação em que temos vários hosts semelhantes que usam os mesmos templates, mas cada um deles não são necessariamente idênticos uns aos outros. Digamos que esses servidores tenham diferentes sistemas de arquivos. Então, como resolveríamos esse problema? Podemos criar itens indivíduos, para cada sistema de arquivo do host, mas isso é muito trabalho manual. Digamos que em vez de três hosts, tenhamos 300 hosts. Então, precisamos encontrar uma maneira de automatizar isso. E uma maneira nativa de automatizar isso é usar a descoberta de baixo nível. Descoberta de baixo nível pode usar qualquer tipo de verificação: Verificação do agente, SNMP, ODBC, Java ou qualquer outra coisa que o Zabbix suporte para descobrir automaticamente suas entidades. E então, com base no acionador do item e protótipos de gráfico, criar itens, triggers, e gráficos com base nos resultados da descoberta automatizando assim a criação destas entidades no Zabbix.

Trend Triggers

Você pode definir nativamente os seus limites de problemas baseados em intervalos de tempo absolutos significando horas, dias, semanas, meses ou mesmo anos. Isso é habilitado pelo fato de que Zabbix coleta dados de tendência por hora, ou seja, a cada hora que coletamos o valor médio mínimo e máximo para cada de sua métrica coletada e também a contagem de valores coletados para a métrica. Com isso, você pode, por exemplo, criar uma trigger que irá notificá-lo, se a média de carregamento atual para sua aplicação nesse mês é maior que 10 por cento ao compará-lo com o último carregamento mês passado.

Funções de usuário

Na seção Funções do usuário, você tem a capacidade de definir novas Funções de usuário personalizadas. Por exemplo, você pode crie uma função para seu administrador de rede, seus administradores de aplicativos e sua equipe NOC. As funções são baseadas no tipo de usuário – tanto usuário, administrador, ou super administrador. Com base neste tipo, suas funções serão restritas a um subconjunto de elementos específicos da interface do usuário, que você pode restringir ainda mais ou permitir. Por exemplo, a equipe NOC pode ter acesso apenas para a seção Dashboards e Mapas da IU. Além disso, você pode também restringir suas funções para ter acesso para apenas métodos de API específicos usando uma lista de permissão ou uma lista de negação. Além disso, você também pode restringir a execução de ações específicas por função. Por exemplo, sua equipe NOC não tem a capacidade de executar scripts ou modificar a gravidade do problema.

Autenticação

Se você deseja estender a funcionalidade de autenticação do Zabbix nativo, você pode fazê-lo de múltiplas formas. Um deles é o LDAP. Basta apontar o seu servidor Zabbix para sua instância LDAP, seja AD ou OpenLDAP, e você OK para continuar. Você também pode delegar autenticação para o back-end do seu servidor web. Ou desde a versão 5.0, você pode usar SAML. Você pode configurá-lo nativamente a partir de da interface do usuário do Zabbix de uma forma centralizada.

Cofre externo

Zabbix oferece opções de segurança robustas para suas credenciais de usuário, Comunidades SNMP e outros dados sensíveis. Se desejar, você pode armazenar os dados no cofre externo. Além disso, a comunicação com o banco de dados de backend Zabbix também pode ser estabelecido através deste cofre, onde todas as credenciais estarão armazenadas.

Proxy

Imagine uma situação, onde você tem muitos data centers diferentes por todo o mundo. Cada um desses data centers tem dezenas de milhares de hosts neles. Cada um dos hosts tem um agente ou talvez esteja sendo pesquisado por SNMP, e precisamos coletar os dados de todos eles. Então, já estou vendo alguns problemas aqui. Primeiramente - latência da rede, o que afetará nosso monitoramento de desempenho. E também o que acontece se alguma parte da rede está fora do ar e o host não está acessível? Além disso, se estamos falando sobre votação, sobre verificações passivas, nossa equipe de segurança precisará permitir todos essas conexões através do firewall. Bem, como podemos melhorar isso? Existe uma forma nativa, é chamado de proxies Zabbix. Você pode criar tantos proxies Zabbix quanto você precisar em todo o mundo. Digamos que você tenha uma proxy nos EUA, na Ásia e na Europa, onde seus data centers estão localizados.

Tipo de mídia

A versão 5.0 adicionou muitas novas integrações já instaladas. Essas integrações são implementadas usando o novo tipo de mídia Webhook. Agora você tem integrações com sistemas, como o Slack, Jira, Telegram, e muitos outros. Essas integrações sob cortinas são baseadas na aprovação do dados de macro integrados a um JavaScript personalizado, que fornecemos para você. Mas se você desejar, você sempre pode ajustá-lo, modificá-lo e torná-lo adequado ao seu ambiente.

Templates

Como você já deve ter notado, Zabbix oferece uma grande variedade de templates diferentes para sistemas diferentes, diferentes distribuidores de software, e templates que utilizam diferentes abordagens de monitoramento, como agente ou SNMP. Se isso não for suficiente para você, você sempre pode navegar para nosso Zabbix Share — portal da comunidade para compartilhamento de todas as coisas no Zabbix: templates, integrações, qualquer outra coisa que venha à sua mente. Você pode baixar estes e importá-los em seu próprio ambiente. Ou, se desejar, pode contribuir – fazer o upload de seus próprios templates para a comunidade de compartilhamento do Zabbix.