glaubergf / ansible-vagrant-debian-zabbix

Esse projeto de automação com o Ansible foi uma experiência de estudo inicial, o Ansible é uma ferramenta incrível, na atualidade é essencial para a TI, seja automação para a área de desenvolvimento, de produtos, de produção etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto Descrição Autor Atualização
ansible-vagrante-debian-zabbix
O objetivo desse projeto é provisionar uma ou mais VMs, assim podendo ser modificadas as suas variáveis nos parâmetros que atendam as suas espectativas.
Glauber GF (mcnd2)
2021-05-02

Image

Instalar e Configurar o Zabbix com o Ansible

O Zabbix é um software de nível corporativo ideal para o monitoramento em tempo real de milhões de métricas coletadas de dezenas de milhares de servidores, máquinas virtuais e dispositivos de rede, além de ser de código aberto é também gratuito.

O Ansible trabalha com os conceitos de inventário (lista de máquinas que serão gerenciadas), playbooks (comandos ou passo-a-passo a ser executado) e roles (modularização do código). Atualmente o Ansible pertence a Red Hat.

O Host

Para esse projeto local, foi utilizado o Host com o Sistema Operacional Debian 10 Buster e realizado a instalação dos seguintes programas (ferramentas) para a execução do projeto:

Vagrant para provisionar a(s) VM(s) (máquina virtual) com o Debian Buster. Lembrando que o Vagrantfile utilizado nesse projeto está configurado para o uso do provider libvirt com o gerenciador gráfico Virtual Machine Manager.

Ansible para executar o gerenciamento de automação na máquina alvo, a VM com o Debian.

O Artigo que faz referência a este Projeto esta no SempreUpdate.

A Automação

Veja uma breve descrição da task dentro de cada role:

Na role config_initial é executado o ajuste do timezone, alterado o idioma do sistema, alterado o layout do teclado, instalado, configurado e habilitado o ntp.

  • tasks:
Ajustando o timezone do sistema;
Alterando o idioma do sistema;
Alterando o layout do teclado do sistema;
Removendo arquivo '/var/lib/dpkg/lock-frontend' se existir;
Executando 'apt-get update';
Instalando o ntp / ntpdate;
Parando o ntp;
Copiando o arquivo de configuração do ntp;
Ajustando a hora e habilitando o ntp;
Iniciando o ntp.

Na role db-mariadb é executado a instalação e configuração necessária para o banco de dados mariadb.

  • tasks:
Instalando o MariaDB Database Server;
Verificando se o MariaDB está em execução e inicia no boot;
Conectando ao servidor usando 'login_unix_socket';
Removendo contas de usuários 'anônimos' para localhost;
Removendo usuários 'zabbix' para o localhost se existir;
Removendo o MySQL 'test database';
Altera o plugin de autenticação do usuário 'root' do MariaDB para mysql_native_password;
Privilégios de liberação para usuário 'root';
Criando usuário 'zabbix' para o MariaDB;
Criando banco de dados com nome 'zabbix'.

Na role mon-zabbix é executado a adição do repositório zabbix, a instalação e configuração necessárias para que o zabbix carregue sem problemas.

  • tasks:
Adicionando o repositório do Zabbix Server;
Executando o update nos repositórios;
Instalando o Zabbix com frontend e suporte ao banco de dados MariaDB/MySQL;
Importando arquivo.sql similar para mariadb/mysql -u <user> -p <password> < arquivo.sql;
Configuração do zabbix /etc/zabbix/zabbix_server.conf e inserindo os dados de conexão do banco;
Configurando timezone do Nginx para os parâmetros que o Zabbix usa;
Reiniciando o Zabbix Server, Zabbix Agente, Nginx e PHP;
Configurando o Nginx;
Mudando a porta default do Nginx para não colidir com a do Zabbix;
Alterando permissões no diretório raiz do Zabbix;
Reiniciando o Nginx.

Explore as tasks e sinta-se a vontade para melhorá-la.

Contribuindo

Esse foi um projeto inicial de estudo e para contribuição de melhorias no código, comente ou crie uma issue no projeto com as devidas alterações deixando com a explicação e assim que for possível será executado o commit e o merge para a branch main.

Licença

GNU General Public License (Licença Pública Geral GNU), GNU GPL ou simplesmente GPL.

GPLv3


Copyright (c) 2021 Glauber GF (mcnd2)

Este programa é um software livre: você pode redistribuí-lo e/ou modificar sob os termos da GNU General Public License conforme publicada por a Free Software Foundation, seja a versão 3 da Licença, ou (à sua escolha) qualquer versão posterior.

Este programa é distribuído na esperança de ser útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja o GNU General Public License para mais detalhes.

Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa. Caso contrário, consulte https://www.gnu.org/licenses/.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/

About

Esse projeto de automação com o Ansible foi uma experiência de estudo inicial, o Ansible é uma ferramenta incrível, na atualidade é essencial para a TI, seja automação para a área de desenvolvimento, de produtos, de produção etc.

License:GNU General Public License v3.0


Languages

Language:Shell 100.0%