Add production installer and observability tooling

This commit is contained in:
2026-05-07 12:11:15 -03:00
parent a19ac9f00c
commit 5d92a6c99a
30 changed files with 3493 additions and 1015 deletions
+186
View File
@@ -0,0 +1,186 @@
# Instalacao no Debian 13
Este guia cobre a instalacao da stack completa em uma maquina dedicada com:
- `V-Fire Monitor`
- `PostgreSQL`
- `Zabbix Server + frontend`
- `Grafana`
## Visao geral
O instalador provisiona:
- app em `/opt/vfire-monitor`
- dados persistentes em `/var/lib/vfire-monitor`
- logs do app em `/var/log/vfire-monitor/app.log`
- servico `systemd` do V-Fire Monitor
- template do Zabbix importado automaticamente
- host monitorado do Zabbix criado automaticamente
- datasource do Grafana apontando para o Zabbix
- dashboard inicial do Grafana provisionado
Portas padrao:
- `V-Fire Monitor`: `8088`
- `Zabbix frontend`: `8080`
- `Grafana`: `3000`
## Requisitos
- Debian 13 (`trixie`)
- acesso `root`
- internet para baixar pacotes
- portas livres para os servicos
- chave `VFM_LICENSE_MASTER_KEY` se a instalacao for de producao
## Arquivos do instalador
- [installer/install_debian13.sh](/mnt/c/Users/Syllas/Documents/V-Fire-Monitor/installer/install_debian13.sh)
- [installer/vfire-stack.env.example](/mnt/c/Users/Syllas/Documents/V-Fire-Monitor/installer/vfire-stack.env.example)
## Passo 1: preparar configuracao
Copie o arquivo de exemplo:
```bash
cp installer/vfire-stack.env.example installer/vfire-stack.env
```
Edite `installer/vfire-stack.env`.
Campos minimos que voce deve revisar:
- `PUBLIC_HOSTNAME`
- `VFM_DEFAULT_PASSWORD`
- `VFM_LICENSE_MASTER_KEY`
- `ZABBIX_DB_PASSWORD`
- `ZABBIX_ADMIN_PASSWORD`
- `GRAFANA_ADMIN_PASSWORD`
Se voce quiser testar sem chave mestre, pode usar:
```env
ALLOW_LEGACY_LICENSE_KEY=1
```
Isso e aceitavel para laboratorio. Para producao, use `VFM_LICENSE_MASTER_KEY`.
## Passo 2: validar em dry-run
Antes de instalar de verdade:
```bash
chmod +x installer/install_debian13.sh
./installer/install_debian13.sh --dry-run ./installer/vfire-stack.env
```
Esse modo mostra as principais acoes sem executar a instalacao real.
## Passo 3: executar a instalacao
Como `root`:
```bash
./installer/install_debian13.sh ./installer/vfire-stack.env
```
## Passo 4: validar os servicos
Verifique:
```bash
systemctl status vfire-monitor
systemctl status zabbix-server
systemctl status grafana-server
systemctl status nginx
```
Healthchecks HTTP:
```bash
curl http://127.0.0.1:8088/healthz
curl -I http://127.0.0.1:8080/
curl -I http://127.0.0.1:3000/login
```
## Passo 5: acessar os paineis
Substitua `SEU_HOST` pelo hostname ou IP do servidor.
V-Fire Monitor:
```text
http://SEU_HOST:8088
```
Zabbix:
```text
http://SEU_HOST:8080
```
Grafana:
```text
http://SEU_HOST:3000
```
## Credenciais
O instalador grava um resumo em:
```text
/root/vfire-stack-summary.txt
```
Esse arquivo inclui:
- URL do V-Fire Monitor
- senha inicial do painel
- senha do Admin do Zabbix
- senha do admin do Grafana
- credenciais do banco do Zabbix
- nome do template do Zabbix
- nome do host do Zabbix
## Estrutura final
Arquivos principais apos instalar:
- codigo: `/opt/vfire-monitor`
- dados: `/var/lib/vfire-monitor`
- ambiente: `/etc/default/vfire-monitor`
- servico: `/etc/systemd/system/vfire-monitor.service`
## Operacoes comuns
Reiniciar o app:
```bash
systemctl restart vfire-monitor
```
Ver log do app:
```bash
tail -f /var/log/vfire-monitor/app.log
```
Reiniciar Zabbix:
```bash
systemctl restart zabbix-server nginx
```
Reiniciar Grafana:
```bash
systemctl restart grafana-server
```
## Observacoes
- o instalador foi desenhado para Debian 13
- o app roda com Waitress, nao com o servidor de desenvolvimento do Flask
- o frontend do app usa assets locais, sem depender de CDN