View a markdown version of this page

Richten Sie verwaltete Prometheus-Collectors für Amazon Service ein OpenSearch - Amazon Managed Service für Prometheus

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richten Sie verwaltete Prometheus-Collectors für Amazon Service ein OpenSearch

Der von Amazon Managed Service for Prometheus verwaltete Collector für Amazon OpenSearch Service entfernt automatisch Prometheus-compatible Metriken aus Ihrer OpenSearch Service-Domain und leitet sie an Ihr Ziel weiter. Amazon Managed Service for Prometheus verwaltet den Collector für Sie und bietet Ihnen die Skalierbarkeit, Sicherheit und Zuverlässigkeit, die Sie benötigen, ohne dass Sie Instances, Agenten oder Scraper selbst verwalten müssen. Ihr Ziel kann ein Amazon Managed Service für Prometheus Workspace oder Amazon sein. CloudWatch

Sie können auch einen Scraper erstellen, der in Amazon Elastic Kubernetes Service oder in Amazon Managed Streaming für Apache Kafka integriert ist. Weitere Informationen finden Sie unter Integrieren von Amazon EKS und Integrieren von Amazon MSK.

Einen Scraper erstellen

Bei diesem Verfahren wird davon ausgegangen, dass Sie mit der Amazon OpenSearch Service-Domainverwaltung und den Netzwerkkonzepten von Amazon Virtual Private Cloud vertraut sind.

Für die Erstellung eines Scrapers für eine OpenSearch Service-Domain gibt es einige Voraussetzungen:

  • Eine Amazon OpenSearch Service-Domain mit Amazon Virtual Private Cloud-Zugriff. Verwaltete Collectors unterstützen nur OpenSearch Service-Domains, die VPC-Zugriff haben. Domänen mit öffentlichem Zugriff werden nicht unterstützt.

  • Sicherheitsgruppen, die es dem verwalteten Collector ermöglichen, Ihren OpenSearch Service-Domain-Endpunkt über HTTPS (Port 443) zu erreichen. Fügen Sie der Sicherheitsgruppe der Domain eine Regel für eingehenden Datenverkehr hinzu, die HTTPS-Verkehr aus der Sicherheitsgruppe zulässt, die Sie für den Collector angeben.

Um dem Scraper mitzuteilen, von welcher OpenSearch Service-Domain er Daten abrufen soll, geben Sie die Domain im exporters Feld der Anfrage an. Das exporters Feld enthält eine Liste von Exportkonfigurationen. Geben Sie für eine OpenSearch Service-Domain eine openSearchConfiguration mit domainArn der Domain an. Sie geben das Netzwerk (Subnetze und Sicherheitsgruppe) separat in dem source Feld an, wie in den folgenden Beispielen gezeigt.

Anmerkung

Der Scraper verwendet den VPC-Endpunkt der Domain, der bei der Erstellung des Scrapers aufgelöst wurde. Wenn Sie die Domain neu erstellen, erhält sie einen neuen Endpunkt. Sie müssen also einen neuen Scraper erstellen oder den vorhandenen aktualisieren, um Daten von dort abzuholen. UpdateScraper

Sie geben eine Scrape-Konfiguration an, wenn Sie den Scraper erstellen. Der verwaltete Collector stellt eine Verbindung zu der von Ihnen angegebenen Domain her und erfasst seine Metriken automatisch, sodass Sie in der Konfiguration keine Scrape-Ziele angeben. Die Konfiguration muss einen scrape_configs Abschnitt mit einem Job enthalten, dessen Name exakt job_name opensearch-exporter ist. Eine Konfiguration, die keinen Jobnamen enthält, opensearch-exporter wird abgelehnt. Verwenden Sie die Scrape-Konfiguration, um das Scrape-Intervall festzulegen und optional die gesammelten Metriken zu filtern oder neu zu kennzeichnen. Im Folgenden finden Sie ein Beispiel für eine Scrape-Konfiguration:

global: external_labels: domain_name: my-opensearch-domain scrape_configs: - job_name: opensearch-exporter scrape_interval: 60s

Weitere Informationen zu den unterstützten Scrape-Konfigurationsoptionen finden Sie unter. Scraper-Konfiguration

To create a scraper using the AWS API

Verwenden Sie die CreateScraper API-Operation, um einen Scraper mit der AWS API zu erstellen. Das folgende Beispiel erstellt einen Scraper in der Region USA Ost (Nord-Virginia), der Metriken aus einer OpenSearch Service-Domain sammelt und sie an einen Amazon Managed Service for Prometheus Workspace sendet. Ersetzen Sie den example Inhalt durch Ihre eigene Domain, Ihr Netzwerk und Ihre Workspace-Informationen und geben Sie Ihre Scraper-Konfiguration an.

Anmerkung

Konfigurieren Sie die Sicherheitsgruppe und die Subnetze so, dass sie der Amazon-VPC Ihrer OpenSearch Service-Domain entsprechen. Schließen Sie mindestens zwei Subnetze in zwei Availability Zones ein.

POST /scrapers HTTP/1.1 { "alias": "myScraper", "source": { "vpcConfiguration": { "securityGroupIds": ["sg-security-group-id"], "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"] } }, "exporters": [ { "openSearchConfiguration": { "domainArn": "arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain" } } ], "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id" } }, "scrapeConfiguration": { "configurationBlob": "base64-encoded-blob" } }

Um die Metriken an Amazon und CloudWatch nicht an einen Amazon Managed Service for Prometheus Workspace zu senden, ersetzen Sie das destination durch eine Konfiguration: CloudWatch

"destination": { "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-east-1:123456789012:dataset/default" } }

Der scrapeConfiguration Parameter erfordert eine Base64-kodierte Prometheus-Konfigurations-YAML-Datei. Führen Sie einen der folgenden Befehle aus, um die YAML-Datei in Base64 zu konvertieren. Sie können auch einen beliebigen Online-Base64-Konverter verwenden, um die Datei zu konvertieren.

Beispiel Linux/macOS
base64 -w0 scraper-config.yaml
Beispiel Windows PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("scraper-config.yaml"))
To create a scraper using the AWS CLI

Verwenden Sie den create-scraper Befehl, um einen Scraper mit dem AWS Command Line Interface zu erstellen. Im folgenden Beispiel wird ein Scraper in der Region USA Ost (Nord-Virginia) erstellt. Ersetzen Sie den example Inhalt durch Ihre eigenen Domain-, Netzwerk- und Workspace-Informationen und geben Sie Ihre Scraper-Konfiguration an.

Anmerkung

Konfigurieren Sie die Sicherheitsgruppe und die Subnetze so, dass sie der Amazon-VPC Ihrer OpenSearch Service-Domain entsprechen. Schließen Sie mindestens zwei Subnetze in zwei Availability Zones ein.

aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain"}}]' \ --scrape-configuration configurationBlob=base64-encoded-blob \ --destination '{"ampConfiguration":{"workspaceArn":"arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id"}}'
  • Im Folgenden finden Sie eine vollständige Liste der Scraper-Operationen, die Sie mit der AWS API verwenden können:

    Erstellen Sie einen Scraper mit der CreateScraper API-Operation.

  • Listen Sie Ihre vorhandenen Scraper mit der ListScrapers API-Operation auf.

  • Aktualisieren Sie den Alias, die Konfiguration oder das Ziel eines Scrapers mit der UpdateScraper API-Operation.

  • Löschen Sie einen Scraper mit der DeleteScraper API-Operation.

  • Erfahren Sie mehr über einen Scraper mit der DescribeScraper API-Operation.

Cross-account einrichten

Gehen Sie wie folgt vor, um einen Scraper in einer kontoübergreifenden Konfiguration zu erstellen, wenn sich die OpenSearch Service-Domain, für die Sie Metriken sammeln möchten, in einem anderen Konto als der Amazon Managed Service for Prometheus Collector befindet.

Sie haben beispielsweise zwei Konten: ein Quellkonto, auf account_id_source dem sich die OpenSearch Service-Domain befindet, und ein Zielkonto, auf account_id_target dem sich der Amazon Managed Service for Prometheus Workspace befindet.

Anmerkung

Die Vertrauensrichtlinien in den folgenden Schritten beziehen sich auf den Scraper anhand seines ARN. Dazu gehört auch ein Wert, der erst existiertscraper-id, wenn Sie den Scraper erstellen. Um dieses Ordnungsproblem zu vermeiden, erstellen Sie zuerst die Rollen mit einem Platzhalter (scraper/*) anstelle des spezifischen Scraper-ARN, erstellen Sie den Scraper und aktualisieren Sie dann beide Vertrauensrichtlinien, um den Platzhalter durch den tatsächlichen Scraper-ARN zu ersetzen, der zurückgegeben wird. CreateScraper

Um einen Scraper in einem kontoübergreifenden Setup zu erstellen
  1. Erstellen Sie im Quellkonto eine Rolle arn:aws:iam::111122223333:role/Source und fügen Sie die folgende Vertrauensrichtlinie hinzu.

    { "Effect": "Allow", "Principal": { "Service": [ "scraper.aps.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" }, "StringEquals": { "AWS:SourceAccount": "111122223333" } } }
  2. Erstellen Sie im Zielkonto eine Rolle arn:aws:iam::444455556666:role/Target und fügen Sie die folgende Vertrauensrichtlinie hinzu, sodass die Quellrolle diese übernehmen kann.

    { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Source" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" } } }

    Hängen Sie der Zielrolle eine Berechtigungsrichtlinie an, die es ihr ermöglicht, an Ihr Ziel zu schreiben. Wenn es sich bei Ihrem Ziel um einen Amazon Managed Service for Prometheus Workspace handelt, fügen Sie das Dokument bei AmazonPrometheusRemoteWriteAccess (was gewährtaps:RemoteWrite). Wenn Ihr Ziel Amazon ist CloudWatch, fügen Sie dem Datensatz eine Richtlinie bei, die die Gewährung gewährtcloudwatch:PutMetricData.

  3. Erstellen Sie einen Scraper mit der --role-configuration Option.

    aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:aws-region:111122223333:domain/my-opensearch-domain"}}]' \ --scrape-configuration configurationBlob=<base64-encoded-blob> \ --destination '{"ampConfiguration":{"workspaceArn":"arn:aws:aps:aws-region:444455556666:workspace/ws-workspace-id"}}' \ --role-configuration '{"sourceRoleArn":"arn:aws:iam::111122223333:role/Source", "targetRoleArn":"arn:aws:iam::444455556666:role/Target"}'
  4. Bestätigen Sie die Erstellung des Scrapers.

    aws amp list-scrapers

Suchen und Löschen von Scrapern

Sie können die AWS API oder die verwenden AWS CLI , um die Scraper in Ihrem Konto aufzulisten oder zu löschen.

Anmerkung

Stellen Sie sicher, dass Sie die neueste Version des AWS CLI oder SDK verwenden. Die neueste Version bietet Ihnen die neuesten Features und Funktionen sowie Sicherheitsupdates. Verwenden Sie alternativ automatisch AWS CloudShell, sodass die Befehlszeile immer auf dem neuesten Stand ist.

Die ListScrapers-API-Operation listet alle Scraper in Ihrem Konto auf. Rufen Sie alternativ mit dem AWS CLI:

aws amp list-scrapers

Suchen Sie zum Löschen eines Scrapers mithilfe der ListScrapers-Operation die scraperId für den Scraper, den Sie löschen möchten, und verwenden Sie dann die DeleteScraper-Operation, um ihn zu löschen. Rufen Sie alternativ mit AWS CLI dem an:

aws amp delete-scraper --scraper-id scraperId

Von Amazon OpenSearch Service gesammelte Metriken

Bei der Integration mit Amazon OpenSearch Service entfernt der Amazon Managed Service for Prometheus Collector automatisch Prometheus-compatible Kennzahlen, die den Zustand und die Leistung Ihrer Domain beschreiben. Der Collector gibt mehrere hundert Metriken aus. In den folgenden Tabellen sind repräsentative Metriken aus jeder Kategorie aufgeführt. Die opensearch_indices_ Metriken in den folgenden Tabellen sind domänenübergreifend zusammengefasst, und viele haben reine Primärwerte und Gesamtvarianten (mit dem Suffix oder). _primary _total Der Collector gibt außerdem dieselben Statistiken pro Index aus, wobei die Metriken mit opensearch_index_stats_ Präfix und pro Shard vorangestellt sind. opensearch_indices_shards_

Metrik Beschreibung/Zweck

opensearch_cluster_health_status

Integritätsstatus des Clusters (grün, gelb oder rot).

opensearch_cluster_health_number_of_nodes

Anzahl der Knoten im -Cluster.

opensearch_cluster_health_number_of_data_nodes

Anzahl der Datenknoten im Cluster.

opensearch_cluster_health_active_primary_shards

Anzahl der aktiven primären Shards.

opensearch_cluster_health_active_shards

Gesamtzahl der aktiven Shards, einschließlich primärer Shards und Replikat-Shards.

opensearch_cluster_health_relocating_shards

Anzahl der Shards, die zwischen Knoten verschoben werden.

opensearch_cluster_health_initializing_shards

Anzahl der Shards, die initialisiert werden.

opensearch_cluster_health_unassigned_shards

Anzahl der Shards, die keinem Knoten zugewiesen sind.

opensearch_cluster_health_delayed_unassigned_shards

Anzahl der nicht zugewiesenen Shards, deren Zuweisung verzögert ist.

opensearch_cluster_health_number_of_pending_tasks

Anzahl der Aufgaben auf Clusterebene, die sich in der Warteschlange befinden und auf ihre Ausführung warten.

opensearch_cluster_health_number_of_in_flight_fetch

Anzahl der laufenden Shard-Abrufanfragen.

opensearch_cluster_health_task_max_waiting_in_queue_millis

Längste Zeit, die eine Aufgabe in der Warteschlange gewartet hat, in Millisekunden.

Metrik Beschreibung/Zweck

opensearch_os_cpu_percent

Prozentsatz der vom Betriebssystem auf dem Knoten verwendeten CPU.

opensearch_os_load1

Durchschnittliche Auslastung des Betriebssystems in der letzten 1 Minute. Der Kollektor emittiert auch opensearch_os_load5 undopensearch_os_load15.

opensearch_os_mem_used_bytes

Menge des verwendeten physischen Speichers in Byte. Der Kollektor gibt auch opensearch_os_mem_free_bytesopensearch_os_mem_actual_used_bytes, und opensearch_os_mem_actual_free_bytes aus.

opensearch_jvm_memory_used_bytes

Menge des verwendeten JVM-Speichers in Byte, aufgeschlüsselt nach Speicherbereich (Heap und Nicht-Heap). Zu den verwandten Metriken gehören opensearch_jvm_memory_committed_bytes und opensearch_jvm_memory_max_bytes.

opensearch_jvm_gc_collection_seconds_count

Gesamtzahl der JVM-Garbage-Collection-Ereignisse. Verwenden Sie mitopensearch_jvm_gc_collection_seconds_sum, die Gesamtzeit, die mit der Speicherbereinigung verbracht wurde.

opensearch_jvm_uptime_seconds

JVM-Verfügbarkeit in Sekunden.

search_thread_pool_active_count öffnen

Anzahl der aktiven Threads in jedem Threadpool. Zu den zugehörigen Metriken gehören opensearch_thread_pool_queue_countopensearch_thread_pool_rejected_count, undopensearch_thread_pool_completed_count.

opensearch_filesystem_data_available_bytes

Menge an Speicherplatz, der dem Knoten zur Verfügung steht, in Byte. Zu den verwandten Metriken gehören opensearch_filesystem_data_free_bytes und opensearch_filesystem_data_size_bytes.

opensearch_filesystem_io_stats_device_read_operations_count

Anzahl der Lesevorgänge auf der Festplatte. Der Kollektor gibt auch die Anzahl der Schreib- und Gesamtvorgänge sowie die Lese- und Schreibgrößen aus (z. B.opensearch_filesystem_io_stats_device_read_size_kilobytes_sum).

opensearch_process_cpu_percent

Prozentsatz der vom Prozess verwendeten CPU. OpenSearch

opensearch_process_mem_resident_size_bytes

Größe des residenten Speichers des Prozesses in Byte. OpenSearch

opensearch_process_open_files_count

Anzahl der Dateideskriptoren, die vom Prozess geöffnet wurden. OpenSearch

opensearch_breakers_tripped

Gesamtzahl der Auslösevorgänge, mit denen jeder Leistungsschalter ausgelöst wurde. Zu den verwandten Metriken gehören opensearch_breakers_estimated_size_bytes und opensearch_breakers_limit_size_bytes.

opensearch_transport_rx_size_bytes_total

Gesamtmenge der über die Transportschicht zwischen den Knoten empfangenen Daten, in Byte. Der Kollektor sendet auch Daten aus opensearch_transport_tx_size_bytes_total und zählt die Pakete.

opensearch_indexing_pressure_current_all_in_bytes

Aktueller Speicher, der von Indexierungsanfragen verbraucht wird, in Byte, mit dem konfigurierten Limit. opensearch_indexing_pressure_limit_in_bytes

Metrik Beschreibung/Zweck

opensearch_indices_docs

Anzahl der Dokumente. Zu den zugehörigen Metriken gehören opensearch_indices_docs_deletedopensearch_indices_docs_primary, undopensearch_indices_docs_total.

opensearch_indices_store_size_bytes

Gesamtgröße der Indizes auf der Festplatte, in Byte, mit und Varianten. opensearch_indices_store_size_bytes_primary opensearch_indices_store_size_bytes_total

opensearch_indices_indexing_index_total

Gesamtzahl der indizierten Dokumente. Verwenden Sie with opensearch_indices_indexing_index_time_seconds_total für die Indexierung (Latenz).

opensearch_indices_indexing_ist_gedrosselt

Gibt an, ob die Indizierung derzeit gedrosselt ist, und zwar für die gesamte gedrosselte Zeit. opensearch_indices_indexing_throttle_time_seconds_total

opensearch_indices_search_query_total

Gesamtzahl der Suchanfragen. Verwenden Sie mit opensearch_indices_search_query_time_seconds für die Latenz bei Abfragen.

opensearch_indices_search_fetch_total

Gesamtzahl der Abrufvorgänge, mit Angabe der Latenz beim Abrufen. opensearch_indices_search_fetch_time_seconds

opensearch_indices_get_total

Gesamtzahl der Abrufvorgänge, mit Latenz beim Abrufen. opensearch_indices_get_time_seconds

opensearch_indices_merges_total

Gesamtzahl der abgeschlossenen Segmentzusammenführungen. Zu den verwandten Metriken gehören opensearch_indices_merges_current und opensearch_indices_merges_total_time_seconds_total.

opensearch_indices_refresh_total

Gesamtzahl der Indexaktualisierungsvorgänge, mit Angabe der Aktualisierungszeit. opensearch_indices_refresh_time_seconds_total

opensearch_indices_flush_total

Gesamtzahl der Index-Leerungsvorgänge, mit für die Flush-Zeit. opensearch_indices_flush_time_seconds

opensearch_indices_segments_count

Anzahl der Segmente. Der Collector gibt auch segmentspezifische Speichermetriken aus (z. B. opensearch_indices_segments_memory_bytes undopensearch_indices_segment_terms_memory_total).

opensearch_indices_translog_operations

Anzahl der Operationen im Transaktionslog, mit Angabe der Größe. opensearch_indices_translog_size_in_bytes

opensearch_indices_fielddata_memory_size_bytes

Vom Felddaten-Cache verwendeter Speicher in Byte, der für Löschvorgänge verwendet wird. opensearch_indices_fielddata_evictions

opensearch_indices_query_cache_memory_size_bytes

Vom Abfrage-Cache verwendeter Speicher in Byte. Zu den verwandten Metriken gehören opensearch_indices_query_cache_count und opensearch_indices_query_cache_evictions.

opensearch_indices_request_cache_memory_size_bytes

Vom Anforderungs-Cache verwendeter Speicher in Byte. Zu den verwandten Metriken gehören opensearch_indices_request_cache_count und opensearch_indices_request_cache_evictions.

Einschränkungen

Die Amazon OpenSearch Service-Integration mit Amazon Managed Service für Prometheus hat die folgenden Einschränkungen:

  • Wird nur für OpenSearch Service-Domains unterstützt, die über Amazon Virtual Private Cloud-Zugriff verfügen. Domänen mit öffentlichem Zugriff werden nicht unterstützt.

  • Ein Scraper sammelt Metriken aus einer einzelnen OpenSearch Service-Domain. Um Metriken von mehr als einer Domain zu sammeln, erstellen Sie für jede Domain einen separaten Scraper.