Visão geral do Prometheus e serviços de integração de implantação

1. Visão geral do Prometeu

Prometheus é uma combinação de monitoramento de código aberto, alarmes e bancos de dados de séries temporais. Adequado para monitorar contêineres Docker. Porque a popularidade do Kubernetes impulsionou o desenvolvimento do Prometheus,
site oficial: https://prometheus.io/

2. Dados de série temporal

1. O que são dados de sequência?

Dados de série temporal: os dados que registram mudanças no status do sistema e do equipamento em ordem cronológica são chamados de dados de série temporal.
Existem muitos cenários de aplicação: como

  • A longitude, latitude, velocidade, direção, distância lateral, etc. que precisam ser registradas durante a operação do veículo sem motorista.
  • Dados de trajetória de condução de cada veículo em uma determinada área
  • Dados de transações em tempo real da indústria tradicional de valores mobiliários
  • Dados de monitoramento de operação e manutenção em tempo real, etc.

2. Características dos dados de série temporal

  • Bom desempenho:
    bancos de dados relacionais apresentam baixo desempenho para processamento de dados em grande escala. O NoSQL pode lidar melhor com dados em grande escala, mas ainda não é tão bom quanto os bancos de dados de série temporal.
  • Baixo custo de armazenamento e
    algoritmo de compactação eficiente, economizando espaço de armazenamento e reduzindo efetivamente IO

3.Principais características do Prometheus

  • Modelo de dados multidimensional
  • linguagem de consulta flexível
  • Não depende de armazenamento distribuído, os nós de servidor individuais são autônomos
  • Use HTTP para extrair dados de série temporal por meio do modelo Pull
  • Os modelos push também podem ser suportados através de gateways intermediários
  • Descubra objetos de serviço de destino por meio de descoberta de serviço ou configuração estática
  • Suporta uma variedade de ícones e exibições de interface

4.Diagrama de arquitetura do princípio do Prometheus

Etapas de implantação de serviço (com base no ambiente docker, implantação e monitoramento de contêineres locais e recursos de contêiner de monitoramento entre locais)

Requer duas máquinas virtuais

O primeiro

root@ubuntu20:~# docker pull google/cadvisor

Executar contêiner

root@ubuntu20:~# docker run\

> --volume=/var/run:/var/run:ro \

> --volume=/sys:/sys:ro \

> --volume=/var/lib/docker/:/var/lib/docker:ro \

> --volume=/dev/disco/:/dev/disco:ro \

> --publicar=8080:8080 \

> --detach=verdadeiro \

> --nome=cadvisor\

> --privilegiado \

> --device=/dev/kmsg \

> google/cadvisor

 Ver status da porta

 Acesso ao navegador

 Venha para o segundo canal

root@ubuntu20:~# docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys/:/sys:ro --volume=/ var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor -- privilegiado --device=/dev/kmsg google/cadvisor

Baixar imagem

Operações que devem ser executadas em ambos os hosts

root@ubuntu20:~# docker pull prom/node-exportador

O primeiro:

Baixar imagem

root@ubuntu20:~# docker pull prom/Prometheus

root@ubuntu20:~# docker pull grafana/grafana

 root@ubuntu20:~# docker run -d -p 9100:9100 --volume /proc/:/host/proc --volume /sys:/host/sys --volume /:/roofs --name node-exporter baile /node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($$ |/)"

Ver status da porta 

 Segunda estação:

Execute o mesmo

docker run -d -p 9100:9100 --volume /proc/:/host/proc --volume /sys:/host/sys --volume /:/roofs --name node-exporter prom/node-exporter -- path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($$|/)"

 

 Janela de exibição

 O primeiro

root@ubuntu20:~# vim prometheus.yml

Adicionar à:

global:

  scrape_interval: 15s # Por padrão, raspa os alvos a cada 15 segundos.

  # Anexe esses rótulos a quaisquer séries temporais ou alertas ao se comunicar com # sistemas externos (federação, armazenamento remoto, Alertmanager).

  rótulos_externos:

    monitor: 'codelab-monitor'

# Uma configuração de raspagem contendo exatamente um endpoint para raspar:

# Aqui é o próprio Prometheus.

scrape_configs:

  # O nome do trabalho é adicionado como um rótulo `job=<job_name>` a qualquer série temporal extraída desta configuração.

  - nome_do_trabalho: 'prometheus'

    configurações estáticas:

            - alvos: ['192.168.0.143:9090','192.168.0.143:9100','192.168.0.143:8080','192.168.0.141:8080','192.168.0.141:9100']

correr

root@ubuntu20:~# docker run -d -p 9090:9090 --volume /root/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus baile/Prometheus

 Janela de exibição

Acesso ao navegador

http://192.168.0.143:9090/

 

 

 Construa com sucesso

Em seguida, continuamos a implantar a página gráfica (implantada no primeiro servidor)

root@ubuntu20:~# docker run -d -p 3000:3000 -e "GF_SECURITY_ADMIN_PASSWORD=123456" grafana/grafana

 Verifique o status da porta

 

Conta padrão: administrador   

A senha é: 123456

 

Clique no primeiro prometheus para configurá-lo

 

 

Salvar na parte inferior

 Em seguida, acesse o site oficial da grafana para baixar o arquivo json do dial de monitoramento

​​​​​​Painéis | Laboratórios Grafana

 

Painéis de pesquisa

 

 

 

Baixe o arquivo json para local

Volte para o prometheus e pesquise importar, configure e adicione o arquivo json

 

 

 

OK 

Acho que você gosta

Origin blog.csdn.net/weixin_53053517/article/details/132407447
Recomendado
Clasificación