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.
Antes de começar a usar este projeto, certifique-se de ter os seguintes pré-requisitos instalados em sua máquina:
- Docker: A plataforma Docker é necessária para criar e gerenciar os containers do projeto. Instale o Docker aqui.
- Docker Compose: Ferramenta para definir e executar aplicações Docker de vários containers. Instale o Docker Compose aqui.
- Git: Sistema de controle de versão necessário para clonar o repositório. Instale o Git aqui.
Após instalar os pré-requisitos acima, você pode seguir as instruções de instalação e uso.
- Clone este repositório:
git clone https://github.com/AlanMartines/zabbix-docker-compose.git cd zabbix-docker-compose
- Configuração inicial:
cp .env-example .env
- Criando os volumes:
mkdir -p /usr/local/docker/
- Aplicando permições:
chmod -R 777 /usr/local/docker/*
- Habitar o swarm (Opicional):
docker swarm init
Para iniciar os serviços:
docker compose -f docker-compose-monitor.yml up --build -d --no-recreate
- 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.
- Mysql: https://hub.docker.com/_/mysql
- Zabbix: https://hub.docker.com/u/zabbix
- Grafana: https://hub.docker.com/u/grafana Rocket.Chat: https://hub.docker.com/r/rocketchat/rocket.chat --->
Para iniciar os serviços:
docker compose -f docker-compose-backend.yml up --build -d --no-recreate
- 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.
- Prometheus: https://hub.docker.com/r/prom/prometheus
- Node Exporter: https://hub.docker.com/r/prom/node-exporter
- Alertmanager: https://hub.docker.com/r/prom/alertmanager
- cAdvisor: https://hub.docker.com/r/google/cadvisor
- Netdata: https://hub.docker.com/r/netdata/netdata
- Nginx Prometheus Exporter: https://hub.docker.com/r/nginx/nginx-prometheus-exporter/
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;
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;
vim /etc/nginx/conf.d/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;
}
}
nginx -t
systemctl reload nginx
Contribuições são bem-vindas! Por favor, abra uma issue ou pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.