Documentação técnica do Prometheus -- Instalação básica - Instalação do Docker e montagem de volumes de dados - "Dez minutos para criar"

1. Veja a versão instalável

docker search prom/prometheus

 2. Puxe a imagem

docker pull prom/prometheus

 3. Veja a imagem espelhada

docker images

 Quarto, escreva o arquivo de configuração - e crie um diretório de montagem

Localização do diretório de montagem do host:

E prepare o diretório de montagem correspondente:

/usr/local/docker/promethues/servidor

Prepare da seguinte forma:

dados、config、regras、ClientAll、servidor

  Autorizar permissões de pastas relacionadas

chmod -R 777 /usr/local/docker/prometheus/data
chmod -R 777 /usr/local/docker/prometheus/config
chmod -R 777 /usr/local/docker/prometheus/rules
chmod -R 777 /usr/local/docker/prometheus/ClientAll
chmod -R 777 /usr/local/docker/prometheus/server

 Local de destino do contêiner:

/etc/prometheus/prometheus.yml

Edite o arquivo de configuração com o código:

vim /usr/local/docker/prometheus/server/prometheus.yml

Escreva a seguinte configuração: 

global:
  scrape_interval: 15s # 设置抓取间隔为每15秒。
  evaluation_interval: 15s # 每隔15秒评估规则。

rule_files:
  - /prometheus/rules/*.yml # 这里匹配指定目录下所有的.rules文件

scrape_configs:
  - job_name: "阿丹服务器" #使用配置来发现服务
    static_configs:
      - targets: ['ip:9090']
        labels:
          instance: prometheus
  - job_name: "服务发现"
    file_sd_configs:
      - files:
        - /prometheus/ClientAll/*.json # 用json格式文件方式发现服务,下面的是用yaml格式文件方式,都可以
        refresh_interval: 10m
      - files:
        - /prometheus/ClientAll/*.yaml # 用yaml格式文件方式发现服务
        refresh_interval: 10m

Explique a configuração:

Este prometheus.ymlarquivo é o arquivo de configuração do Prometheus. Ele define como o Prometheus coleta e armazena dados de monitoramento e como usar esses dados para avaliação de regras e alertas.

Vamos ler este arquivo linha por linha:

  • global: scrape_interval: 60s: Esta linha define o intervalo de raspagem global para 60 segundos. Isso significa que o Prometheus buscará dados dos alvos que ele monitora a cada 60 segundos. O intervalo de busca padrão é a cada minuto.
  • evaluation_interval: 60s: Esta linha define o intervalo de avaliação da regra global (intervalo de avaliação) para 60 segundos. Isso significa que o Prometheus avaliará (avaliará) suas regras (regras) a cada 60 segundos. O intervalo de avaliação padrão também é a cada minuto.
  • scrape_configs:: Este campo representa uma lista contendo configurações de raspagem. Cada configuração de raspagem define um ou mais destinos a serem monitorados e como extrair dados desses destinos.
  • - job_name: prometheus: esta linha inicia uma nova configuração de rastreamento. Essa configuração job_namesignifica prometheusque ele monitora os dados do próprio servidor Prometheus.
  • static_configs:: Este campo representa uma configuração estática, que define o destino a ser monitorado e os rótulos no destino.
  • - targets: ['172.17.0.1:8892']: Esta linha define um alvo de monitoramento. Neste exemplo, o destino é um servidor Prometheus em execução em um endereço IP 172.17.0.1e porta .8892
  • labels: instance: prometheus: Esta linha define alguns rótulos. Tags são metadados anexados a objetos e podem ser usados ​​para filtragem e agrupamento. Neste exemplo, uma instancetag é adicionada com um valor de prometheus.

No geral, esse arquivo de configuração configura o Prometheus para coletar dados de si mesmo (endereço IP 172.17.0.1, porta 8892) e coletar dados a cada 60 segundos e avaliar regras a cada 60 segundos.

A configuração atual apenas monitora a si mesma:

Se você deseja que o Prometheus monitore outros servidores, é necessário modificar targetso valor em . Substitua pelo endereço IP e número da porta do serviço a ser monitorado.

Uma configuração de tarefa monitora vários:

Você pode configurar vários destinos de monitoramento, basta static_configsadicionar vários sob o mesmo targets. Cada destino precisa usar o endereço IP correspondente e o número da porta. Por exemplo:

scrape_configs:
 - job_name: 'prometheus'
   static_configs:
     - targets: ['target1_ip:port', 'target2_ip:port']

No exemplo acima, target1_ip:porte target2_ip:portsão o endereço IP real e o número da porta do serviço que você deseja monitorar. Você pode adicionar mais alvos conforme necessário.

Observe que, se você precisar monitorar um grande número de alvos, pode ser necessário usar diferentes métodos de configuração de captura, como usar configuração dinâmica (dynamic_configs) ou carregamento automático de arquivos de configuração (file_sd_configs). Esses métodos podem ler a configuração de destino de um arquivo para facilitar o gerenciamento e a manutenção de um grande número de destinos de monitoramento.

Configure o monitoramento correspondente a várias tarefas (configuração correspondente):

        Se você deseja monitorar vários destinos, precisa scrape_configsconfigurar vários em job_name.

Para cada alvo a ser         monitorado, um novo precisa ser criado ejob_name configurado adequadamente emstatic_configstargetslabels

Veja a seguir um exemplo de arquivo de configuração com dois alvos de monitoramento configurados:

global:
  scrape_interval: 60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: prometheus1
    static_configs:
      - targets: ['ip:9090']
        labels:
          instance: prometheus1
  - job_name: prometheus2
    static_configs:
      - targets: ['ip2:9090']
        labels:
          instance: prometheus2

        No exemplo acima, criamos dois diferentes job_name: prometheus1e prometheus2. Para cada job_name, configuramos o target ( targets) e o label ( labels) correspondentes.

        Mais podem ser adicionados job_namepara monitorar mais alvos conforme necessário. Basta seguir o mesmo padrão para cada destino para criar um novo job_namee configurar o destino correspondente static_configsem .

Cinco, execute prometheus

Use o código a seguir para executar o prometheus, preste atenção ao custom

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
 
 
docker run -itd --name prometheus -p 9090:9090 \
-v /usr/local/docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/docker/prometheus/data:/prometheus/data \
-v /usr/local/docker/prometheus/config:/prometheus/config \
-v /usr/local/docker/prometheus/rules:/prometheus/rules \
-v /usr/local/docker/prometheus/ClientAll:/prometheus/ClientAll \
prom/prometheus --web.enable-lifecycle

Use ip+9090 para acessar 

Visita bem sucedida! 

Acho que você gosta

Origin blog.csdn.net/weixin_72186894/article/details/132162467
Recomendado
Clasificación