# Zabbix: Templates para o Bacula/Bareos

#  1. Introdução

<span style="font-weight: 400;">Zabbix é uma solução de código aberto para monitoramento de dispositivos e aplicações, sendo capaz de monitorar parâmetros utilizando agentes em diversas plataformas de sistemas operacionais, além de protocolos como SNMP, IPMI, JMX, entre outros.</span>

O Bareos, assim como o Bacula, é uma solução permite a realização de trabalhos de backup e restauração de dados. São suportadas máquinas clientes Linux e Windows.

<span style="font-weight: 400;">Este documento destina-se a demonstração dos procedimentos de instalação e configuração básica da solução de backup Bareos. Tal solução permite a realização de trabalhos de backup e restauração de dados. São suportadas máquinas clientes Linux e Windows.</span>

## <span style="font-weight: 400;">2. Ferramentas utilizadas</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Este template foi homologado com os sistemas operacionais listados:</span></span>

- <span style="font-weight: 400;">Centos 6</span>
- <span style="font-weight: 400;">Centos 7</span>
- <span style="font-weight: 400;">Debian Linux 7</span>
- <span style="font-weight: 400;">Debian Linux 8</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Versões do Bacula Agent testadas:</span></span>

- <span style="font-weight: 400;">Agente do bacula, versão 5.x</span>
- <span style="font-weight: 400;">Agente do bacula, versão 7.x</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Versões do Agente do Zabbix testadas:</span></span>

- <span style="font-weight: 400;">Zabbix Agent 2.4.x</span>
- <span style="font-weight: 400;">Zabbix Agent 3.2.x</span>
- <span style="font-weight: 400;">Zabbix Agent 3.4.x</span>

## <span style="font-weight: 400;">3. Visão geral do Bareos/Bacula  
</span>

<span style="font-weight: 400;">O Bareos e o Bacula são divididos em três componentes principais: o Director, o Storage Daemon e o File Daemon. </span>

<span style="font-weight: 400;">O **Director** é o componente central, atuando como controlador que contata clientes e salva dados de backups nos armazenamentos. O **Storage Daemon** é o armazenamento dos dados de backup e é independente do Director pois nem sempre o mesmo servidor que controla é o mesmo que armazena os backups diretamente. E finalmente, o **File Daemon** é o componente cliente, aquele que recebe conexões do Director e provê a este os arquivos de backup referente aos conjuntos de arquivos configurados. </span>

<span style="font-weight: 400;">Adicionalmente, há o **Console**, que é um componente utilizado para acessar configurações, verificar status e fazer alterações nos parâmetros do servidor via linha de comando, mas que não será abordado neste escopo.  
</span>

<span style="font-weight: 400;">**Estes procedimentos devem ser realizados na interface web do servidor, usando um usuário com permissões suficientes.**</span>

## <span style="font-weight: 400;">4. Templates para os componentes  
</span>

<span style="font-weight: 400;">Conforme a seção anterior, o Bareos e o Bacula são divididos em componentes, sendo necessário um template específico para o monitoramento de cada um deles.  
</span>

#### <span style="font-weight: 400;">4.1. Template para o agente (bareos-fd ou bacula-fd)</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Itens monitorados</span></span>

<span style="font-weight: 400;">Utilizando este template as seguintes perguntas poderão ser respondidas:  
</span>

- <span style="font-weight: 400;">É possível, a partir de uma máquina da rede, se conectar a porta do *bacula-fd* no computador cliente?  
    </span>
- <span style="font-weight: 400;">O *bacula-fd* está escutando na sua respectiva porta no computador cliente?</span>
- <span style="font-weight: 400;">Quantos processos do *bacula-fd* estão executando no computador cliente?</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Pré requisitos:</span></span>

<span style="font-weight: 400;">Ter instalado, no dispositivo a ser monitorado, os seguintes softwares:</span>

- <span style="font-weight: 400;">zabbix-agent</span>
- <span style="font-weight: 400;">bacula-fd</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Procedimento a ser realizado na máquina monitorada:</span></span> **Nenhum procedimento necessário**<span style="text-decoration: underline;"><span style="font-weight: 400;">  
</span></span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Procedimento a ser realizado na interface web do Zabbix:</span> **Nenhum procedimento necessário** </span>

1. <span style="font-weight: 400;">Importar o arquivo XML do template (listado a seguir)</span>
2. <span style="font-weight: 400;">Adicionar o template ao host monitorado</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Arquivo XML do template:</span> [Última versão do template do cliente](https://wiki.ifpe.edu.br/books/tecnologia-da-informa%C3%A7%C3%A3o-redes/page/templates-em-xml#bkmrk-bacula-cliente-atual "templates-em-xml")</span>

#### <span style="font-weight: 400;">4.2. Template para o storage (bareos-sd ou bacula-sd)</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Itens monitorados</span></span>

<span style="font-weight: 400;">Utilizando este template as seguintes perguntas poderão ser respondidas:  
</span>

- <span style="font-weight: 400;">É possível, a partir de uma máquina da rede, se conectar a porta do *bacula-sd* no servidor?  
    </span>
- <span style="font-weight: 400;">O *bacula-sd* está escutando na sua respectiva porta no servidor?</span>
- <span style="font-weight: 400;">Quantos processos do *bacula-sd* estão executando no servidor?</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Pré requisitos:</span></span>

<span style="font-weight: 400;">Ter instalado, no dispositivo a ser monitorado, os seguintes softwares:</span>

- <span style="font-weight: 400;">zabbix-agent</span>
- <span style="font-weight: 400;">bacula-sd</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Procedimento a ser realizado na máquina monitorada:</span></span> **Nenhum procedimento necessário**<span style="text-decoration: underline;"><span style="font-weight: 400;">  
</span></span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Procedimento a ser realizado na interface web do Zabbix:</span> **Nenhum procedimento necessário** </span>

1. <span style="font-weight: 400;">Importar o arquivo XML do template (listado a seguir)</span>
2. <span style="font-weight: 400;">Adicionar o template ao host monitorado</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Arquivo XML do template:</span> [Última versão do template do storage](https://wiki.ifpe.edu.br/books/tecnologia-da-informa%C3%A7%C3%A3o-redes/page/templates-em-xml#bkmrk-bacula-storage-atual "templates-em-xml")</span>

#### <span style="font-weight: 400;">4.3. Template para o director (bareos-dir ou bacula-dir)</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Itens monitorados</span></span>

<span style="font-weight: 400;">Utilizando este template as seguintes perguntas poderão ser respondidas:  
</span>

- <span style="font-weight: 400;">É possível, a partir de uma máquina da rede, se conectar a porta do *bacula-dir* no servidor?  
    </span>
- <span style="font-weight: 400;">O *bacula-dir* está escutando na sua respectiva porta no servidor?</span>
- <span style="font-weight: 400;">Quantos processos do *bacula-dir* estão executando no servidor?</span>
- <span style="font-weight: 400;">Qual o status, a duração e o tamanho do último backup incremental?</span>
- <span style="font-weight: 400;">Qual o status, a duração e o tamanho do último backup diferencial?</span>
- <span style="font-weight: 400;">Qual o status, a duração e o tamanho do último completo?</span>
- Quanto tempo se passou desde a última execução de cada job?

<span style="text-decoration: underline;"><span style="font-weight: 400;">Pré requisitos:</span></span>

<span style="font-weight: 400;">Ter instalado, no dispositivo a ser monitorado, os seguintes softwares:</span>

- <span style="font-weight: 400;">zabbix-agent</span>
- <span style="font-weight: 400;">bacula-dir</span>

<span style="text-decoration: underline;"><span style="font-weight: 400;">Procedimento a ser realizado na máquina monitorada:</span></span>

1. Criar um diretório para o script de monitoramento e o de descoberta dos jobs de backup
2. Fazer download do script de monitoramento e o de descoberta dos jobs de backup para o diretório criado
3. Ajustar os parâmetros de usuário para refletir a localização dos scripts, caso necessário
4. Verificar a necessidade de configurações adicionais como o uso do sudo e permissões de execução dos scripts<span style="text-decoration: underline;"><span style="font-weight: 400;">  
    </span></span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Procedimento a ser realizado na interface web do Zabbix**:**</span></span>

1. <span style="font-weight: 400;">Importar o arquivo XML do template (listado a seguir)</span>
2. <span style="font-weight: 400;">Adicionar o template ao host monitorado</span>

<span style="font-weight: 400;"><span style="text-decoration: underline;">Arquivos do template:</span> [Última versão do template do director](https://wiki.ifpe.edu.br/books/tecnologia-da-informa%C3%A7%C3%A3o-redes/page/templates-em-xml#bkmrk-bacula-director-atual "templates-em-xml")</span>