Monitoramento Capítulo destinado a receber conteúdos relativos ao monitoramento de ativos de rede. Dell OpenManage: Instalação no Centos 7 1. Introdução O Dell EMC OpenManage Server Administrator (OMSA) oferece uma solução de gerenciamento de sistemas abrangente e individualizada de duas formas: De uma interface gráfica do usuário (GUI) integrada e baseada em navegador da Web Por meio de uma interface de linha de comando (CLI) no sistema operacional (SO) O Server Administrator foi criado para que os administradores de sistema pudessem focar no gerenciamento de toda a rede, sem deixar de fornecer gerenciamento de sistemas individualizado de forma local e remota. 2. Ferramentas utilizadas Os softwares utilizados na produção deste tutorial é apresentado a seguir: CentOS 7.4.1708 Dell OpenManage 7.4.1-1341 Dell PowerEdge R710, com iDRAC6 O ambiente utilizado é apresentado a seguir: Servidor físico, modelo Dell R710, com o sistema operacional CentOS 7.4 3. Instalando o OMSA Todos os comandos executados nesse tutorial foram executados com o usuário root. Passos preparatórios 3.1. Instale as dependências do OMSA: yum install libcmpiCppImpl0 openwsman-server openwsman-client sblim-sfcb pciutils 3.2. Altere os dados do sistema para que ele seja identificado como um RHEL 7, não CentOS: mv /etc/redhat-release /etc/redhat-release.bak; echo "Red Hat Enterprise Linux Server release 7.0 (Maipo)" >> /etc/redhat-release 3.3. Faça download do OMSA para RHEL 7: wget -c http://downloads.dell.com/FOLDER02645266M/1/OM-SrvAdmin-Dell-Web-LX-7.4.1-1341.RHEL7.x86_64_A00.tar.gz 3.4. Descompacte o arquivo baixado e execute a instalação: tar zxvf OM-SrvAdmin-Dell-Web-LX-7.4.1-1341.RHEL7.x86_64_A00.tar.gz./setup.sh 3.5. Restaure o arquivo alterado no passo 3.2: rm /etc/redhat-release; mv /etc/redhat-release.bak /etc/redhat-release 3.6. Crie o patch necessário ao funcionamento do OMSA no CentOS: Crie o arquivo /tmp/CheckSystemType.patch com o conteúdo a seguir. Atente para a formatação na hora da cópia. --- CheckSystemType 2019-03-22 19:06:17.956718131 -0300+++ CheckSystemType.new 2019-03-22 19:06:35.053476939 -0300@@ -204,8 +204,15 @@ IsInSupportedSystemIDs && return $SUPPORTED_DELL_SERVER- if [ -f /etc/redhat-release ] && [ `grep -c "Maipo" /etc/redhat-release` -gt 0 ]; then- IsSystemSupportedForRHEL7 && return $SUPPORTED_DELL_SERVER+ if [ -f /etc/os-release ]; then+ . /etc/os-release+ case $VERSION_ID in+ 7*)+ case "$ID $ID_LIKE" in+ *rhel*)+ IsSystemSupportedForRHEL7 && return $SUPPORTED_DELL_SERVER+ esac+ esac fi IsClientSystem && return $CLIENT_SYSTEM 3.7. Aplique o patch necessário ao funcionamento do OMSA no CentOS: patch /opt/dell/srvadmin/sbin/CheckSystemType < /tmp/CheckSystemType.patch Finalizando as coisas 3.8. Configure a iniciação do serviço do OMSA após o boot : systemctl enable dataeng.service dsm_om_shrsvc.service 3.9. Permita o acesso a porta da interface web do OMSA: firewall-cmd --zone=public --permanent --add-port=1311/tcp firewall-cmd --reload Caso tenha realizado alguma configuração adicional de zonas no firewall, substitua "public" pelo nome da zona onde se encontra a interface de gerenciamento do servidor. Se o firewall estiver na configuração padrão, mantenha. Feita a configuração, utilize o navegador para acessar o enderenço IP do servidor, na porta 1311. Observe se a sua configuração necessita de configurações adicionais decorrentes do uso de outras ferramentas, como o selinux, por exemplo. Referencias OMSA on CentOS 7 (https://www.dell.com/community/Systems-Management-General/OMSA-on-CentOs-7/td-p/4553216) Dell R720 OpenManage (https://www.centos.org/forums/viewtopic.php?f=49&t=48532)templates-e-scripts  1. Introdução 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. Este documento destina-se a servir de ponto central para o código dos scripts. 2. Bareos/Bacula 2.1 Bacula/Bareos - Cliente 2.1.1. Atual Link do template: Última versão do template do cliente Data: 22-10-2019 Changelog: Solucionado erro durante a importação 2.1.2. Anteriores Link: 20191014 | Data: 14-10-2019 | Changelog: Adicionados comentários aos itens. 2.2. Bacula/Bareos - Storage 2.2.1. Atual Link do template: Última versão do template do storage Data: 22-10-2019 Changelog: Solucionado erro durante a importação 2.2.2. Anteriores Link: 20191014 | Data: 14-10-2019 | Changelog: Adicionados comentários aos itens. 2.3. Bacula/Bareos - Director 2.3.1. Atual Link do template: Última versão do template do director Links complementares: parâmetro de usuário | script de monitoramento | script de descoberta Data: 22-10-2019 Changelog: Solucionado erro durante a importação Removida expressão regular não utilizada 2.3.1. Anteriores Link: 20191014 | Data: 14-10-2019 | Changelog: Adicionados comentários aos itens; Pequenas melhorias no código dos scripts. Zabbix: Importando templates 1. Introdução 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. Este documento visa orientar a importação de templates no servidor Zabbix. Ele contém os parâmetros utilizados pelo servidor para monitorar ativos e reportar sua disponibilidade. 2. Ferramentas utilizadas Este tutorial descreve a instalação do agente no sistema operacional Windows e, apesar da edição utilizada ter sido o Windows 7, pode ter seus passos utilizados para instalar o agente no Windows Server 2008 e 2012, Windows 8/8.1 e Windows 10. Também é abordada a questão de edição posterior à instalação e o controle do processo do agente. Os softwares utilizados na produção deste tutorial é apresentado a seguir: Zabbix Server 3.2.3 3. Importando o template Estes procedimentos devem ser realizados na interface web do servidor, usando um usuário com permissões suficientes. 3.1. Acesse a interface web 3.2.1. Nela, clique em "Configuração", depois "Templates" e então "Importar" 3.2.2. Na tela que surge, em "Importar arquivo", clique em "Escolher arquivo". Abrirá um repositório semelhante a imagem abaixo. 3.2.3. Escolha o arquivo do template (com extensão .xml)  e clique em "Abrir". (Neste exemplo escolhi o template referente ao ICMP ping). O nome do mesmo será mostrado no campo “importar arquivo” na interface do zabbix, de acordo com a imagem abaixo. 3.2.4. Na mesma página, logo abaixo, clique em "Importar". Após concluída a operação aparecerá a seguinte mensagem de acordo com a imagem abaixo. Repita os passos anteriores para cada template a ser importado. Zabbix: Instalando o agente em clientes linux 1. Introdução 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. Este documento visa a orientação para a instalação do agente do Zabbix. Ele é utilizado pelo servidor para monitorar ativos e reportar sua disponibilidade permitindo uma visão proativa do parque tecnológico. 2. Ferramentas utilizadas Este tutorial descreve a instalação do agente no sistema operacional Linux, nas distribuições Debian 8, Ubuntu 14.04 LTS e CentOS 7. Também é abordada a questão de edição posterior à instalação e o controle do processo do agente. Os softwares utilizados na produção deste tutorial é apresentado a seguir: CentOS 7.3 Debian 8 Ubuntu 14.04 Zabbix Agent 3.2.7 3. Configurando o serviço Estes procedimentos devem ser realizados na máquina a ser monitorada, usando um usuário com permissões administrativas. Configure o repositório Para obter a versão mais atual do software, adicione o repositório oficial do Zabbix: No Centos URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix No Debian URL='http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb' wget "$URL" dpkg -i zabbix-release_3.2-1+jessie_all.deb apt-get update URL='http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb' wget "$URL" dpkg -i zabbix-release_3.2-1+jessie_all.deb apt-get update No Ubuntu URL='http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb' wget "$URL" sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb sudo apt update URL='http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb' wget "$URL" sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb sudo apt update Instale o agente Uma vez que o sistema já esteja usando o repositório do Zabbix, execute a instalação do agente. No Centos yum install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot yum install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boo No Debian apt-get install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot apt-get install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot No Ubuntu apt-get install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot apt-get install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot Configure o firewall Configure o firewall para permitir a conexão entre o servidor e o agente No Centos firewall-cmd --permanent --add-port=10051/tcp # configura o firewalld para permitir conexões ao proxy do zabbix firewall-cmd --permanent --add-port=10050/tcp # configura o firewalld para permitir conexões ao agente do zabbix firewall-cmd --reload firewall-cmd --permanent --add-port=10050/tcp # configura o firewalld para permitir conexões ao agente do zabbix firewall-cmd --reloadNo Debian Não há firewall ativado por padrão. No Ubuntu Não há firewall ativado por padrão. Configure o agente Preencha as informações requeridas para configurar o agente, elas serão iguais nos três sistemas operacionais utilizados aqui. Crie o diretório dos arquivos auxiliares do agente mkdir -p /etc/zabbix/zabbix_agentd.conf.d mkdir -p /etc/zabbix/zabbix_scripts Edite o arquivo de configuração nano /etc/zabbix/zabbix_agentd.conf # Edite os parâmetros indicados aqui. # Os outros podem ser mantidos nos valores padrões # # Hostname=> Use o IP ou FQDN da máquina que eestá sendo monitorada # Server=> Use o IP ou FQDN do servidor Zabbix Hostname = this.machine Server = zabbix.int.example.com ServerActive = zabbix.int.example.com LogRemoteCommands = 1 EnableRemoteCommands = 1 StartAgents = 3 Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf Inicie o serviço do agente systemctl start zabbix-agent 4. Gerenciando o serviço Alterações na configuração do agente Se for necessário modificar o arquivo de configuração do Zabbix, ele pode ser encontrado no caminho /etc/zabbix/zabbix_agentd.conf. Ao realizar qualquer alteração, é preciso reiniciar o agente. Controlando a execução do serviço do agente Ao modificar o arquivo de configuração mostrado no item anterior ou por razões fora do escopo deste guia pode ser necessário parar ou reiniciar o serviço usado pelo agente do Zabbix. Os comandos a seguir podem ser utilizados: Para encerrar a execução do agente: systemctl stop zabbix-agent Para reiniciar o agente: systemctl restart zabbix-agent Para encerrar a execução do agente: systemctl stop zabbix-agent Zabbix: Instalando o agente em clientes windows 1. Introdução 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. Este documento visa a orientação para a instalação do agente do Zabbix. Ele é utilizado pelo servidor para monitorar ativos e reportar sua disponibilidade permitindo uma visão proativa do parque tecnológico. 2. Ferramentas utilizadas Este tutorial descreve a instalação do agente no sistema operacional Windows e, apesar da edição utilizada ter sido o Windows 7, pode ter seus passos utilizados para instalar o agente no Windows Server 2008 e 2012, Windows 8/8.1 e Windows 10. Também é abordada a questão de edição posterior à instalação e o controle do processo do agente. Os softwares utilizados na produção deste tutorial é apresentado a seguir: Microsoft Windows 7 Zabbix Agent 3.2.3 3. Configurando o serviço Estes procedimentos devem ser realizados na máquina a ser monitorada, usando um usuário com permissões administrativas. 3.1. Faça download do arquivo de instalação Para obter a versão mais atual do software, faça o download do instalador do agente de acordo com a arquitetura do sistema operacional (32 bits ou 64 bits), acessando o link http://suiviperf.com/zabbix/index.php 3.2. Instale o agente Uma vez que o download tenha sido concluído, execute a instalação do agente. 3.2.1. Na primeira tela, clique em "Next" 3.2.2. Marque o checkbox "I accept the terms in the License Agreement" e clique em "Next" 3.2.3. Insira as informações requeridas, conforme a imagem a seguir, e clique em "Next" 3.2.4. Nesta página, clique em "Next" somente. 3.2.5. Nesta página, clique em "Install". 3.2.6 O UAC (Controle de Conta de Usuário) vai solicitar permissão para prosseguir com a instalação. Clique em "Sim". A instalação será iniciada e a tela a seguir será exibida: 3.2.7. Clique em "Finish" 3.3 Configure o firewall Caso o firewall esteja ativo, configure-o para permitir a conexão entre o servidor e o agente. Será necessária liberar o acesso a porta 10050/TCP. 4. Gerenciando o serviço 4.1. Alterações na configuração do agente Se for necessário modificar o arquivo de configuração do Zabbix, ele pode ser encontrado no caminho %programfiles%\zabbix agent\zabbix_agentd.conf. Ao realizar qualquer alteração, é preciso reiniciar o agente. 4.2. Controlando a execução do serviço do agente Ao modificar o arquivo de configuração mostrado no item anterior ou por razões fora do escopo deste guia pode ser necessário parar ou reiniciar o serviço usado pelo agente do Zabbix. Os comandos a seguir podem ser utilizados: 4.2.1. Acesse o painél de controle dos serviços, digitando "services.msc" na barra de buscas: 4.2.2. Na janela aberta, clique em Zabbix Agent. “Zabbix Agent” será mostrado sob o campo “Nome” e provavelmente, será o último item mostrado. Será preciso usar a barra de rolagem para ir até o fim da lista de serviços Na parte lateral da página existem controles para encerrar ou reiniciar a execução do agente (setas azuis) Zabbix: Instalando o proxy 1. Introdução 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. É uma plataforma bastante difundida e não está limitada a ativos de TIC, apenas. Pode ser utilizado em diversas áreas, pois o seu método de coleta é flexível e permitindo personalizá-lo de acordo com necessidades de monitoramento do ambiente. 2. Ferramentas utilizadas Os softwares utilizados na produção deste tutorial é apresentado a seguir: CentOS 7 Zabbix 3.4.1 SQLite3 O ambiente utilizado é apresentado a seguir: Uma MV, com o sistema operacional CentOS 7, destinada ao servidor proxy do Zabbix A instalação do CentOS 7 utilizada para validar esse tutorial foi a Minimal-1611. A ISO dessa versão pode ser baixada através deste link. 3. Configurando o serviço Todos os comandos executados nesse tutorial foram executados com o usuário root. Passos preparatórios 3.1. Após a instalação do CentOS, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum update 3.2. Habilite o modo permissivo do SELinux, com os comandos abaixo: sed s/SELINUX=enforcing/SELINUX=permissive/g -i /etc/selinux/config setenforce 0 3.3. Adicione o repositório do Zabbix e MariaDB: URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix 3.4. Instalar o agente do Zabbix yum install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot Instalando o banco de dados 3.5. Após a instalação do CentOS, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum install sqlite -y Instalando o proxy do Zabbix 3.6. Após a instalação do CentOS, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum install zabbix-proxy-sqlite zabbix-get zabbix-agent -y 3.7. Vamos criar os diretórios a serem utilizados pelo proxy: mkdir /etc/zabbix/{default,zabbix_proxy.conf.d} chown zabbix:root -P /etc/zabbix/ touch /var/log/zabbix/snmptrap.log chown zabbix:zabbix /var/log/zabbix/snmptrap.log 3.8. configurar a base de dados do Zabbix  e importar os schemas: mkdir -p /app/zabbix cd /usr/share/doc/zabbix-proxy-sqlite3-3* zcat schema.sql.gz | sqlite3 /app/zabbix/proxy.db 3.9. alterar os parâmetros do banco de dados no arquivo de configuração /etc/zabbix/zabbix_server.conf: cd /etc/zabbix cp *.conf default/ sed s/'# ProxyMode=0'/'ProxyMode=0'/g -i zabbix_proxy.conf sed s/'LogFileSize=0'/'LogFileSize=128'/g -i zabbix_proxy.conf sed s/'# StartPollers=5'/'StartPollers=35'/g -i zabbix_proxy.conf sed s/'Server=127.0.0.1'/'Server=SERVIDOR_ZABBIX'/g -i zabbix_proxy.conf sed s/'DBName=zabbix_proxy'/'DBName=\/app\/zabbix\/proxy.db'/g -i zabbix_proxy.conf sed s/'# StartPollersUnreachable=1'/'StartPollersUnreachable=70'/g -i zabbix_proxy.conf sed s/'Hostname=Zabbix proxy'/Hostname=$(hostname)/g -i zabbix_proxy.conf sed s/'# StartIPMIPollers=0'/'StartIPMIPollers=5'/g -i zabbix_proxy.conf sed s/'# ProxyLocalBuffer=0'/'ProxyLocalBuffer=360'/g -i zabbix_proxy.conf sed s/'# ConfigFrequency=3600'/'ConfigFrequency=60'/g -i zabbix_proxy.conf sed s/'# StartHTTPPollers=1'/'StartHTTPPollers=10'/g -i zabbix_proxy.conf sed s/'# ProxyOfflineBuffer=1'/'ProxyOfflineBuffer=720'/g -i zabbix_proxy.conf sed s/'# HeartbeatFrequency=60'/'HeartbeatFrequency=30'/g -i zabbix_proxy.conf sed s/'# DataSenderFrequency=1'/'DataSenderFrequency=45'/g -i zabbix_proxy.conf sed s/'# StartTrappers=5'/'StartTrappers=15'/g -i zabbix_proxy.conf sed s/'# StartPingers=1'/'StartPingers=5'/g -i zabbix_proxy.conf sed s/'# StartVMwareCollectors=0'/'StartVMwareCollectors=10'/g -i zabbix_proxy.conf sed s/'# VMwareTimeout=10'/'VMwareTimeout=19'/g -i zabbix_proxy.conf sed s/'# StartSNMPTrapper=0'/'StartSNMPTrapper=1'/g -i zabbix_proxy.conf sed s/'# StartDBSyncers=4'/'StartDBSyncers=8'/g -i zabbix_proxy.conf sed s/'# CacheSize=8M'/'CacheSize=32M'/g -i zabbix_proxy.conf sed s/'# HistoryIndexCacheSize=4M'/'HistoryIndexCacheSize=16M'/g -i zabbix_proxy.conf sed s/'# HistoryCacheSize=16M'/'HistoryCacheSize=64M'/g -i zabbix_proxy.conf sed s/'\/var\/log\/snmptrap\/snmptrap.log'/'\/var\/log\/zabbix\/snmptrap.log'/g -i zabbix_proxy.conf sed s/'Timeout=4'/'Timeout=19'/g -i zabbix_proxy.conf sed s/'ExternalScripts=\/usr\/lib\/zabbix\/externalscripts'/'ExternalScripts=\/app\/zabbix\/externalscripts'/g -i zabbix_proxy.conf sed s/'# Include=\/usr\/local\/etc\/zabbix_proxy.conf.d\/*.conf'/'\/etc\/zabbix_proxy.conf.d\/*.conf'/g -i zabbix_proxy.conf Substitua “SERVIDOR_ZABBIX” pelo IP ou FQDN do servidor do zabbix configurado anteriormente. 3.10. Permita os serviços no Firewall firewall-cmd --permanent --add-port=10051/tcp # configura o firewalld para permitir conexões ao proxy do zabbix firewall-cmd --permanent --add-port=10050/tcp # configura o firewalld para permitir conexões ao agente do zabbix firewall-cmd --reload 3.11. Configure o serviço do servidor e agente: systemctl enable zabbix-proxy zabbix-agent # Configura o systemd para iniciar os serviços do zabbix após o boot systemctl start zabbix-proxy zabbix-agent # Inicia os serviços imediatamente Zabbix: Instalando o servidor 1. Introdução 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. É uma plataforma bastante difundida e não está limitada a ativos de TIC, apenas. Pode ser utilizado em diversas áreas, pois o seu método de coleta é flexível e permitindo personalizá-lo de acordo com necessidades de monitoramento do ambiente. 2. Ferramentas utilizadas Os softwares utilizados na produção deste tutorial é apresentado a seguir: CentOS 7 Zabbix 3.4.1 MariaDB 10.3.9-1.el7.centos O ambiente utilizado é apresentado a seguir: Uma MV, com o sistema operacional CentOS 7, destinada ao banco de dados Uma MV, com o sistema operacional CentOS 7, destinada ao servidor e interface Web do Zabbix A instalação do CentOS 7 utilizada para validar esse tutorial foi a Minimal-1611. A ISO dessa versão pode ser baixada através deste link. 3. Configurando o serviço Todos os comandos executados nesse tutorial foram executados com o usuário root. 3.1. Instalando o servidor de banco de dados Passos preparatórios 3.1.1. Após a instalação do CentOS, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum update 3.1.2. Habilite o modo permissivo do SELinux, com os comandos abaixo: sed s/SELINUX=enforcing/SELINUX=permissive/g -i /etc/selinux/config setenforce 0 3.1.3. Adicione os repositórios do Zabbix e MariaDB: URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix printf '[mariadb]\nname = MariaDB\nbaseurl = http://yum.mariadb.org/10.3/centos7-amd64\ngpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB\ngpgcheck=1\n' > /etc/yum.repos.d/MariaDB.repo 3.1.4. Instalar o agente do Zabbix yum install zabbix-agent zabbix-get # Instala o agente do zabbix systemctl enable zabbix-agent # Configura o systemd para iniciar o agente do zabbix após o boot Caso o local do armazenamento dos arquivos seja numa partição separada, insira a linha correta no fstab, definindo como ponto de montagem o diretório do mysql e monte-a digitando o comando mount -a 3.1.5. Instalar o MariaDB yum install mariadb-server mariadb-libs mariadb -y # Instala o servidor chown -R mysql:mysql /var/lib/mysql # Configura as permissões no diretório usado pelo mariadb systemctl enable mariadb # Configura o systemd para iniciar o mariadb após o boot systemctl start mariadb # Iniciar o serviço do mariadb imediatamente 3.1.6. Permita os serviços no Firewall firewall-cmd --permanent --add-port=3306/tcp # configura o firewalld para permitir conexões ao mariadb firewall-cmd --permanent --add-port=10050/tcp # configura o firewalld para permitir conexões ao agente do zabbix firewall-cmd --reload Configure o servidor de banco de dados 3.1.7. Complete a instalação do MariaDB: mysql_secure_installation Com o comando acima iremos configurar a senha do usuário root para acessar o MySQL. # Enter current password for root (enter for none): # Change the root password? [Y/n] # New password: # Re-enter new password: # Remove anonymous users? [Y/n] # Disallow root login remotely? [Y/n] # Remove test database and access to it? [Y/n] # Reload privilege tables now? [Y/n] Para manter a segurança num nível aceitável, crie uma senha segura, com no mínimo 8 dígitos, contendo letras maiúsculas e minúsculas e caracteres especiais. Observe também que esta senha deve ser guardada em local seguro para possíveis acesso e manutenções. 3.1.8. Crie a base de dados para o Zabbix Acesse o mariadb como root: mysql -uroot -p Digite a senha cadastrada no passo anterior. Deverá aparecer o prompt da console do MySQL. Iremos criar a base de dados que será utilizada pelo Zabbix: mysql> mysql> mysql> create database BASE_ZABBIX; grant all privileges on BASE_ZABBIX.* to 'USUARIO_ZABBIX'@'%' identified by 'SENHA_ZABBIX'; quit; O comando ‘create database’ cria a base de dados para o zabbix. Observe que o termo “base_zabbix” deve ser substituído pelo nome escolhido. O comando iniciando com ‘grant all privileges‘ concede permissão para o usuário do zabbix com a senha a ser digitada no lugar de "senha_zabbix". Observe que o termo “usuario_zabbix” deve ser substituído pelo nome do usuário que o servidor irá utilizar ao se conectar à base de dados. Para manter a segurança num nível aceitável, crie uma senha segura, com no mínimo 8 dígitos, contendo letras maiúsculas e minúsculas e caracteres especiais. Observe também que esta senha deve ser guardada em local seguro para possíveis acesso e manutenções. Essas informações serão utilizadas para o acesso a base de dados no arquivo de configuração do servidor Zabbix. 3.2. Instalando o servidor do Zabbix Passos preparatórios 3.2.1. Após a instalação do CentOS no servidor, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum update 3.2.2. Habilite o modo permissivo do SELinux, com os comandos abaixo: sed s/SELINUX=enforcing/SELINUX=permissive/g -i /etc/selinux/config setenforce 0 3.2.3. Adicione os repositórios do Zabbix e MariaDB: URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix printf '[mariadb]\nname = MariaDB\nbaseurl = http://yum.mariadb.org/10.3/centos7-amd64\ngpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB\ngpgcheck=1\n' > /etc/yum.repos.d/MariaDB.repo 3.2.4. Instale os pacotes necessários yum install wget unzip net-snmp net-snmp-utils -y # Instala dependências do SNMP yum install zabbix-agent zabbix-get -y # Instala o agente do zabbix yum install zabbix-server-mysql mariadb -y # Instala as bibliotecas do mariadb e o servidor zabbix yum install zabbix-web-mysql -y # Instala a interface web do servidor zabbix 3.2.5. Permita os serviços no Firewall firewall-cmd --permanent --add-port=10050/tcp # configura o firewalld para permitir conexões ao agente do zabbix firewall-cmd --permanent --add-port=10051/tcp # configura o firewalld para permitir conexões ao servidor do zabbix firewall-cmd --permanent --add-service=snmp # configura o firewalld para permitir conexões snmp firewall-cmd --permanent --add-service=snmptrap # configura o firewalld para permitir conexões snmp firewall-cmd --reload 3.2.6. Configure as MIBs do SNMP cd /usr/share/snmp/mibs/ wget -c -m ftp://ftp.cisco.com/pub/mibs/v2/ mv ftp.cisco.com/pub/mibs/v2/* . rm -fr ftp.cisco.com/ for line in $(ls *.my); do base=$(echo $line|cut -d'.' -f1); mv $line $base; done cd /usr/share/snmp/mibs/ wget -c https://github.com/librenms/librenms-mibs/archive/master.zip -O Cisco-SB-MIB.zip unzip -jo Cisco-SB-MIB.zip rm -fr Cisco-SB-MIB.zip for line in $(ls *.mi2); do base=$(echo $line|cut -d'.' -f1); mv -n $line $base; done Configure a base de dados 3.2.7. Importar os schemas: cd /usr/share/doc/zabbix-server-mysql-3.* zcat create.sql.gz | mysql -h IP_SERVIDOR_BANCO -u USUARIO_ZABBIX -p BASE_ZABBIX A senha solicitada, assim como os itens "USUARIO_ZABBIX" e "BASE_ZABBIX" devem ser os mesmos configurados no passo "Crie a base de dados para o Zabbix". Substitua o “IP_SERVIDOR_BANCO” pelo IP do servidor do banco de dados configurado anteriormente. Configure o servidor zabbix 3.2.8. Será necessário alterar alguns parâmetros do banco de dados no arquivo de configuração /etc/zabbix/zabbix_server.conf: cd /etc/zabbix # Entra no diretório do zabbix mkdir -p original # Cria diretório para backup, se não existir cp zabbix*.conf original/ # Copia os arquivos de configuração originais para pasta criada sed s/'LogFileSize=0'/'LogFileSize=128'/g -i zabbix_server.conf # Define o tamanho máximo de cada arquivo de log sed s/'Timeout=4'/'Timeout=20'/g -i zabbix_server.conf # Define o timeout da conexão ao cliente sed s/'# StartSNMPTrapper=0'/'StartSNMPTrapper=1'/g -i zabbix_server.conf # Define se o SNMP trapper será ativado sed s/'# SenderFrequency=30'/'SenderFrequency=60'/g -i zabbix_server.conf # Frequencia submetida aos senders sed s/'# StartDBSyncers=4'/'StartDBSyncers=8'/g -i zabbix_server.conf # Define a quantidade de sicronizadores entre a aplicação e o bd sed s/'# StartPollers=5'/'StartPollers=35'/g -i zabbix_server.conf # Quantidade de pollers multipropósito (para java, ipmi e etc) sed s/'# HistoryCacheSize=16M'/'HistoryCacheSize=128M'/g -i zabbix_server.conf # Tamanho do cache para histórico de alterações sed s/'# HistoryIndexCacheSize=4M'/'HistoryIndexCacheSize=64M'/g -i zabbix_server.conf # Tamanho do cache para o indice do histórico sed s/'# TrendCacheSize=4M'/'TrendCacheSize=64M'/g -i zabbix_server.conf # Tamanho do cache usado para armazenar tendências sed s/'# ValueCacheSize=8M'/'ValueCacheSize=64M'/g -i zabbix_server.conf # Tamanho do cache de valores sed s/'# CacheSize=8M'/'CacheSize=512M'/g -i zabbix_server.conf # Tammanho máximo que todos os caches, somados, podem alcançar sed s/'# StartVMwareCollectors=0'/'StartVMwareCollectors=16'/g -i zabbix_server.conf # Quantidade de coletores de dados do vmware sed s/'# VMwareCacheSize=8M'/'VMwareCacheSize=16M'/g -i zabbix_server.conf # Cache para os dados de vmware coletados sed s/'# VMwareTimeout=10'/'VMwareTimeout=30'/g -i zabbix_server.conf # Define timeout para conexão ao agente do vmware sed s/'# DBHost=localhost'/'DBHost=IP_SERVIDOR_BANCO'/g -i zabbix_server.conf # Servidor onde está a BD do zabbix. Substitua IP_SERVIDOR_BD pelo IP correto sed s/'DBName=zabbix'/'DBName=BASE_ZABBIX'/g -i zabbix_server.conf # BD a ser utilizada pelo zabbix. Substitua pelo nome correto sed s/'# DBPassword='/'DBPassword=SENHA_ZABBIX'/g -i zabbix_server.conf # Senha para conexão a BD. Substitua pela senha correta sed s/'DBUser=zabbix'/'DBUser=USUARIO_ZABBIX'/g -i zabbix_server.conf # Usuário para conexão a BD. Substitua pelo nome correto A senha solicitada, assim como os itens "USUARIO_ZABBIX" e "BASE_ZABBIX" devem ser os mesmos configurados no passo "Crie a base de dados para o Zabbix". Substitua o “IP_SERVIDOR_BANCO” pelo IP do servidor do banco de dados configurado anteriormente. 3.2.9. Configure o serviço do servidor e agente: systemctl enable zabbix-agent zabbix-server-mysql # Configura o systemd para iniciar os serviços do zabbix após o boot systemctl start zabbix-server zabbix-agent # Inicia os serviços imediatamente Realizada a instalação da base de dados e do servidor Zabbix, o próximo passo é configurar e instalar a interface web. 3.3. Instalando a interface web servidor do Zabbix A interface web e o servidor podem ser instalados na mesma máquina. No entanto, esse procedimento não é recomendado em ambientes de alta disponibilidade. Passos preparatórios 3.3.1. Após a instalação do CentOS no servidor, execute o comando abaixo para atualizar os pacotes presentes no sistema: yum update 3.3.2. Habilite o modo permissivo do SELinux, com os comandos abaixo: sed s/SELINUX=enforcing/SELINUX=permissive/g -i /etc/selinux/config setenforce 0 3.3.3. Adicione os repositórios do Zabbix e MariaDB: URL='https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm' rpm -ivh "$URL" # Adiciona o repositório do zabbix printf '[mariadb]\nname = MariaDB\nbaseurl = http://yum.mariadb.org/10.3/centos7-amd64\ngpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB\ngpgcheck=1\n' > /etc/yum.repos.d/MariaDB.repo 3.3.4. Instale os pacotes necessários yum install zabbix-agent zabbix-get -y # Instala o agente do zabbix yum install mariadb zabbix-web-mysql -y # Instala as bibliotecas do mariadb e a aplicação web do zabbix 3.3.5. Permita o serviço no Firewall firewall-cmd --permanent --add-service=http # configura o firewalld para permitir conexões http firewall-cmd --permanent --add-service=https # configura o firewalld para permitir conexões https firewall-cmd --reload Configure a aplicação web do Zabbix 3.3.6. Edite o arquivo contendo as definições do site do zabbix cd /etc/httpd/conf.d/ # Diretório de configuração dos sites do apache sed s/'# php_value'/'php_value'/g -i zabbix.conf # Ativa as definições do PHP dentro do arquivo sed s/'timezone.*'/'timezone America\/Recife'/g -i zabbix.conf # Define o timezone correto sed s/'Alias'/'# Alias'/g -i zabbix.conf # Retira o alias "/zabbix/" sed '6i Alias / /usr/share/zabbix/' -i zabbix.conf # Adiciona o alias "/", redirecionando o indice no referido diretório 3.3.7. Crie o arquivo de configuração da aplicação web do zabbix vi /etc/zabbix/web/zabbix.conf.php As configurações deverão ficar conforme o exemplo abaixo: General. No dropbox à direita, clique em Others. 3.4.3. Feito isso, vamos habilitar o monitoramento do próprio servidor: Clique em Configuration > Hosts, marque o checkbox ao lado de “Zabbix Server” e clique no botão “Enable”. Zabbix: Templates para o Bacula/Bareos  1. Introdução 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. 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. 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. 2. Ferramentas utilizadas Este template foi homologado com os sistemas operacionais listados: Centos 6 Centos 7 Debian Linux 7 Debian Linux 8 Versões do Bacula Agent testadas: Agente do bacula, versão 5.x Agente do bacula, versão 7.x Versões do Agente do Zabbix testadas: Zabbix Agent 2.4.x Zabbix Agent 3.2.x Zabbix Agent 3.4.x 3. Visão geral do Bareos/Bacula O Bareos e o Bacula são divididos em três componentes principais: o Director, o Storage Daemon e o File Daemon. 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. 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. Estes procedimentos devem ser realizados na interface web do servidor, usando um usuário com permissões suficientes. 4. Templates para os componentes 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. 4.1. Template para o agente (bareos-fd ou bacula-fd) Itens monitorados Utilizando este template as seguintes perguntas poderão ser respondidas: É possível, a partir de uma máquina da rede, se conectar a porta do bacula-fd no computador cliente? O bacula-fd está escutando na sua respectiva porta no computador cliente? Quantos processos do bacula-fd estão executando no computador cliente? Pré requisitos: Ter instalado, no dispositivo a ser monitorado, os seguintes softwares: zabbix-agent bacula-fd Procedimento a ser realizado na máquina monitorada: Nenhum procedimento necessário Procedimento a ser realizado na interface web do Zabbix: Nenhum procedimento necessário Importar o arquivo XML do template (listado a seguir) Adicionar o template ao host monitorado Arquivo XML do template: Última versão do template do cliente 4.2. Template para o storage (bareos-sd ou bacula-sd) Itens monitorados Utilizando este template as seguintes perguntas poderão ser respondidas: É possível, a partir de uma máquina da rede, se conectar a porta do bacula-sd no servidor? O bacula-sd está escutando na sua respectiva porta no servidor? Quantos processos do bacula-sd estão executando no servidor? Pré requisitos: Ter instalado, no dispositivo a ser monitorado, os seguintes softwares: zabbix-agent bacula-sd Procedimento a ser realizado na máquina monitorada: Nenhum procedimento necessário Procedimento a ser realizado na interface web do Zabbix: Nenhum procedimento necessário Importar o arquivo XML do template (listado a seguir) Adicionar o template ao host monitorado Arquivo XML do template: Última versão do template do storage 4.3. Template para o director (bareos-dir ou bacula-dir) Itens monitorados Utilizando este template as seguintes perguntas poderão ser respondidas: É possível, a partir de uma máquina da rede, se conectar a porta do bacula-dir no servidor? O bacula-dir está escutando na sua respectiva porta no servidor? Quantos processos do bacula-dir estão executando no servidor? Qual o status, a duração e o tamanho do último backup incremental? Qual o status, a duração e o tamanho do último backup diferencial? Qual o status, a duração e o tamanho do último completo? Quanto tempo se passou desde a última execução de cada job? Pré requisitos: Ter instalado, no dispositivo a ser monitorado, os seguintes softwares: zabbix-agent bacula-dir Procedimento a ser realizado na máquina monitorada: Criar um diretório para o script de monitoramento e o de descoberta dos jobs de backup Fazer download do script de monitoramento e o de descoberta dos jobs de backup para o diretório criado Ajustar os parâmetros de usuário para refletir a localização dos scripts, caso necessário Verificar a necessidade de configurações adicionais como o uso do sudo e permissões de execução dos scripts Procedimento a ser realizado na interface web do Zabbix: Importar o arquivo XML do template (listado a seguir) Adicionar o template ao host monitorado Arquivos do template: Última versão do template do director