zabbix conference latam 2016 - jorge pretel - low level discovery for odbc and microsoft windows...
TRANSCRIPT
Low Level DiscoveryODBC
Microsoft Windows Services
Jorge Pretel
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
• 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 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
CEO - JLCP Treinamentos e Serviços
www.jlcp.com.br
www.jorgepretel.com.br
• Treinamentos
• Consultoria
• Suporte
• Migrações
• Integrações