Présentation
Ce check surveille Flink. Datadog recueille des métriques Flink via le HTTP Reporter Datadog de Flink, qui repose sur l’API HTTP de Datadog.
Configuration
Installation
Le check Flink est inclus avec le package de l’Agent Datadog.
Vous n’avez donc rien d’autre à installer sur votre serveur.
Configuration
Collecte de métriques
Configurez le HTTP Reporter Datadog dans Flink.
Copiez <RÉPERTOIRE_FLINK>/opt/flink-metrics-datadog-<VERSION_REPORTER_DATADOG>.jar
dans votre dossier <RÉPERTOIRE_FLINK>/lib
. Ajoutez les lignes suivantes dans votre fichier <RÉPERTOIRE_FLINK>/conf/flink-conf.yaml
, en remplaçant <DATADOG_API_KEY>
par votre clé d’API Datadog :
metrics.reporter.dghttp.class: org.apache.flink.metrics.datadog.DatadogHttpReporter
metrics.reporter.dghttp.apikey: <DATADOG_API_KEY>
metrics.reporter.dghttp.dataCenter:
Remappez les contextes système dans votre fichier <RÉPERTOIRE_FLINK>/conf/flink-conf.yaml
.
metrics.scope.jm: flink.jobmanager
metrics.scope.jm.job: flink.jobmanager.job
metrics.scope.tm: flink.taskmanager
metrics.scope.tm.job: flink.taskmanager.job
metrics.scope.task: flink.task
metrics.scope.operator: flink.operator
Remarque : vous devez remapper les contextes système pour envoyer des métriques Flink. Sans cela, les données sont envoyées sous la forme de métriques custom.
Configurez des tags supplémentaires dans le fichier <RÉPERTOIRE_FLINK>/conf/flink-conf.yaml
. L’exemple ci-dessous définit des tags personnalisés :
metrics.reporter.dghttp.tags: <KEY1>:<VALUE1>, <KEY1>:<VALUE2>
Remarque : par défaut, toutes les variables des noms de métriques sont envoyées sous la forme de tags. Vous n’avez donc pas besoin d’ajouter de tags personnalisés pour job_id
, task_id
, etc.
Redémarrez Flink pour commencer à envoyer vos métriques Flink à Datadog.
Collecte de logs
Disponible à partir de la version > 6.0 de l’Agent
Flink utilise le logger log4j
par défaut. Pour activer la journalisation dans un fichier et personnaliser le format, modifiez le fichier log4j.properties
, log4j-cli.properties
, log4j-yarn-session.properties
ou log4j-console.properties
. Consultez la documentation de Flink (en anglais) pour obtenir les configurations par défaut. Voici la configuration par défaut de log4j.properties
:
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.file=${log.file}
log4j.appender.file.append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
Par défaut, notre pipeline d’intégration prend en charge l’expression de conversion suivante :
%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
2020-02-03 18:43:12,251
est un exemple d’horodatage valide.
Dupliquez et modifiez le pipeline d’intégration si vous utilisez un autre format.
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml
:
Supprimez la mise en commentaire du bloc de configuration des logs du fichier flink.d/conf.yaml
et modifiez les paramètres. Modifiez les valeurs des paramètres path
et service
en fonction de votre environnement. Consultez le fichier d’exemple flink.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
logs:
- type: file
path: /var/log/flink/server.log
source: flink
service: myapp
#To handle multi line that starts with yyyy-mm-dd use the following pattern
#log_processing_rules:
# - type: multi_line
# pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
# name: new_log_start_with_date
Redémarrez l’Agent.
Validation
Lancez la sous-commande status de l’Agent et cherchez flink
dans la section Checks.
Données collectées
Métriques
Checks de service
Flink n’inclut aucun check de service.
Événements
Flink n’inclut aucun événement.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.