Closed tiago-cruz-movile closed 5 years ago
Fala Tiago, tudo bem?
Eu atualizei o código um tempo atrás. Você poderia testar novamente?
A opção 6 agora lista os hosts com agent zabbix desatualizados. É essa listagem que você tentou executar?
Grande Jassen!
Estou usando o ultimo commit de Abril, esse aqui:
commit 6a1f3e91310b1f05a5b82e42fc5adc0db976f1f0
Author: Janssen dos Reis Lima <janssenreislima@gmail.com>
Date: Fri Apr 29 14:00:13 2016 -0300
Update ZabbixTuner.py
Detalhe: Meu server roda Zabbix 3.0.3
E função que retornou falha foi essa mesmo:
[6] - Relatório de Agentes Zabbix desatualizados
Embora agora o strack trace tenha sido diferente:
[+] - Selecione uma opção[0-9]: 6
Traceback (most recent call last):
File "./ZabbixTuner.py", line 361, in <module>
main()
File "./ZabbixTuner.py", line 359, in main
menu()
File "./ZabbixTuner.py", line 53, in menu
menu_opcao()
File "./ZabbixTuner.py", line 66, in menu_opcao
agentesDesatualizados()
File "./ZabbixTuner.py", line 106, in agentesDesatualizados
})[0]["lastvalue"]
IndexError: list index out of range
Abraços!!
Na linha 106 eu coloco o ID do Zabbix Server para ele comparar com os outros hosts. É uma prática atualizarmos o servidor primeiro antes dos agentes. Por isso eu faço essa comparação. Eu simulei aqui informando um código que não existe e deu o mesmo erro. Você chegou a modificar o ID nesta linha, como no exemplo abaixo:
"hostids": "10084"
10084 é o ID do Zabbix Server. Ou talvez ele não tem a coleta do item do Zabbix Server.
Atualizei o código para tratar esse erro. Dá um ok se foi esse o problema. Pelo que eu simulei é isso.
Nossa, estranho hein?!
[+] - Selecione uma opção[0-6]: 6
Não foi possível obter a versão do agent no Zabbix Server.
Pressione ENTER para continuar
Pior que eu consigo sim pegar a versão do server
>>> zapi = ZabbixAPI(server = server, path="", log_level=0)
>>> zapi.login(username, password)
>>> versao = zapi.api_version()
>>> print "Zabbix Server version: ", versao
Zabbix Server version: 3.0.3
E olhe só, não me pergunte porque, mas meu server não é ID 10084 e sim 13738. Será que esse lance de ID fixo mudou agora no Zabbix3?
>>> versaoZabbixServer = zapi.item.get ({
... "filter": {"key_": "agent.version"},
... "output": ["lastvalue", "hostid"],
... "hostids": "13738"
... })[0]["lastvalue"]
>>> versaoZabbixServer
u'3.0.3'
Talvez seja melhor procurar por Template App Zabbix Server
e pegar o ID desse cara? :)
Abraços!!
Eu pensei aqui em colocar uma flag no conf/zabbix.py para o usuário informar o ID do Zabbix Server. Buscar pelo template vai gerar uma nova requisição. Mas vou fazer uns testes para ver se vai ser rápido.
Olá janssen, tudo bem? Estive lá na Zabbix Conf LATAM 2016.
Lembra que te falei sobre um erro? Seria esse aqui:
Abraços