Documentación técnica de Prometheus--Instalación básica-Instalación de Docker y montaje de volúmenes de datos-"Diez minutos para compilar"

1. Ver la versión instalable

docker search prom/prometheus

 2. Tire de la imagen

docker pull prom/prometheus

 3. Ver la imagen del espejo

docker images

 Cuarto, escriba el archivo de configuración y cree un directorio de montaje

Ubicación del directorio de montaje del host:

Y prepara el directorio de montaje correspondiente:

/usr/local/docker/promethues/servidor

Prepárese de la siguiente manera:

datos, configuración, reglas, ClientAll, servidor

  Autorizar permisos de carpetas 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

 Ubicación del contenedor de destino:

/etc/prometeo/prometeo.yml

Edite el archivo de configuración con el código:

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

Escriba la siguiente configuración: 

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

Explicar la configuración:

Este prometheus.ymlarchivo es el archivo de configuración de Prometheus. Define cómo Prometheus recopila y almacena datos de monitoreo y cómo usar estos datos para la evaluación de reglas y alertas.

Leamos este archivo línea por línea:

  • global: scrape_interval: 60s: esta línea establece el intervalo de raspado global en 60 segundos. Esto significa que Prometheus obtendrá datos de los objetivos que monitorea cada 60 segundos. El intervalo de recuperación predeterminado es cada minuto.
  • evaluation_interval: 60s: esta línea establece el intervalo de evaluación de la regla global (intervalo de evaluación) en 60 segundos. Esto significa que Prometheus evaluará (evaluará) sus reglas (reglas) cada 60 segundos. El intervalo de evaluación predeterminado también es cada minuto.
  • scrape_configs:: Este campo representa una lista que contiene configuraciones de scrap. Cada configuración de raspado define uno o más objetivos para monitorear y cómo raspar datos de esos objetivos.
  • - job_name: prometheus: esta línea inicia una nueva configuración de rastreo. Esta configuración job_namesignifica prometheusque monitorea los datos del propio servidor Prometheus.
  • static_configs:: este campo representa una configuración estática, que define el objetivo a monitorear y las etiquetas en el objetivo.
  • - targets: ['172.17.0.1:8892']: esta línea define un objetivo de supervisión. En este ejemplo, el objetivo es un servidor Prometheus que se ejecuta en una dirección IP 172.17.0.1y un puerto .8892
  • labels: instance: prometheus: Esta línea define algunas etiquetas. Las etiquetas son metadatos adjuntos a los objetos y se pueden usar para filtrar y agrupar. En este ejemplo, instancese agrega una etiqueta con un valor de prometheus.

En general, este archivo de configuración configura a Prometheus para que recopile datos de sí mismo (dirección IP 172.17.0.1, puerto 8892) y recopile datos cada 60 segundos y evalúe las reglas cada 60 segundos.

La configuración actual solo se monitorea a sí misma:

Si desea que Prometheus supervise otros servidores, debe modificar targetsel valor en . Reemplace con la dirección IP y el número de puerto del servicio a monitorear.

Una configuración de tareas monitorea múltiples:

Puede configurar múltiples objetivos de monitoreo, simplemente static_configsagregue varios bajo el mismo targets. Cada objetivo debe usar la dirección IP y el número de puerto correspondientes. Por ejemplo:

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

En el ejemplo anterior, target1_ip:porty target2_ip:portson la dirección IP real y el número de puerto del servicio que desea monitorear. Puede agregar más objetivos según sea necesario.

Tenga en cuenta que si necesita monitorear una gran cantidad de objetivos, es posible que deba usar diferentes métodos de configuración de captura, como el uso de la configuración dinámica (dynamic_configs) o la carga automática de archivos de configuración (file_sd_configs). Estos métodos pueden leer la configuración de objetivos de un archivo para facilitar la gestión y el mantenimiento de un gran número de objetivos de supervisión.

Configure el monitoreo correspondiente de múltiples tareas (configuración correspondiente):

        Si desea monitorear varios objetivos, debe scrape_configsconfigurar varios en job_name.

Para cada objetivo a         monitorear, se debe crear uno nuevo yjob_name configurarlo en consecuencia enstatic_configstargetslabels

El siguiente es un archivo de configuración de ejemplo con dos objetivos de monitoreo 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

        En el ejemplo anterior, creamos dos job_name: prometheus1y prometheus2. Para cada uno job_name, configuramos el target ( targets) y la etiqueta ( labels) correspondientes.

        Se pueden agregar más job_namepara monitorear más objetivos según sea necesario. Simplemente siga el mismo patrón para cada destino para crear uno nuevo job_namey configure el destino correspondiente static_configsen .

Cinco, corre Prometeo

Use el siguiente código para ejecutar Prometheus, preste atención a la costumbre

# -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

Usa ip+9090 para acceder 

¡Visita exitosa! 

Supongo que te gusta

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