Naar hoofdinhoud gaan
Elasticsearch is een populaire zoek- en analyse-engine. De AppSignal voor Node.js-integratie voor Elasticsearch biedt automatische instrumentatie voor de Elasticsearch Node.js-client.

Installatie

De Elasticsearch Node.js-client bevat instrumentatie via OpenTelemetry. Deze rapporteert automatisch gegevens aan het AppSignal voor Node.js-pakket. Er is geen aanvullende configuratie nodig om Elasticsearch in uw applicatie te instrumenteren.

Functionaliteiten

De ingebouwde instrumentatie legt spans vast voor zoekqueries, indexbewerkingen en andere interacties met uw Elasticsearch-cluster. De integratie stuurt AppSignal-spans die de uitvoeringstijd vertegenwoordigen van elke Elasticsearch API-aanroep, met informatie over de bewerking.

Configuratie

De automatische instrumentatie kan worden uitgeschakeld vanaf versie 9.x van @elastic/elasticsearch. Als u versie 8.x van @elastic/elasticsearch gebruikt, zorg er dan voor dat u @elastic/transport versie 8.10.0 of hoger gebruikt.
U kunt de instrumentatie van Elasticsearch uitschakelen door:
  • een omgevingsvariabele in te stellen;
OTEL_ELASTICSEARCH_ENABLED=false
  • een aangepaste Transport te gebruiken.
import {
  Transport,
  TransportRequestOptions,
  TransportRequestParams,
} from "@elastic/transport";

class CustomTransport extends Transport {
  async request(
    params: TransportRequestParams,
    options: TransportRequestOptions = {},
  ): Promise<any> {
    options.openTelemetry = { enabled: false };
    return super.request(params, options);
  }
}

const client = new Client({
  /*
   your client config...
  */
  Transport: CustomTransport,
});
U kunt de instrumentatie ook ingeschakeld laten en deze uitschakelen voor één enkele API-aanroep door een aangepast TransportRequestOptions-object door te geven als tweede argument aan elke API-aanroep:
const response = await client.search({ ... }, {
  openTelemetry: { enabled: false },
});