zabbix conference latam 2016 - jorge pretel - low level discovery for odbc and microsoft windows...

16
Low Level Discovery ODBC Microsoft Windows Services Jorge Pretel [email protected] CEO - JLCP Treinamentos e Serviços www.jlcp.com.br www.jorgepretel.com.br Zabbix Conference

Upload: zabbix

Post on 16-Apr-2017

131 views

Category:

Software


0 download

TRANSCRIPT

Low Level DiscoveryODBC

Microsoft Windows Services

Jorge Pretel

[email protected]

CEO - JLCP Treinamentos e Serviços

www.jlcp.com.br

www.jorgepretel.com.br

Zabbix Conference

Monitoramento Serviço Windows

• Zabbix 2.4

service.state[nomeserviço]

• Zabbix 3.0

service.info[nomedoserviço]

• Zabbix 3.0 - LLD Serviços WindowsChave para regra de descoberta “service.discovery”

zabbix_agentd.exe -t service.discovery - JSON

Macros{#SERVICE.NAME}

{#SERVICE.DISPLAYNAME}

{#SERVICE.DESCRIPTION}

{#SERVICE.STATE}

{#SERVICE.STATENAME}

{#SERVICE.PATH}

{#SERVICE.USER}

{#SERVICE.STARTUP}

{#SERVICE.STARTUPNAME}

• Protótipos de item: service.info[{#SERVICE.NAME},<param>] State

Displayname

Path

User

Startup

Description

• Expressões Regulares

service.discovery

Expressões Regulares

Estado dos serviços

Descrição dos Serviços

Caminho dos Serviços

Nome de Exibição

• Zabbix 3.0db.odbc.discovery

• Os Nomes das colunas de consulta foram automaticamente definidos como macros

• Item Database Monitordb.odbc.select[{#DATABASE}Tamanho,{$ODBC}]

Low Level Discovery ODBC

• Descoberta das databasedb.odbc.discovery

• Protótipo de Item

LLD - Tamanho da Database

LOG – Debug=4

• Descoberta de tamanho de todas databases;SELECT Round(Sum(data_length + index_length)) "tamanho" FROM information_schema.tables where table_schema = '{#DATABASE}' GROUP BY table_schema

Resultados

Zimbra

[zimbra]

Description = Zabbix Conference

Driver = mysql

Server = Interno ou Externo

User = zimbra

Password =

Port = 7306

Database = zimbra

• Não é necessário um ODBC para cada banco

• Garantir permissão usuário na base

• Usuário não tem permissão na base, criar outro ODBC.ini

• A consulta deve retornar apenas um valor

• Se uma consulta retorna mais de uma coluna, apenas a primeira coluna é lido

• Se uma consulta retornar mais de uma linha, apenas a primeira linha é lido

• O comando SQL deve começar com select

• O comando SQL não deve conter qualquer quebra de linha

• Opção de transformar o nome da coluna em um nome de macro de referência“COUNT(h2.host) AS count”

• Se a coluna não pode ser convertida em macro, será exibido um log no Zabbix ServerDebugLevel=4

grep db.odbc.discovery /tmp/zabbix_server.log...23876:20150114:153410.856 In db_odbc_discovery() query:'SELECT h1.host, COUNT(h2.host) FROM hosts h1 LEFT JOIN hosts h2 ON h1.hostid = h2.proxy_hostid WHERE h1.status IN (5, 6) GROUP BY h1.host;'23876:20150114:153410.860 db_odbc_discovery() column[1]:'host'23876:20150114:153410.860 db_odbc_discovery() column[2]:'COUNT(h2.host)'23876:20150114:153410.860 End of db_odbc_discovery():NOTSUPPORTED23876:20150114:153410.860 Item [Zabbix server:db.odbc.discovery[proxies,{$DSN}]] error: Cannot convert column #2 name to macro.

Limitações e Dicas

Obrigado!

Jorge Pretel

[email protected]

CEO - JLCP Treinamentos e Serviços

www.jlcp.com.br

www.jorgepretel.com.br

• Treinamentos

• Consultoria

• Suporte

• Migrações

• Integrações