All Projects → fabianoflorentino → zabbix-container

fabianoflorentino / zabbix-container

Licence: other
Zabbix stack with Grafana on container docker

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
Jinja
831 projects

Install and Configure System Monitoring with Zabbix on Docker Container

Requirements

Zabbix Server

  • Hardware: Zabbix Documentation
  • Internet Access
  • Redhat Operation System Family
  • SSH Access
  • Docker 19.03+
  • Ansible 2.9.21+

Recomendations

Attention

The images are based on my public Docker Hub - fabianoflorentino.

Is very strongly recommended to build your own images.

Zabbix Server (Details)

Create new inventory:

cd inventories
cp sample <NEW INVENTORY>

Inventory File

Edit the file hosts.yml on <NEW INVENTORY>

---
all:
  vars:
    zabbix_web_server_name: "LAB ZABBIX SERVER" # Name of the Zabbix web server
    zabbix_server_ip:                           # IP of the Zabbix server
    zabbix_agent_port:                          # Port of the Zabbix agent
    mysql_zbx_db_pwd: ""                        # Password of the Zabbix database
    mysql_root_pwd: ""                          # Password of the root user of the MySQL server
  hosts:
    zabbix-server:
      ansible_host:                             # IP of the Zabbix server
  children:
    server:
      hosts:                                    # List of hosts for the Zabbix server
        zabbix-server:
    agent_linux:                                # List of hosts for the Zabbix agent on Linux
      hosts:
    agent_windows:                              # List of hosts for the Zabbix agent on Windows
      hosts:

Test the Inventory File

ansible -i inventories/lab/hosts.yml zabbix-server -u root -k -m ping
SSH password: 

zabbix-server | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Install Zabbix Server

ansible-playbook -i inventories/lab/hosts.yml -u root -k zabbix-server.yml

When finished, this will be the infrastructure created:

img0

idempotent

This playbook will not be executed again if the log files already exist.

The logs file are:

  • /tmp/aix_check.log
  • /tmp/hostid_check.log
  • /tmp/ssl_check.log
  • /tmp/zabbix_custom.log
  • /tmp/zbx_hostgroup.out

Roles

common

  • Ajustando o Hostname
  • Atualizando /etc/hosts
  • Habilitando IP Forward
  • Atulizando o Sistema
  • Instalando pacotes essenciais
  • Modulo Pip
  • Verificando pre requisitos
  • Verificando se o repositorio Docker existe
  • Habilitando o repositorio do Docker
  • Instalando o Docker
  • Habilitando o Servico do Docker

mysql

  • Verificando se o container existe
  • Download da imagem
  • Criando Network
  • Criando volume
  • Iniciando o Container

server

  • Verificando se o container existe
  • Download da imagem
  • Criando volume
  • Iniciando o Container (server)
  • Zabbix Agent
  • Iniciando o Container (agent)

web

  • Verificando se o container existe (web)
  • Download da imagem (web)
  • Criando volume (web)
  • Iniciando o Container (web)

grafana

  • Verificando se o container existe (grafana)
  • Download da imagem (grafana)
  • Iniciando o Container (grafana)

custom

  • Aguardando o Zabbix Web
  • Zabbix Custom - Verificando as customizações do Zabbix
  • Token - Copiando o script para gerar o token
  • Token - Gerando um token de autenticação
  • Token - Removendo Scripts Temporários de Customização
  • HostID - Copiando o script para gerar o hostid
  • HostID - Gerando um token de autenticação
  • HostID - Removendo Scripts Temporários de Customização
  • Slack Alerts - Disponibilizando Scripts
  • Slack Alerts - Copiando o script para o zabbix server
  • Slack Alerts - Criando Media para Alerta
  • Slack Alerts - Removendo Scripts Temporários
  • Resultado da criação do Slack Alert
  • Slack Alerts - Configurando log
  • Slack Alerts - Gerando log
  • Auto Registro Linux - Copiando o script para gerar o auto regitro
  • Auto Registro Linux - Criando Auto Registro de Servidores Linux
  • Auto Registro Linux - Resultado da criação do Auto Registro de Servidores Linux
  • Auto Registro Linux - Removendo Scripts Temporários
  • Auto Registro Windows - Copiando o script para gerar o auto regitro
  • Auto Registro Windows - Criando Auto Registro de Servidores Windows
  • Resultado da criação do Auto Registro de Servidores Windows no Zabbix
  • Auto Registro Windows - Removendo Scripts Temporários de Customização
  • Reporte de Problemas - Copiando o script para gerar o reporte de problemas
  • Reporte de Problemas - Criando Slack Reporte de Problemas
  • Resultado da criação do Slack Report de Problema
  • Reporte de Problemas - Removendo Scripts Temporários
  • SSL Check - Disponibilizando Scripts
  • SSL Check - Copiando os scripts para o zabbix server
  • SSL Check - Removendo Scripts Temporários de Customização
  • SSL Check - Configurando log
  • SSL Check - Gerando log
  • Criação de Item - Copiando Script Adapterfail
  • Criação de Item - Criando o Item Adapterfail
  • Criação de Item - Resultado da criação do Adapterfail
  • Criação de Item - Configurando log
  • Criação de Item - Copiando Script Bootlist
  • Criação de Item - Resultado da criação do Bootlist
  • Criação de Item - Configurando log
  • Criação de Item - Gerando log
  • Criação de Item - Removendo Scripts Adapterfail
  • Criação de Item - Removendo Scripts Bootlist
  • HostID - Configurando log
  • Removendo Primeiro Registro Zabbix server - Copiando Script
  • Removendo Primeiro Registro Zabbix server - Deletando o Primeiro Registro "Zabbix server"
  • Removendo Primeiro Registro Zabbix server - Resultado da remoção
  • HostID - Removendo Scripts zbx_del_first_zbxsrv

Screenshots

img1 img2 img3 img4 img5 img6

Zabbix Agent (Details)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].