Skip to content

AlanMartines/zabbix-mysql-grafana-docker-compose

Repository files navigation

Logo

Zabbix & Grafana Docker Compose

Este repositório contém um arquivo docker-compose.yml para a implantação do Zabbix (incluindo frontend, servidor, banco de dados e agent) e Grafana.

Utilizadas as imagens oficiais do Zabbix, do Grafana e do MySQL. Os links para consulta estão no final deste artigo.

Pré-requisitos

Antes de começar a usar este projeto, certifique-se de ter os seguintes pré-requisitos instalados em sua máquina:

Após instalar os pré-requisitos acima, você pode seguir as instruções de instalação e uso.

Configuração

  1. Clone este repositório:
    git clone https://github.com/AlanMartines/zabbix-docker-compose.git
    cd zabbix-docker-compose
  2. Configuração inicial:
    cp .env-example .env
  3. Criando os volumes:
    mkdir -p /usr/local/docker/
  4. Aplicando permições:
    chmod -R 777 /usr/local/docker/*
  5. Habitar o swarm (Opicional):
    docker swarm init

Implantação Frontend

Para iniciar os serviços:

docker compose -f docker-compose-monitor.yml up --build -d --no-recreate

Serviços Incluídos

  • zabbix-mysql: Banco de dados MySQL para Zabbix.
  • zabbix-snmptraps: Serviço SNMP Traps para Zabbix.
  • zabbix-server: Servidor Zabbix.
  • zabbix-frontend: Frontend do Zabbix usando Nginx.
  • zabbix-agent: Agente Zabbix.
  • zabbix-grafana: Grafana com o plugin Zabbix.

Links para as Imagens Oficiais

Implantação Backend

Para iniciar os serviços:

docker compose -f docker-compose-backend.yml up --build -d --no-recreate

Serviços Incluídos

  • prometheus: O Prometheus é um sistema de monitoramento e alerta.
  • node-exporter: O Node Exporter é um exportador para métricas de hardware e do sistema operacional.
  • alert-manager: O Alertmanager gerencia alertas para o Prometheus.
  • cadvisor: O cAdvisor (Container Advisor) fornece análise de desempenho e uso de recursos para containers em execução.
  • netdata: Netdata é uma ferramenta de monitoramento em tempo real que oferece insights sobre métricas de performance.
  • nginx-prometheus-exporter: Nginx Prometheus Exporter torna possível monitorar o NGINX ou NGINX Plus usando o Prometheus.

Links para as Imagens Oficiais

Nota

Instalação de Dependências após a criação do container zabbix-server (Ubuntu)


docker exec -it -u root zabbix-server /bin/bash
apt update; \
apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget; \
apt install -y python3 python3-pip whois; \
rm /usr/lib/python*/EXTERNALLY-MANAGED;

cd ~;
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb;
apt-get install -y ./google-chrome-stable_current_amd64.deb;
google-chrome --version;

Dependências


pip3 install bs4; \
pip3 install requests; \
pip3 install cloudscraper; \
pip3 install cfscrape; \
pip3 install requests six; \
pip3 install beautifulsoup4==4.9.0; \
pip3 install certifi==2020.4.5.1; \
pip3 install chardet==3.0.4; \
pip3 install cloudscraper==1.2.33; \
pip3 install idna==2.9; \
pip3 install requests-toolbelt==0.9.1; \
pip3 install soupsieve==2.0; \
pip3 install urllib3==1.25.9; \
pip3 install --upgrade urllib3 chardet requests; \
pip3 install selenium; \
pip3 install webdriver-manager; \
pip3 install --upgrade urllib3 chardet requests;

Expose Basic Nginx Metrics


vim /etc/nginx/conf.d/status.conf

nginx/status.conf


server {
	listen 127.0.0.1:80;
	server_name 127.0.0.1;
	location /nginx_status {
		stub_status on;
		access_log off;
		allow 127.0.0.1;
		deny all;
	}
}

Restarting Nginx


nginx -t
systemctl reload nginx

Contribuições

Contribuições são bem-vindas! Por favor, abra uma issue ou pull request.

Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

zabbix-mysql-docker-compose

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published