MapR

Supported OS Linux

Intégration1.9.0

Présentation

Ce check permet de surveiller MapR (version 6.1+) avec l’Agent Datadog.

Configuration

Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host.

Installation

Le check MapR est inclus avec le package de l’Agent Datadog, mais il nécessite des opérations d’installation supplémentaires.

Prérequis

  • La surveillance de MapR fonctionne correctement.
  • Vous disposez d’un utilisateur MapR (comportant un nom, un mot de passe, un UID et un GID) avec l’autorisation « consume » sur le flux /var/mapr/mapr.monitoring/metricstreams. Il peut s’agir d’un utilisateur existant ou d’un nouvel utilisateur.
  • Sur un cluster non sécurisé : suivez la documentation Configurer l’emprunt d’identité sans sécurité de cluster (en anglais) pour permettre à l’utilisateur dd-agent d’emprunter l’identité de cet utilisateur MapR.
  • Sur un cluster sécurisé : générez un ticket de service à long terme pour cet utilisateur, lisible par l’utilisateur dd-agent.

Suivez ces étapes d’installation pour chaque nœud :

  1. Installez l’Agent.

  2. Installez la bibliothèque mapr-streams-library à l’aide de la commande suivante :

    sudo -u dd-agent /opt/datadog-agent/embedded/bin/pip install --global-option=build_ext --global-option="--library-dirs=/opt/mapr/lib" --global-option="--include-dirs=/opt/mapr/include/" mapr-streams-python.

    Si vous utilisez Python 3 avec l’Agent v7, remplacez pip par pip3.

  3. Ajoutez /opt/mapr/lib/ à /etc/ld.so.conf (ou un fichier dans /etc/ld.so.conf.d/). Sans cela, la bibliothèque mapr-streams-library utilisée par l’Agent ne peut pas trouver les bibliothèques partagées MapR.

  4. Rechargez les bibliothèques en exécutant la commande sudo ldconfig.

  5. Configurez l’intégration en indiquant l’emplacement du ticket.

Remarques supplémentaires

  • Si vous n’avez pas activé les fonctionnalités de sécurité pour le cluster, vous pouvez continuer sans créer de ticket.
  • Si l’utilisation d’outils de compilation comme gcc (requis pour créer la bibliothèque mapr-streams-library) n’est pas autorisée dans votre environnement de production, vous pouvez générer un fichier wheel compilé de la bibliothèque sur une instance de développement, puis distribuer ce fichier aux hosts de production. Pour que le fichier wheel compilé fonctionne, les hosts de développement et de production doivent être suffisamment semblables. Vous pouvez exécuter la commande sudo -u dd-agent /opt/datadog-agent/embedded/bin/pip wheel --global-option=build_ext --global-option="--library-dirs=/opt/mapr/lib" --global-option="--include-dirs=/opt/mapr/include/" mapr-streams-python pour créer le fichier wheel sur la machine de développement. Exécutez ensuite la commande sudo -u dd-agent /opt/datadog-agent/embedded/bin/pip install <LE_FICHIER_WHEEL> sur la machine de production.
  • Si vous utilisez Python 3 avec l’Agent v7, n’oubliez pas de remplacer pip par pip3 lors de l’installation de mapr-streams-library.

Configuration

Collecte de métriques

  1. Modifiez le fichier mapr.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour recueillir vos données de performance MapR. Consultez le fichier d’exemple mapr.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
  2. Définissez le paramètre ticket_location dans la configuration sur le chemin du ticket à long terme que vous avez créé.
  3. Redémarrez l’Agent.

Collecte de logs

MapR utilise FluentD pour les logs. Utilisez le plug-in FluentD pour Datadog afin de recueillir des logs MapR. La commande suivante télécharge et installe le plug-in dans le répertoire approprié.

curl https://raw.githubusercontent.com/DataDog/fluent-plugin-datadog/master/lib/fluent/plugin/out_datadog.rb -o /opt/mapr/fluentd/fluentd-<VERSION>/lib/fluentd-<VERSION>-linux-x86_64/lib/app/lib/fluent/plugin/out_datadog.rb

Ensuite, mettez à jour /opt/mapr/fluentd/fluentd-<VERSION>/etc/fluentd/fluentd.conf avec la section suivante.

<match *>
  @type copy
  <store> # Cette section est présente par défaut et transmet les logs à ElasticCache pour Kibana.
    @include /opt/mapr/fluentd/fluentd-<VERSION>/etc/fluentd/es_config.conf
    include_tag_key true
    tag_key service_name
  </store>
  <store> # Cette section transmet tous les logs à Datadog :
    @type datadog
    @id dd_agent
    include_tag_key true
    dd_source mapr  # Définit « source: mapr » sur chaque log pour permettre le parsing automatique sur Datadog.
    dd_tags "<KEY>:<VALUE>"
    service <NOM_DU_SERVICE>
    api_key <VOTRE_CLÉ_API>
  </store>

Consultez la documentation fluent_datadog_plugin (en anglais) pour en savoir plus sur les options disponibles.

Validation

Lancez la sous-commande status de l’Agent et cherchez mapr dans la section Checks.

Données collectées

Métriques

Événements

Le check MapR n’inclut aucun événement.

Checks de service

Dépannage

  • L’Agent ne cesse de crasher après avoir configuré l’intégration MapR

    Il arrive que la bibliothèque C au sein de mapr-streams-python entraîne une erreur de segmentation, en raison de problèmes d’autorisation. Assurez-vous que l’utilisateur dd-agent dispose d’une autorisation de lecture pour le fichier du ticket et qu’il peut exécuter des commandes maprcli lorsque la variable d’environnement MAPR_TICKETFILE_LOCATION est définie sur le ticket.

  • L’intégration semble fonctionner correctement, mais aucune métrique n’est envoyée

    Laissez l’Agent s’exécuter pendant quelques minutes. Étant donné que l’intégration récupère des données à partir d’une rubrique, MapR doit d’abord transmettre les données à cette rubrique. Si cela ne résout pas le problème, et qu’une exécution manuelle de l’Agent avec sudo entraîne l’affichage de données, il s’agit d’un problème d’autorisations. Vérifiez toutes les options de configuration. L’utilisateur Linux dd-agent doit pouvoir utiliser un ticket stocké en local. Cela lui permet de transmettre des requêtes auprès de MapR en tant qu’utilisateur X (qui peut correspondre ou nom à dd-agent). De plus, l’utilisateur X doit disposer de l’autorisation consume sur le flux /var/mapr/mapr.monitoring/metricstreams.

  • Le message confluent_kafka was not imported correctly ... s’affiche

    L’environnement intégré à l’Agent n’est pas parvenu à exécuter la commande import confluent_kafka. Cela signifie que la bibliothèque mapr-streams-library n’a pas été installée au sein de l’environnement intégré, ou qu’elle ne trouve pas les bibliothèques mapr-core. Le message d’erreur fournit davantage d’informations à ce sujet.

Besoin d’aide supplémentaire ? Contactez l’assistance Datadog.

PREVIEWING: may/embedded-workflows