/Monitoring-Swarm

Primary LanguageDockerfileMIT LicenseMIT

Monitoring-Swarm

Ferramentas de monitoramento de hosts, containers e serviços

  • Node Exporter's
  • Docker
  • Cadvisor
  • Consul
  • Prometheus
  • Grafana

Infraestrutura

  • Mikrotik
  • Server Linux

Instalação do Docker e iniciando o cluster Swarm

# curl -fsSL https://get.docker.com | sh
# docker swarm init

Clonado o repositório monitor-discovery

# git clone https://github.com/madson7/monitor-discovery.git
 
# cd monitor-discovery

Build da imagem do Promotheus

# docker build -t madson7/prometheus_alpine ./dockerfiles/prometheus

Deploy Stack com Docker Swarm

# docker stack deploy -c docker-compose.yml discovery

Status dos serviços

# docker service ls

Iniciar o Node do Mikrotik

# ./conf/node-exporter/mikrotik_exporter -address 192.168.0.10 -device "Mikrotik 01" -password 12345678 -user prometheus

Onde -address é o endereço do seu mikrotik. -device é o nome do rótulo do dispositivo na saída de métricas para o prometheus. O usuário e senha deve ser criadas no seu mikrotik

Iniciar o Node do Linux

# ./conf/node-exporter/linux_exporter --web.listen-address=":9101"

Onde --web.listen-address=":9101" é a porta do seu servidor Linux local.

Iniciar o Ping Exporter

# ./conf/node-exporter/ping/ping_exporter --config.path conf/node-exporter/ping/ping.yml --web.listen-address=":9102"

Onde --web.listen-address=":9102" é a porta do seu servidor Linux local e --config.path são os IP's e sites.

Adicionando Node ao Consul conf/consul/*.json

{
   "name": "Nome do serviço",
   "address": "O IP onde está rodando",
   "port": Porta de serviço
}
 
Mikrotik 01
# http PUT http://localhost:8500/v1/agent/service/register < ./conf/consul/mikrotik-01.json
 
Cadvisor 01
# http PUT http://localhost:8500/v1/agent/service/register < ./conf/consul/cadvisor-01.json
 
Server Linux 01
# http PUT http://localhost:8500/v1/agent/service/register < ./conf/consul/linux-01.json
 
Ping, Pacotes e Latência
# http PUT http://localhost:8500/v1/agent/service/register < ./conf/consul/ping-01.json

Acessando o Consul http://localhost:8500

Acessando o Prometheus http://localhost:9090/targets

Acesse o Grafana http://localhost:3000, adicione fonte de dados do Prometheus e importe a dashboard conf/grafana/dashboard/*.json