Docker prom/Prometheus 容器退出

Docker prom/Prometheus container exits

当我 运行 此命令创建 docker 容器但显示在退出状态 我无法启动它

我的目标是能够用自定义 prometheus.yml 替换 prometheus.yml 文件来监控 nginx 运行ning 在 http://localhost:70/nginx_status

   docker run -it -d --name prometheus3 -p 9090:9090 -v 
    /opt/docker/prometheus:/etc/prometheus prom/prometheus - 
    config.file=/etc/prometheus/prometheus.yml

这是我的 prometheus.yml 文件

     scrape_configs: 
     - job_name: 'prometheus' 

     scrape_interval: 5s 
     scrape_timeout: 5s 

     static_configs: 
       - targets: ['localhost: 9090'] 

       - job_name: 'node' 
     static_configs: 
     - targets: ['localhost: 70/nginx_status'] 

您应该可以通过 运行 查看已停止容器的日志:

docker logs prometheus3

无论如何,您的配置(至少)有两个问题:

  1. prometheus.yml文件无效,prometheus进程立即退出
    scrape_intervalscrape_timeout 需要在 global 部分中并且缩进已关闭。有关格式正确的 yml 文件的示例,请参见下文。

    2.) 您不能只抓取 /nginx_status 端点,而是需要使用 nginx 导出器来为您提取指标。然后 Prometheus 服务器将抓取 nginx_exporter 以检索指标。您可以查找出口商列表 here 并选择适合您的。
    一旦你有了出口商运行,你需要将普罗米修斯指向出口商的地址,这样它就可以被抓取了。


工作prometheus.yml:

global:
  scrape_interval: 5s 
  scrape_timeout: 5s 

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'node' 
    static_configs: 
    - targets: ['<< host name and port of nginx exporter >>']