मेरे पास प्रोमेथियस, nginx-vts, php और nginx-vts-exporter सभी अलग-अलग कंटेनरों में हैं, मैं निर्यातक से प्रोमेथियस को मेट्रिक्स प्राप्त करने की कोशिश कर रहा हूं, यह मुझे बताता रहता है http://127.0.0.1:9913/metrics: tcp 127.0.0.1:9913 डायल करें: कनेक्ट करें: कनेक्शन अस्वीकृत

जब मैं डॉकर-लिखें फ़ाइल प्रारंभ करता हूं तो मुझे यह त्रुटि मिलती है
2019/03/01 17:42:55 fetchHTTP विफल http://localhost/status/format/json: tcp 127.0.0.1:80 डायल करें: getockopt: कनेक्शन अस्वीकृत

यह मेरी nginx.con फ़ाइल है

server
{
listen   80;
server_name localhost.x.com;

root /var/www/html/x.com;
index index.php index.html index.htm;




location /
{
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

location ~ \.php$ {
    fastcgi_pass   test-php:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}



    location /status {
        vhost_traffic_status_display;
        vhost_traffic_status_bypass_stats on;
        vhost_traffic_status_display_format html;
        allow all;


    }


}

यह मेरी डोकर-लिखें फ़ाइल है

version: '3'
services:
  php:
    container_name: php
    image: php:fpm
    volumes:
      - ./code:/var/www/html/x


  nginx:
    container_name: Nginx
    image: arquivei/nginx-vts:latest
    volumes:
      - ./code:/var/www/html/x.com
      - ./site.conf:/etc/nginx/conf.d/x.conf:ro
    ports:
      - 80:80
    links: 
     - nginx-vts-exporter

  prom:
    container_name: Prometheus
    image: prom/prometheus:latest
    volumes: 
     - ./monitor/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
     - 9090:9090




  nginx-vts-exporter:
    container_name:  Exporter
    image: sophos/nginx-vts-exporter:latest
    ports:        
     - 9913:9913

यह मेरा प्रोमेथियस है

  global:
    scrape_interval: 15s
    evaluation_interval: 15s
scrape_configs:
 - job_name: nginx
   static_configs:
    - targets: ['127.0.0.1:9913']

 - job_name: prometheus
   static_configs:
    - targets: ['127.0.0.1:9090']
0
Tyr_90 1 मार्च 2019, 20:25

1 उत्तर

सबसे बढ़िया उत्तर

अपनी prometheus.yml फ़ाइल में, आपको nginx निर्यातक के लिए लक्ष्य के रूप में 127.0.0.1:9913 के बजाय nginx-vts-exporter:9913 का उपयोग करना चाहिए। प्रोमेथियस लक्ष्य के लिए भी। १२७.०.०.१ का उपयोग न करें लेकिन कंटेनर का नाम।

इसके अलावा, ऐसा लगता है कि आपको स्थिति की जानकारी प्राप्त करने के लिए nginx निर्यातक को nginx:80 परिमार्जन करने के लिए कॉन्फ़िगर करने की आवश्यकता है, न कि लोकलहोस्ट की। आप अपनी docker-compose फ़ाइल में nginx-vts-exporter कंटेनर के लिए पर्यावरण चर NGINX_HOST से http://nging/status/format/json पर सेट करके ऐसा कर सकते हैं, कुछ इस तरह:

  nginx-vts-exporter:
      container_name:  Exporter
      image: sophos/nginx-vts-exporter:latest
      environment:
        - NGINX_HOST="http://nging/status/format/json"       
      ports:        
       - 9913:9913
0
Oliver 1 मार्च 2019, 18:45