मेरा एसएनएमपी निर्यातक कुबेरनेट्स का उपयोग करके कहीं होस्ट किया गया है। मैं इसे इस तरह यूआरएल के माध्यम से एक्सेस और चला सकता हूं और एक निर्दिष्ट लक्ष्य के लिए मीट्रिक प्राप्त कर सकता हूं: https://some.kube.server.name/api/snmp-exporter/snmp?target=AFACG1

प्रोमेथियस के लिए गतिशील रूप से लक्ष्य लोड करने के लिए मेरे लक्ष्यों की सूची targets.json फ़ाइल में file_sd_configs का उपयोग करके prometheus.yml फ़ाइल में है।

मेरी prometheus.yml फ़ाइल नीचे की तरह दिखती है:

scrape_configs:
  - job_name: 'snmp'
    scrape_interval: 120s
    file_sd_configs:
        - files :
          - /etc/prometheus/targets.json

    metrics_path: /snmp

    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: https://some.kube.server.name/api/snmp-exporter/  # The SNMP exporter's real hostname:port.

और मेरी targets.json फ़ाइल नीचे की तरह दिखती है:

[
   {
        "labels": {
            "job": "snmp"
        },
        "targets": [
            "AFACG1",
            "AFACG3",
            "AFACG5",
            "AFACG7",
            "AFACG8",
            "AFACG9"
        ]
    }
]

हालांकि, जब मैं प्रोमेथियस चलाता हूं, तो मुझे त्रुटि मिलती है \"https://some.kube.server.name/api/snmp-exporter\" वैध होस्टनाम नहीं है"

targets.json में लक्ष्य के लिए मीट्रिक प्राप्त करने के लिए मुझे prometheus.yml में कौन से संशोधन करने होंगे?

1
Santosh M. 21 अक्टूबर 2020, 17:50

1 उत्तर

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

पढ़ने के बाद, मुझे अपने प्रश्न का उत्तर मिल गया जो अच्छी तरह से काम कर रहा है। यहाँ, मैं अपने संशोधित scrape_configs के साथ क्या आया:

scrape_configs:
  - job_name: 'snmp'
    scheme: https
    scrape_interval: 120s
    tls_config:
      insecure_skip_verify: true
    file_sd_configs:
        - files :
          - /etc/prometheus/targets.json

    metrics_path: /api/snmp-exporter/snmp

    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: some.kube.server.name

मुझे उम्मीद है कि इससे अन्य लोगों को मदद मिलेगी जो इसी तरह की समस्या का सामना करेंगे।

1
Santosh M. 26 अक्टूबर 2020, 13:49