/zabbix-lab

Simple docker monitoring lab with Zabbix, PostgreSQL, PGAdmin, Zapix, Grafana and Mailhog

Primary LanguagePython

Simple docker lab for Zabbix with PostgreSQL, Grafana and Zapix (API Testing)

Versão em pt_BR: Olhe o arquivo README_pt.md

Important Note

If you're using versions before 5.4 (Like 5.0 LTS), please, remove or comment out the container zabbix-reports, or the docker-compose will not come up.

Contents

  • Zabbix:
  • Database:
    • Postgresql at: postgresql:5432
    • PGAdmin at: http://pgadmin:5050
    • TimescaleDB extension installed
  • Support Tools:
  • Provisioning / Pre-configurations:
    • Grafana is already provisioned with:
      • Installed plugin and datasources for Zabbix
      • Configured Zabbix datasource for Zabbix
      • Configured PostgreSQL datasource for database of Zabbix
      • Notification Channel using e-mail and MailHog
    • Zabbix is already provisioned with:
      • Zabbix already configured with TimescaleDB
      • Updated "Zabbix server" host to zabbix-agent using DNS
      • Updated EMail Media Type to use MailHog
      • Configured Media E-Mail for "Admin" user using MailHog
      • Enabled action "Report problems to Zabbix administrators"
    • Zabbix 5.4 or later:

How to use

  • Install Prerequisites

    • Versão em pt_BR: Olhe o arquivo REQUIREMENTS_pt.md
  • Copy the project and zapix dependency to your station:

    git clone --recurse-submodules https://github.com/isaqueprofeta/zabbix-lab.git
  • In the scenario of forgetting the "--recurse-submodules" parameter, activate the zappix using the lines bellow:

    git submodule init
    git submodule update
  • If necessary edit the version options:

    vim .env
    Environment Default Other Options
    ZABBIX_VERSION 6.0-latest 5.0-latest, 5.2-latest, 5.4-latest or trunk (this last one for development versions)
    POSTGRES_VERSION 13 12 or 11
    GRAFANA_VERSION 8.3.5 7.5.10, 8.1, 8.2
    GFN_ZBX_PLUGIN_VERSION 4.2.4 4.1.5 (For Grafana 7 and Zabbix 5.0)
  • Start the docker hoster for easy access using local DNS:

    docker run -d \
        --restart=always \
        -v /var/run/docker.sock:/tmp/docker.sock \
        -v /etc/hosts:/tmp/hosts \
        dvdarias/docker-hoster
  • Start the project with docker-compose

    docker-compose up -d
  • Note that docker will not use 'localhost' so, do not use that 'localhost' hostname to configure PGAdmin to PostgreSQL and Mailhog. To do this configuration, look at hostname option for each container, inside docker-compose.yml file.

Tooling

About Zabbix

Zabbix

Zabbix is ​​an open source distributed monitoring solution for large environments - The base repository for this project that contains all Dockerfiles of Zabbix for [Docker](https: //www.docker.com/) is zabbix-docker with automatic builds published to the Docker Hub Registry.

About Zapix

Online tool for testing and development using queries in Zabbix Web API - Original project at: Github Zapix by monitoringartist.

About Grafana

Grafana

Grafana is a Data Analysis and Reporting Tool - Container already configured with zabbix plugin installed

About Mailhog

MailHog

Developer Email Testing Tool - MailHog.