Flink

Supported OS Linux Mac OS Windows

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

  1. 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: 
    
  2. 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.

  3. 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.

  4. Redémarrez Flink pour commencer à envoyer vos métriques Flink à Datadog.

Collecte de logs

Disponible à partir de la version > 6.0 de l’Agent

  1. 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
    
  2. 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.

  3. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  4. 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
    
  5. 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.

PREVIEWING: may/embedded-workflows