Zabbix
Dicas e Truques
Apresentação
Quem Sou
Danilo Barros de Medeiros
• Zabbix specialist e professional
• Consultor Sênior em Zabbix na Provtel Soluções
• Membro ativo da comunidade Zabbix Brasil
Agenda
• MACROS
• PRÉ-PROCESSAMENTO
• ITENS DEPENDENTES
• LOW LEVEL DISCOVERY
Macros: {$USER_MACROS}
Nome de variáveis ​​para armazenar informações diferentes;
• Trigger thresholds
• Filtros Diferentes
• Credencias
• etc….
MACRO GLOBAL
{$NUM_PROC} = 300
MACRO TEMPLATE
{$NUM_PROC} = 200
MACRO HOST
{$NUM_PROC} = 100
NÍVEIS DE MACROS
Macros
{$THRESHOLDS_EM_TEMPLATES}
Servidores diferentes podem ter diferentes valores de limiar para itens como carga
da CPU, tamanho da memória livre, número de processos e etc...
{Template OS Linux: system.cpu.load[percpu,avg1].avg(5m)}>5
{Template OS Linux: vm.memory.size[available].last(0)}<20M
{Template OS Linux: proc.num[].avg(5m)}>300
Macros
{$THRESHOLDS_EM_TEMPLATES}
MACRO TEMPLATE
{$NUM_PROC}
= 200
MACRO HOST
{$NUM_PROC} = 250
{$NUM_PROC} = 500
Standard Host
Load Host
{Template OS: system.cpu.load[percpu,avg1].avg(5m)}>{$CPU_LOAD}
{Template OS: vm.memory.size[available].last(0)}<{$MEMORY_FREE}
{Template OS: proc.num[].avg(5m)}>{$PROC_NUM}
Macros
{$TCP/PORT_EM_TEMPLATES}
Servidores diferentes possuem números de porta diferentes para portas tcp/udp
como ssh, http, https etc.
{Template OS Linux: net.tcp.service[ssh,22]
{Template OS Linux : net.tcp.service[http,80]
{Template OS Linux : net.tcp.service[https,443]
{Template OS: net.tcp.service[ssh,{$SSH_PORT}]
{Template OS: net.tcp.service[http,{$HTTP_PORT}]
{Template OS: net.tcp.service[https,{$HTTPS_PORT}]
Macros
{$MACRO_CONTEXT}
Diferentes pontos de montagem terão tamanhos diferentes, portanto, diferentes
limiares de aviso de espaço em disco.
• /boot small size 100M
• / medium size 10G
• /data large size 1TB
• C: small size 100G
• D: large size 2TB
MACRO TEMPLATE MACRO HOST
{$LOW_SPACE} = 1G
{$LOW_SPACE:”/boot”} = 10M
{$LOW_SPACE:“/”} = 500M
{$LOW_SPACE} = 1G
{$LOW_SPACE:”/boot”} = 10M
{$LOW_SPACE:“data”} = 100G
Macros
{$SERVICES_Expression_REGULAR}
Diferentes servidores têm diferentes serviços, que precisam ser monitorados
• SERVIDOR 1 DHCP client, Windows defender
• SERVIDOR 2 DHCP client, Windows defender, MS Exchange
• SERVIDOR 3 DHCP client, RDP Service, RPC
Apenas as expressões regulares do @Global não podem ser usadas porque pode
haver muitas combinações.
Macros
{$SERVICES_Expression_REGULAR}
MACRO TEMPLATE
{$SERVICES} = none
MACRO HOST
{$SERVICES} = (EXCHANGE) @SERVICES
EXPRESSÃO REGULAR
GLOBAL
@SERVICES = (DNS Client|DHCP Client)
@SERVICES
OR
OR{$SERVICES} = (TOMCAT|WSUS)
{PREPROCESSING}
O pré-processamento do valor do item permite definir e executar regras de
transformação para os valores do item recebido
DATA GATHERING
DATA PREPROCESSING
ZABBIX DATABASE
{PREPROCESSING}
Convert Bytes to Bits
Convert Bits to Bytes
Convert milliseconds to seconds
Convert bits to bytes using multiplier 8
Convert bytes to bits using multiplier 0.125
{DEPENDENT_ITEMS}
• Memória Linux, relatório de espaço livre ou qualquer outro relatório que
contenha dados numéricos
• Com itens padrão, precisaremos fazer 9 Cheques para reunir todos os dados
• Isso resulta em tráfego de rede adicional e uso da CPU no host
{DEPENDENT_ITEMS}
COLETA DADOS
System.run[free]Regular text item
freeused shared buffer avaliabletotal
ZABBIX DATABASE
Itens dependentes
{LOW_LEVEL_DISCOVERY}
O processo de LLD fornece uma forma automática de criar itens, triggers, gráficos
para os diferentes objetos descobertos no dispositivo monitorado.
Server 1 Port 8888
Server 2 Port 8080
Server 3 Port 9200
{LOW_LEVEL_DISCOVERY}
Contatos
Danilo Barros de Medeiros
E-mail: danilo@provtel.com.br
Telefone: 81 971001810
Facebook: Danilo B Medeiros
Telegram: Danilo Barros
https://t.me/ZabbixBrasil

1º Meetup Zabbix Meetup do Recife: Danilo Barros - Zabbix dicas e truques para um melhor gerenciamento

  • 1.
  • 2.
    Apresentação Quem Sou Danilo Barrosde Medeiros • Zabbix specialist e professional • Consultor Sênior em Zabbix na Provtel Soluções • Membro ativo da comunidade Zabbix Brasil
  • 3.
    Agenda • MACROS • PRÉ-PROCESSAMENTO •ITENS DEPENDENTES • LOW LEVEL DISCOVERY
  • 4.
    Macros: {$USER_MACROS} Nome devariáveis ​​para armazenar informações diferentes; • Trigger thresholds • Filtros Diferentes • Credencias • etc…. MACRO GLOBAL {$NUM_PROC} = 300 MACRO TEMPLATE {$NUM_PROC} = 200 MACRO HOST {$NUM_PROC} = 100 NÍVEIS DE MACROS
  • 5.
    Macros {$THRESHOLDS_EM_TEMPLATES} Servidores diferentes podemter diferentes valores de limiar para itens como carga da CPU, tamanho da memória livre, número de processos e etc... {Template OS Linux: system.cpu.load[percpu,avg1].avg(5m)}>5 {Template OS Linux: vm.memory.size[available].last(0)}<20M {Template OS Linux: proc.num[].avg(5m)}>300
  • 6.
    Macros {$THRESHOLDS_EM_TEMPLATES} MACRO TEMPLATE {$NUM_PROC} = 200 MACROHOST {$NUM_PROC} = 250 {$NUM_PROC} = 500 Standard Host Load Host {Template OS: system.cpu.load[percpu,avg1].avg(5m)}>{$CPU_LOAD} {Template OS: vm.memory.size[available].last(0)}<{$MEMORY_FREE} {Template OS: proc.num[].avg(5m)}>{$PROC_NUM}
  • 7.
    Macros {$TCP/PORT_EM_TEMPLATES} Servidores diferentes possuemnúmeros de porta diferentes para portas tcp/udp como ssh, http, https etc. {Template OS Linux: net.tcp.service[ssh,22] {Template OS Linux : net.tcp.service[http,80] {Template OS Linux : net.tcp.service[https,443] {Template OS: net.tcp.service[ssh,{$SSH_PORT}] {Template OS: net.tcp.service[http,{$HTTP_PORT}] {Template OS: net.tcp.service[https,{$HTTPS_PORT}]
  • 8.
    Macros {$MACRO_CONTEXT} Diferentes pontos demontagem terão tamanhos diferentes, portanto, diferentes limiares de aviso de espaço em disco. • /boot small size 100M • / medium size 10G • /data large size 1TB • C: small size 100G • D: large size 2TB MACRO TEMPLATE MACRO HOST {$LOW_SPACE} = 1G {$LOW_SPACE:”/boot”} = 10M {$LOW_SPACE:“/”} = 500M {$LOW_SPACE} = 1G {$LOW_SPACE:”/boot”} = 10M {$LOW_SPACE:“data”} = 100G
  • 9.
    Macros {$SERVICES_Expression_REGULAR} Diferentes servidores têmdiferentes serviços, que precisam ser monitorados • SERVIDOR 1 DHCP client, Windows defender • SERVIDOR 2 DHCP client, Windows defender, MS Exchange • SERVIDOR 3 DHCP client, RDP Service, RPC Apenas as expressões regulares do @Global não podem ser usadas porque pode haver muitas combinações.
  • 10.
    Macros {$SERVICES_Expression_REGULAR} MACRO TEMPLATE {$SERVICES} =none MACRO HOST {$SERVICES} = (EXCHANGE) @SERVICES EXPRESSÃO REGULAR GLOBAL @SERVICES = (DNS Client|DHCP Client) @SERVICES OR OR{$SERVICES} = (TOMCAT|WSUS)
  • 11.
    {PREPROCESSING} O pré-processamento dovalor do item permite definir e executar regras de transformação para os valores do item recebido DATA GATHERING DATA PREPROCESSING ZABBIX DATABASE
  • 12.
    {PREPROCESSING} Convert Bytes toBits Convert Bits to Bytes Convert milliseconds to seconds Convert bits to bytes using multiplier 8 Convert bytes to bits using multiplier 0.125
  • 13.
    {DEPENDENT_ITEMS} • Memória Linux,relatório de espaço livre ou qualquer outro relatório que contenha dados numéricos • Com itens padrão, precisaremos fazer 9 Cheques para reunir todos os dados • Isso resulta em tráfego de rede adicional e uso da CPU no host
  • 14.
    {DEPENDENT_ITEMS} COLETA DADOS System.run[free]Regular textitem freeused shared buffer avaliabletotal ZABBIX DATABASE Itens dependentes
  • 15.
    {LOW_LEVEL_DISCOVERY} O processo deLLD fornece uma forma automática de criar itens, triggers, gráficos para os diferentes objetos descobertos no dispositivo monitorado. Server 1 Port 8888 Server 2 Port 8080 Server 3 Port 9200
  • 16.
  • 17.
    Contatos Danilo Barros deMedeiros E-mail: danilo@provtel.com.br Telefone: 81 971001810 Facebook: Danilo B Medeiros Telegram: Danilo Barros https://t.me/ZabbixBrasil