Intégration DataNode HDFS
Présentation
Surveillez l’utilisation du disque et les volumes ayant échoué sur chacun de vos DataNodes HDFS. Ce check de l’Agent recueille des métriques pour ces derniers, ainsi que des métriques liées aux blocs et au cache.
Utilisez ce check (hdfs_datanode) et son check complémentaire (hdfs_namenode), et non l’ancien check deux-en-un (hdfs), désormais obsolète.
Implémentation
Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à un environnement conteneurisé.
Installation
Le check HDFS DataNode est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos DataNodes.
Configuration
Associer l’Agent
Host
Pour configurer ce check lorsque l’Agent est exécuté sur un host :
Modifiez le fichier hdfs_datanode.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple hdfs_datanode.d/conf.yaml pour découvrir toutes les options de configuration disponibles :
init_config:
instances:
## @param hdfs_datanode_jmx_uri - string - required
## The HDFS DataNode check retrieves metrics from the HDFS DataNode's JMX
## interface via HTTP(S) (not a JMX remote connection). This check must be installed on a HDFS DataNode. The HDFS
## DataNode JMX URI is composed of the DataNode's hostname and port.
##
## The hostname and port can be found in the hdfs-site.xml conf file under
## the property dfs.datanode.http.address
## https://hadoop.apache.org/docs/r3.1.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
#
- hdfs_datanode_jmx_uri: http://localhost:9864
Redémarrez l’Agent.
Environnement conteneurisé
Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.
Paramètre | Valeur |
---|
<NOM_INTÉGRATION> | hdfs_datanode |
<CONFIG_INIT> | vide ou {} |
<CONFIG_INSTANCE> | {"hdfs_datanode_jmx_uri": "http://%%host%%:9864"} |
Collecte de logs
Disponible à partir des versions > 6.0 de l’Agent
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans le fichier datadog.yaml
:
Ajoutez ce bloc de configuration à votre fichier hdfs_datanode.d/conf.yaml
pour commencer à recueillir vos logs DataNode :
logs:
- type: file
path: /var/log/hadoop-hdfs/*.log
source: hdfs_datanode
service: <SERVICE_NAME>
Modifiez les valeurs des paramètres path
et service
et configurez-les pour votre environnement.
Redémarrez l’Agent.
Validation
Lancez la sous-commande status de l’Agent et cherchez hdfs_datanode
dans la section Checks.
Données collectées
Métriques
hdfs.datanode.cache_capacity (gauge) | Cache capacity in bytes Shown as byte |
hdfs.datanode.cache_used (gauge) | Cache used in bytes Shown as byte |
hdfs.datanode.dfs_capacity (gauge) | Disk capacity in bytes Shown as byte |
hdfs.datanode.dfs_remaining (gauge) | The remaining disk space left in bytes Shown as byte |
hdfs.datanode.dfs_used (gauge) | Disk usage in bytes Shown as byte |
hdfs.datanode.estimated_capacity_lost_total (gauge) | The estimated capacity lost in bytes Shown as byte |
hdfs.datanode.last_volume_failure_date (gauge) | The date/time of the last volume failure in milliseconds since epoch Shown as millisecond |
hdfs.datanode.num_blocks_cached (gauge) | The number of blocks cached Shown as block |
hdfs.datanode.num_blocks_failed_to_cache (gauge) | The number of blocks that failed to cache Shown as block |
hdfs.datanode.num_blocks_failed_to_uncache (gauge) | The number of failed blocks to remove from cache Shown as block |
hdfs.datanode.num_failed_volumes (gauge) | Number of failed volumes |
Événements
Le check HDFS DataNode n’inclut aucun événement.
Checks de service
hdfs.datanode.jmx.can_connect
Renvoie CRITICAL
si l’Agent n’est pas capable de se connecter à l’interface JMX de DataNode pour une raison quelconque. Si ce n’est pas le cas, renvoie OK
.
Statuses: ok, critical
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.
Pour aller plus loin
Intégration NameNode HDFS
Présentation
Surveillez vos NameNodes HDFS primaires et secondaires pour savoir si votre cluster est en situation précaire, c’est-à-dire s’il ne reste plus qu’un seul NameNode ou si vous devez renforcer les capacités du cluster. Ce check de l’Agent recueille des métriques pour la capacité restante, les blocs corrompus/manquants, les DataNodes morts, la charge du système de fichiers, les blocs sous-répliqués, les échecs de volumes totaux (sur tous les DataNodes), et bien plus encore.
Utilisez ce check (hdfs_namenode) et son check complémentaire (hdfs_datanode), et non l’ancien check deux-en-un (hdfs) qui est obsolète.
Configuration
Suivez les instructions ci-dessous pour installer et configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer ces instructions à des environnements conteneurisés.
Installation
Le check HDFS NameNode est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos NameNodes.
Procédure à suivre
Associer l’Agent
Host
Pour configurer ce check lorsque l’Agent est exécuté sur un host :
Modifiez le fichier hdfs_namenode.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple hdfs_namenode.d/conf.yaml pour découvrir toutes les options de configuration disponibles :
init_config:
instances:
## @param hdfs_namenode_jmx_uri - string - required
## The HDFS NameNode check retrieves metrics from the HDFS NameNode's JMX
## interface via HTTP(S) (not a JMX remote connection). This check must be installed on
## a HDFS NameNode. The HDFS NameNode JMX URI is composed of the NameNode's hostname and port.
##
## The hostname and port can be found in the hdfs-site.xml conf file under
## the property dfs.namenode.http-address
## https://hadoop.apache.org/docs/r3.1.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
#
- hdfs_namenode_jmx_uri: http://localhost:9870
Redémarrez l’Agent.
Environnement conteneurisé
Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.
Paramètre | Valeur |
---|
<NOM_INTÉGRATION> | hdfs_namenode |
<CONFIG_INIT> | vide ou {} |
<CONFIG_INSTANCE> | {"hdfs_namenode_jmx_uri": "https://%%host%%:9870"} |
Collecte de logs
Disponible à partir des versions > 6.0 de l’Agent
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans le fichier datadog.yaml
:
Ajoutez ce bloc de configuration à votre fichier hdfs_namenode.d/conf.yaml
pour commencer à recueillir vos logs NameNode :
logs:
- type: file
path: /var/log/hadoop-hdfs/*.log
source: hdfs_namenode
service: <SERVICE_NAME>
Modifiez les valeurs des paramètres path
et service
et configurez-les pour votre environnement.
Redémarrez l’Agent.
Validation
Lancez la sous-commande status de l’Agent et cherchez hdfs_namenode
dans la section Checks.
Données collectées
Métriques
hdfs.namenode.blocks_total (gauge) | Total number of blocks Shown as block |
hdfs.namenode.capacity_remaining (gauge) | Remaining disk space left in bytes Shown as byte |
hdfs.namenode.capacity_total (gauge) | Total disk capacity in bytes Shown as byte |
hdfs.namenode.capacity_used (gauge) | Disk usage in bytes Shown as byte |
hdfs.namenode.corrupt_blocks (gauge) | Number of corrupt blocks Shown as block |
hdfs.namenode.estimated_capacity_lost_total (gauge) | Estimated capacity lost in bytes Shown as byte |
hdfs.namenode.files_total (gauge) | Total number of files Shown as file |
hdfs.namenode.fs_lock_queue_length (gauge) | Lock queue length |
hdfs.namenode.max_objects (gauge) | Maximum number of files HDFS supports Shown as object |
hdfs.namenode.missing_blocks (gauge) | Number of missing blocks Shown as block |
hdfs.namenode.num_dead_data_nodes (gauge) | Total number of dead data nodes Shown as node |
hdfs.namenode.num_decom_dead_data_nodes (gauge) | Number of decommissioning dead data nodes Shown as node |
hdfs.namenode.num_decom_live_data_nodes (gauge) | Number of decommissioning live data nodes Shown as node |
hdfs.namenode.num_decommissioning_data_nodes (gauge) | Number of decommissioning data nodes Shown as node |
hdfs.namenode.num_live_data_nodes (gauge) | Total number of live data nodes Shown as node |
hdfs.namenode.num_stale_data_nodes (gauge) | Number of stale data nodes Shown as node |
hdfs.namenode.num_stale_storages (gauge) | Number of stale storages |
hdfs.namenode.pending_deletion_blocks (gauge) | Number of pending deletion blocks Shown as block |
hdfs.namenode.pending_replication_blocks (gauge) | Number of blocks pending replication Shown as block |
hdfs.namenode.scheduled_replication_blocks (gauge) | Number of blocks scheduled for replication Shown as block |
hdfs.namenode.total_load (gauge) | Total load on the file system |
hdfs.namenode.under_replicated_blocks (gauge) | Number of under replicated blocks Shown as block |
hdfs.namenode.volume_failures_total (gauge) | Total volume failures |
Événements
Le check HDFS NameNode n’inclut aucun événement.
Checks de service
hdfs.namenode.jmx.can_connect
Renvoie CRITICAL
si l’Agent n’est pas capable de se connecter à l’interface JMX de NameNode pour une raison quelconque. Si ce n’est pas le cas, renvoie OK
.
Statuses: ok, critical
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.
Pour aller plus loin