15/10/2019 - DEV-PP #15

The Conference
Monitoramento Ativo
Marcelo Santoro
Importância do Monitoramento
- Indicativos de saúde do serviço/sistema monitorado
- Manutenções preventivas e não corretivas
- Segurança
- Economia: Financeira, Tempo
- Ajuda a Reunir Provas
- Acesso de forma Fácil e rápida
- Flexibilidade e Customização
Legal… Mas o que podemos monitorar ???
Qualquer coisa… que possamos imaginar !!!
Exemplos
Espaço em Disco (HD)
Consumo de Memória RAM
Carga do Processador
Logs Críticos
Customização através de Scripts - Python, ShellScript…
|

|

|

|

|
Roteadores
Equipamentos de Energia
Salas, Datacenters, Portas
Vamos ao que interessa !!!
- Instalação limpa do Debian10
Instalar o “curl" -> apt-get install curl
curl -sSL https://get.docker.com/ | sh
- Instalar o Docker (Parte mais difícil) :)
- Instalar o Zabbix Agent
apt-get install zabbix-agent (Scripts Customizáveis)
Criando os Containers
- MySQL 5.7
docker run -d -p 0.0.0.0:3306:3306 --restart always -e TIMEZONE=America/Sao_Paulo 

-v /var/lib/mysql:/var/lib/mysql 

-v /var/log/mysql:/var/log/mysql 

-v /var/sock/mysqld:/var/sock/mysqld 

-e MYSQL_ROOT_PASSWORD=SUASENHASUPERSEGURA 

-e MYSQL_GENERAL_LOG=1 

-e MYSQL_SOCKET_DIR=/var/sock/mysqld/ 

—name mysql5_7 cytopia/mysql-5.7
Criando os Containers
- Zabbix Server
docker run -p 0.0.0.0:10051:10051 --restart always --name zabbix 

-e DB_SERVER_HOST="mysql5_7" 

-e MYSQL_USER="root" 

-e MYSQL_PASSWORD="SUASENHASUPERSEGURA" 

-v /usr/lib/zabbix/alertscripts/:/usr/lib/zabbix/alertscripts/ 

-v /usr/lib/zabbix/externalscripts/:/usr/lib/zabbix/externalscripts/ 

—link mysql5_7 -d zabbix/zabbix-server-mysql:alpine-4.2.7
docker exec -ti zabbix sh -c "/sbin/apk update; /sbin/apk add curl; apk add py-setuptools;
easy_install-2.7 pip; pip install pymongo py-zabbix"
Criando os Containers
- Zabbix Web Interface
docker run -p 0.0.0.0:80:80 --restart always --name zabbixweb
—link zabbix
--link mysql5_7
-e DB_SERVER_HOST="mysql5_7"
-e MYSQL_USER="root"
-e MYSQL_PASSWORD=“SUASENHASUPERSEGURA"
-e ZBX_SERVER_HOST="zabbix" -e PHP_TZ="America/Sao_Paulo"
-d zabbix/zabbix-web-nginx-mysql:alpine-4.2.7
Criando os Containers
- Grafana
docker run -d --name grafana -p 0.0.0.0:3000:3000 --restart always
-e “GF_INSTALL_PLUGINS=grafana-simple-json-datasource, alexanderzobnin-zabbix-app"
-v /var/lib/grafana:/var/lib/grafana grafana/grafana:6.4.1
Verificando os Containers
Acessando o Zabbix
Admin
zabbix
Acessando o Zabbix
Templates do Zabbix
UserParameters - Zabbix-Agent
Integração - Zabbix + UserParameters do Agent
- Aba Hosts
Clicar no host do próprio Servidor Zabbix
Clicar no Create Application
Clicar no Item
Clicar no Create Item
Muitos passos…
mas um resultado final muito interessante
Equipamentos Monitorados no Zabbix + Grafana
Sistema Monitorado no Zabbix + Grafana
Nginx + MySQL
Monitoramento Agregado
Obrigado !!!
Marcelo Santoro
marcelo@marcelosantoro.com.br
(18) 99764-8657

Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - DevPP #15

  • 1.
    15/10/2019 - DEV-PP#15
 The Conference Monitoramento Ativo Marcelo Santoro
  • 2.
    Importância do Monitoramento -Indicativos de saúde do serviço/sistema monitorado - Manutenções preventivas e não corretivas - Segurança - Economia: Financeira, Tempo - Ajuda a Reunir Provas - Acesso de forma Fácil e rápida - Flexibilidade e Customização
  • 3.
    Legal… Mas oque podemos monitorar ??? Qualquer coisa… que possamos imaginar !!!
  • 4.
    Exemplos Espaço em Disco(HD) Consumo de Memória RAM Carga do Processador Logs Críticos Customização através de Scripts - Python, ShellScript… |
 |
 |
 |
 | Roteadores Equipamentos de Energia Salas, Datacenters, Portas
  • 5.
    Vamos ao queinteressa !!! - Instalação limpa do Debian10 Instalar o “curl" -> apt-get install curl curl -sSL https://get.docker.com/ | sh - Instalar o Docker (Parte mais difícil) :) - Instalar o Zabbix Agent apt-get install zabbix-agent (Scripts Customizáveis)
  • 6.
    Criando os Containers -MySQL 5.7 docker run -d -p 0.0.0.0:3306:3306 --restart always -e TIMEZONE=America/Sao_Paulo 
 -v /var/lib/mysql:/var/lib/mysql 
 -v /var/log/mysql:/var/log/mysql 
 -v /var/sock/mysqld:/var/sock/mysqld 
 -e MYSQL_ROOT_PASSWORD=SUASENHASUPERSEGURA 
 -e MYSQL_GENERAL_LOG=1 
 -e MYSQL_SOCKET_DIR=/var/sock/mysqld/ 
 —name mysql5_7 cytopia/mysql-5.7
  • 7.
    Criando os Containers -Zabbix Server docker run -p 0.0.0.0:10051:10051 --restart always --name zabbix 
 -e DB_SERVER_HOST="mysql5_7" 
 -e MYSQL_USER="root" 
 -e MYSQL_PASSWORD="SUASENHASUPERSEGURA" 
 -v /usr/lib/zabbix/alertscripts/:/usr/lib/zabbix/alertscripts/ 
 -v /usr/lib/zabbix/externalscripts/:/usr/lib/zabbix/externalscripts/ 
 —link mysql5_7 -d zabbix/zabbix-server-mysql:alpine-4.2.7 docker exec -ti zabbix sh -c "/sbin/apk update; /sbin/apk add curl; apk add py-setuptools; easy_install-2.7 pip; pip install pymongo py-zabbix"
  • 8.
    Criando os Containers -Zabbix Web Interface docker run -p 0.0.0.0:80:80 --restart always --name zabbixweb —link zabbix --link mysql5_7 -e DB_SERVER_HOST="mysql5_7" -e MYSQL_USER="root" -e MYSQL_PASSWORD=“SUASENHASUPERSEGURA" -e ZBX_SERVER_HOST="zabbix" -e PHP_TZ="America/Sao_Paulo" -d zabbix/zabbix-web-nginx-mysql:alpine-4.2.7
  • 9.
    Criando os Containers -Grafana docker run -d --name grafana -p 0.0.0.0:3000:3000 --restart always -e “GF_INSTALL_PLUGINS=grafana-simple-json-datasource, alexanderzobnin-zabbix-app" -v /var/lib/grafana:/var/lib/grafana grafana/grafana:6.4.1
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
    Integração - Zabbix+ UserParameters do Agent - Aba Hosts Clicar no host do próprio Servidor Zabbix Clicar no Create Application Clicar no Item Clicar no Create Item
  • 16.
    Muitos passos… mas umresultado final muito interessante
  • 17.
  • 18.
    Sistema Monitorado noZabbix + Grafana
  • 19.
  • 20.
  • 21.