Files
olt-api/doc/install.md
2026-02-18 10:18:46 -03:00

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