2.2 KiB
2.2 KiB
Guia de Instalação: API Zabbix OLT
Este documento descreve os passos para instalação e configuração da API em ambiente Linux.
Pré-requisitos
- Sistema Operacional Linux (Debian/Ubuntu/CentOS)
- Python 3.9 ou superior
- Git
Passos de Instalação
1. Clonar o Repositório
O diretório padrão de instalação será /opt/zbx-ipv0.
sudo mkdir -p /opt/zbx-ipv0
sudo chown $USER:$USER /opt/zbx-ipv0
git clone https://git.ipv0.com.br/halbebruno/zabbix-api /opt/zbx-ipv0
cd /opt/zbx-ipv0
2. Configurar Ambiente Virtual (venv)
É recomendado usar um ambiente virtual para isolar as dependências.
python3 -m venv venv
source venv/bin/activate
3. Instalar Dependências
pip install -r requirements.txt
# Para produção, instale também o Gunicorn
pip install gunicorn
4. Configuração
4.1 Inventário de Hosts
Crie ou edite o arquivo hosts.json na raiz do projeto com as credenciais das OLTs.
{
"10.186.203.14": {
"username": "admin",
"password": "senha_segura",
"driver": "nokia",
"port": 22,
"ssh_options": {
"disabled_algorithms": {
"pubkeys": ["rsa-sha2-256", "rsa-sha2-512"]
}
}
}
}
4.2 Variáveis de Ambiente (Opcional)
Você pode sobrescrever configurações padrão via variáveis de ambiente ou editando config.py.
5. Execução como Serviço (Systemd)
Para garantir que a API inicie automaticamente e rode em background, crie um serviço systemd.
Crie o arquivo /etc/systemd/system/zabbix-api.service:
[Unit]
Description=Zabbix OLT API
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/opt/zbx-ipv0
Environment="PATH=/opt/zbx-ipv0/venv/bin"
ExecStart=/opt/zbx-ipv0/venv/bin/gunicorn --workers 4 --bind 0.0.0.0:5000 app:app
Restart=always
[Install]
WantedBy=multi-user.target
Ative e inicie o serviço:
sudo systemctl daemon-reload
sudo systemctl enable zabbix-api
sudo systemctl start zabbix-api
sudo systemctl status zabbix-api
Teste
Verifique se a API está rodando:
curl http://127.0.0.1:5000/api/v1/pon_stats?host=SEU_IP_DA_OLT