Collecte des Linux journaux système avec OpenTelemetry
Vous pouvez collecter les journaux des systèmes d'exploitation basés sur l' Linux et les envoyer à Instana à l'aide du collecteur OTEL ( OpenTelemetry ).
Instana peut recevoir les journaux OTEL par différents moyens. Pour plus d'informations, consultez la section « Configuration de l'ingestion de données d' OpenTelemetry ».
Pour plus d'informations sur la configuration de la corrélation des messages de journalisation avec les services, consultez la page OpenTelemetry service correlation.
Conditions préalables à l'importation de journaux via OpenTelemetry
Pour importer des journaux dans Instana via OpenTelemetry,, vous aurez peut-être besoin d'un module complémentaire ou d'une configuration supplémentaire. Pour plus d'informations, consultez la section « Conditions relatives aux licences et aux droits d'accès ».
Collecte des journaux normaux
Téléchargez le fichier otelcol-contrib binaire exécutable de la version 0.110.0 ou ultérieure à partir de la page Linux, en fonction de la configuration de votre serveur Linux. Ce OTEL Collector Contrib package comprend des fonctionnalités open source développées par la communauté, indispensables pour collecter et envoyer les journaux à Instana. Configurez le collecteur OTEL pour qu'il collecte les données de journalisation et les transmette à l'agent Instana sur le point de terminaison OTLP. Pour configurer le collecteur OTEL, utilisez l'exemple suivant comme référence.
Si vous souhaitez communiquer en utilisant des méthodes chiffrées par le protocole TLS avec l'agent Instana, suivez les étapes suivantes pour configurer le chiffrement TLS pour le point de terminaison de l'agent.
Configuration du récepteur du filelog collecteur OTEL
Voici un exemple complet de configuration d'un collecteur OTEL. Enregistrez cette configuration dans un fichier " otel-config.yaml et exécutez-la à l'aide de la commande suivante :
./otelcol-contrib --config=./otel-config.yaml
receivers:
## [REQUIRED] The filelog receiver will collect logs written to file by a process
filelog:
## [REQUIRED] Path (or regex) to the log files that must be read.
include: [ "/path/to/log/files/to/read" ]
## [OPTIONAL] Path (or regex) to the log files that must be ignored.
exclude: [ "/path/to/log/files/to/ignore" ]
## [REQUIRED] Whether to include the file path in the logs
include_file_path: true
## [OPTIONAL] Whether to include the file name in the logs
include_file_name: true
## [OPTIONAL] Preserve the leading white spaces so that the example 'recombine' operator works as expected.
preserve_leading_whitespaces: true
operators:
## [OPTIONAL] Example recombine operator config to handle multi-line log messages for stack-traces. Requires `include_file_path: true` above.
- type: recombine
combine_field: body
is_first_entry: body matches "^[^\\s]"
source_identifier: attributes["log.file.path"]
processors:
## [OPTIONAL] This is an example log severity parser that sets the **severity_text** field in the log payload, each runs in-order such that the highest matching severity is set.
## Note: If the OpenTelemetry Collector does not set log severity, then the severity is set by Instana when analyzing the log message.
transform/set_log_severity:
log_statements:
- context: log
statements:
- set(severity_text, "Info") where IsMatch(body.string, ".*INFO.*")
- set(severity_text, "Warn") where IsMatch(body.string, ".*WARN.*")
- set(severity_text, "Error") where IsMatch(body.string, ".*ERROR.*")
- set(severity_text, "Fatal") where IsMatch(body.string, ".*FATAL.*")
## Logs must be sent in batches for performance reasons.
## Note: No additional `batch` processor configuration is provided since configuration depends on the user scenario.
batch: {}
## See the page on best practices for Instana OpenTelemetry logging for more information.
exporters:
## [REQUIRED] The Instana Agent supports GRPC payloads
otlp/instanaAgent:
## The GRPC port will be 4317 (unless port-forwarding is used to change this).
## Note: Be sure to set Instana Agent's OTLP endpoint HOST:PORT combination.
endpoint: "INSTANA_AGENT_HOST:INSTANA_AGENT_GRPC_PORT"
## TLS encryption is disabled in this example.
tls:
insecure: true
service:
pipelines:
## Sample logs pipeline using the above configurations.
logs:
receivers: [filelog]
processors: [transform/set_log_severity, batch]
exporters: [otlp/instanaAgent]
| ## Pour plus d'informations, consultez la page consacrée aux bonnes pratiques en matière de journalisation d' Instana s OpenTelemetry. |
| lot : {} |
Collecte syslog des journaux
Instana relie les journaux reçus aux informations de la machine hôte; utilisez donc le filelog récepteur pour collecter localement le /var/log/syslog contenu.
Collecte journald des journaux
filelog récepteur peut lire, journald les journaux sont enregistrés au format binaire. Le Journal Receiver peut traiter ces journaux binaires. Pour plus d'informations sur journald les journaux, consultez la section « Comment utiliser journalctl pour consulter et modifier les journaux Systemd ».Configuration du récepteur du journald collecteur OTEL
Pour ajouter le récepteur " journald, indiquez l'emplacement des journaux " journald dans la configuration. Utilisez l'exemple de configuration suivant. Copiez l'exemple de configuration suivant dans le fichier " otel-config.yaml et exécutez-le à l'aide de la commande suivante :
./otelcol-contrib --config=./otel-config.yaml
receivers:
# [REQUIRED] The journald logs can be located in other locations, depending on the setup (that is, `/run/log/journal` or `/run/journal`).
journald:
directory: /var/log/journal
exporters:
## [REQUIRED] The Instana Agent supports GRPC payloads
otlp/instanaAgent:
## Be sure to set the appropriate HOST:PORT combination.
## Note: The GRPC port will be 4317 (unless port-forwarding is used to change this).
endpoint: "INSTANA_AGENT_HOST:INSTANA_AGENT_GRPC_PORT"
## TLS encryption is disabled in this example.
tls:
insecure: true
processors:
## [OPTIONAL] This is an example log severity parser that sets the **severity_text** field in the log payload, each runs in-order such that the highest matching severity is set.
## Note: If the OpenTelemetry Collector does not set log severity, then the severity is set by Instana when analyzing the log message.
transform/set_log_severity:
log_statements:
- context: log
statements:
- set(severity_text, "Info") where IsMatch(body.string, ".*INFO.*")
- set(severity_text, "Warn") where IsMatch(body.string, ".*WARN.*")
- set(severity_text, "Error") where IsMatch(body.string, ".*ERROR.*")
- set(severity_text, "Fatal") where IsMatch(body.string, ".*FATAL.*")
## [REQUIRED] Logs must be sent in batches for performance reasons.
## Note: No additional `batch` processor configuration is provided since configuration depends on the user scenario.
batch: {}
## See the page on best practices for Instana OpenTelemetry logging for more information.
service:
pipelines:
## [REQUIRED] Sample logs pipeline using the above configurations.
logs:
receivers: [journald]
processors: [transform/set_log_severity, batch]
exporters: [otlp/instanaAgent]