Quando você se depara com um switch lotado de cabos, e vê que precisa comprar um novo, pode se perguntar se todos aqueles pontos realmente estão em uso. A idéia de desenvolver um script para identificar quais portas estão sem uso a mais de um determinado tempo surgiu para resolver esta situação.
O script percorre todos os switches de um determinado grupo do Zabbix, gerando um html para cada um, informando quais portas estão sem uso.
A interação com a base de dados é realizada através da ferramenta PyZabbix, e com os switches é feita através do protocolo SNMP.
Instalação
Em um sistema baseado em Debian:
apt-get install python-setuptools python-dev build-essential
easy_install pip
pip install --upgrade virtualenv
pip install pyzabbix
pip install pysnmp-apps
pip install pysnmp==4.3.0
yum install python-devel pysnmp-mibs
Os seguintes parâmetros estão no início do arquivo de script upTimePort.py. Configure o usuário do zabbix que irá executar o script. Certifique-se de que o usuário possui direitos para acessar o grupo de equipamentos de switches:
user = "Admin"
A senha para este usuário:
secret = "zabbix"
A URL para a Api do Zabbix:
zapi = ZabbixAPI("http://127.0.0.1/zabbix")
A comunidade SNMP para acessar os switches:
community = "public"
O ID para o grupo de hosts de switches:
switchGroupID="8"
O caminho para o script de relatório:
reportScript = "/root/scripts/upTimePort/report.py"
O diretório de saída do relatório:
outputDirectory = "/var/www/html/reports/upTimePort"
Você pode configurar por quanto tempo uma porta deve ficar sem uso para que ela seja apresentada no relatório:
#seconds * 100
target=259200000
./upTimePort.py
Este script não precisa de parâmetros.
Nenhum comentário:
Postar um comentário