github.com/netdata/go.d.plugin@v0.58.1/modules/hdfs/integrations/hadoop_distributed_file_system_hdfs.md (about) 1 <!--startmeta 2 custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/hdfs/README.md" 3 meta_yaml: "https://github.com/netdata/go.d.plugin/edit/master/modules/hdfs/metadata.yaml" 4 sidebar_label: "Hadoop Distributed File System (HDFS)" 5 learn_status: "Published" 6 learn_rel_path: "Data Collection/Storage, Mount Points and Filesystems" 7 most_popular: True 8 message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" 9 endmeta--> 10 11 # Hadoop Distributed File System (HDFS) 12 13 14 <img src="https://netdata.cloud/img/hadoop.svg" width="150"/> 15 16 17 Plugin: go.d.plugin 18 Module: hfs 19 20 <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> 21 22 ## Overview 23 24 This collector monitors HDFS nodes. 25 26 Netdata accesses HDFS metrics over `Java Management Extensions` (JMX) through the web interface of an HDFS daemon. 27 28 29 30 31 This collector is supported on all platforms. 32 33 This collector supports collecting metrics from multiple instances of this integration, including remote instances. 34 35 36 ### Default Behavior 37 38 #### Auto-Detection 39 40 This integration doesn't support auto-detection. 41 42 #### Limits 43 44 The default configuration for this integration does not impose any limits on data collection. 45 46 #### Performance Impact 47 48 The default configuration for this integration is not expected to impose a significant performance impact on the system. 49 50 51 ## Metrics 52 53 Metrics grouped by *scope*. 54 55 The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. 56 57 58 59 ### Per Hadoop Distributed File System (HDFS) instance 60 61 These metrics refer to the entire monitored application. 62 63 This scope has no labels. 64 65 Metrics: 66 67 | Metric | Dimensions | Unit | DataNode | NameNode | 68 |:------|:----------|:----|:---:|:---:| 69 | hdfs.heap_memory | committed, used | MiB | • | • | 70 | hdfs.gc_count_total | gc | events/s | • | • | 71 | hdfs.gc_time_total | ms | ms | • | • | 72 | hdfs.gc_threshold | info, warn | events/s | • | • | 73 | hdfs.threads | new, runnable, blocked, waiting, timed_waiting, terminated | num | • | • | 74 | hdfs.logs_total | info, error, warn, fatal | logs/s | • | • | 75 | hdfs.rpc_bandwidth | received, sent | kilobits/s | • | • | 76 | hdfs.rpc_calls | calls | calls/s | • | • | 77 | hdfs.open_connections | open | connections | • | • | 78 | hdfs.call_queue_length | length | num | • | • | 79 | hdfs.avg_queue_time | time | ms | • | • | 80 | hdfs.avg_processing_time | time | ms | • | • | 81 | hdfs.capacity | remaining, used | KiB | | • | 82 | hdfs.used_capacity | dfs, non_dfs | KiB | | • | 83 | hdfs.load | load | load | | • | 84 | hdfs.volume_failures_total | failures | events/s | | • | 85 | hdfs.files_total | files | num | | • | 86 | hdfs.blocks_total | blocks | num | | • | 87 | hdfs.blocks | corrupt, missing, under_replicated | num | | • | 88 | hdfs.data_nodes | live, dead, stale | num | | • | 89 | hdfs.datanode_capacity | remaining, used | KiB | • | | 90 | hdfs.datanode_used_capacity | dfs, non_dfs | KiB | • | | 91 | hdfs.datanode_failed_volumes | failed volumes | num | • | | 92 | hdfs.datanode_bandwidth | reads, writes | KiB/s | • | | 93 94 95 96 ## Alerts 97 98 99 The following alerts are available: 100 101 | Alert name | On metric | Description | 102 |:------------|:----------|:------------| 103 | [ hdfs_capacity_usage ](https://github.com/netdata/netdata/blob/master/health/health.d/hdfs.conf) | hdfs.capacity | summary datanodes space capacity utilization | 104 | [ hdfs_missing_blocks ](https://github.com/netdata/netdata/blob/master/health/health.d/hdfs.conf) | hdfs.blocks | number of missing blocks | 105 | [ hdfs_stale_nodes ](https://github.com/netdata/netdata/blob/master/health/health.d/hdfs.conf) | hdfs.data_nodes | number of datanodes marked stale due to delayed heartbeat | 106 | [ hdfs_dead_nodes ](https://github.com/netdata/netdata/blob/master/health/health.d/hdfs.conf) | hdfs.data_nodes | number of datanodes which are currently dead | 107 | [ hdfs_num_failed_volumes ](https://github.com/netdata/netdata/blob/master/health/health.d/hdfs.conf) | hdfs.num_failed_volumes | number of failed volumes | 108 109 110 ## Setup 111 112 ### Prerequisites 113 114 No action required. 115 116 ### Configuration 117 118 #### File 119 120 The configuration file name for this integration is `go.d/hdfs.conf`. 121 122 123 You can edit the configuration file using the `edit-config` script from the 124 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory). 125 126 ```bash 127 cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata 128 sudo ./edit-config go.d/hdfs.conf 129 ``` 130 #### Options 131 132 The following options can be defined globally: update_every, autodetection_retry. 133 134 135 <details><summary>Config options</summary> 136 137 | Name | Description | Default | Required | 138 |:----|:-----------|:-------|:--------:| 139 | update_every | Data collection frequency. | 1 | no | 140 | autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | 141 | url | Server URL. | http://127.0.0.1:9870/jmx | yes | 142 | timeout | HTTP request timeout. | 1 | no | 143 | username | Username for basic HTTP authentication. | | no | 144 | password | Password for basic HTTP authentication. | | no | 145 | proxy_url | Proxy URL. | | no | 146 | proxy_username | Username for proxy basic HTTP authentication. | | no | 147 | proxy_password | Password for proxy basic HTTP authentication. | | no | 148 | method | HTTP request method. | GET | no | 149 | body | HTTP request body. | | no | 150 | headers | HTTP request headers. | | no | 151 | not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | 152 | tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | 153 | tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | 154 | tls_cert | Client TLS certificate. | | no | 155 | tls_key | Client TLS key. | | no | 156 157 </details> 158 159 #### Examples 160 161 ##### Basic 162 163 A basic example configuration. 164 165 ```yaml 166 jobs: 167 - name: local 168 url: http://127.0.0.1:9870/jmx 169 170 ``` 171 ##### HTTP authentication 172 173 Basic HTTP authentication. 174 175 <details><summary>Config</summary> 176 177 ```yaml 178 jobs: 179 - name: local 180 url: http://127.0.0.1:9870/jmx 181 username: username 182 password: password 183 184 ``` 185 </details> 186 187 ##### HTTPS with self-signed certificate 188 189 Do not validate server certificate chain and hostname. 190 191 192 <details><summary>Config</summary> 193 194 ```yaml 195 jobs: 196 - name: local 197 url: https://127.0.0.1:9870/jmx 198 tls_skip_verify: yes 199 200 ``` 201 </details> 202 203 ##### Multi-instance 204 205 > **Note**: When you define multiple jobs, their names must be unique. 206 207 Collecting metrics from local and remote instances. 208 209 210 <details><summary>Config</summary> 211 212 ```yaml 213 jobs: 214 - name: local 215 url: http://127.0.0.1:9870/jmx 216 217 - name: remote 218 url: http://192.0.2.1:9870/jmx 219 220 ``` 221 </details> 222 223 224 225 ## Troubleshooting 226 227 ### Debug Mode 228 229 To troubleshoot issues with the `hfs` collector, run the `go.d.plugin` with the debug option enabled. The output 230 should give you clues as to why the collector isn't working. 231 232 - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on 233 your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. 234 235 ```bash 236 cd /usr/libexec/netdata/plugins.d/ 237 ``` 238 239 - Switch to the `netdata` user. 240 241 ```bash 242 sudo -u netdata -s 243 ``` 244 245 - Run the `go.d.plugin` to debug the collector: 246 247 ```bash 248 ./go.d.plugin -d -m hfs 249 ``` 250 251