Index: src/contrib/jmxtoolkit/conf/hbase-0.20.2-jmx.properties =================================================================== --- src/contrib/jmxtoolkit/conf/hbase-0.20.2-jmx.properties (revision 0) +++ src/contrib/jmxtoolkit/conf/hbase-0.20.2-jmx.properties (revision 0) @@ -0,0 +1,375 @@ +[hadoopFSNamesystemState] +@object=hadoop:name=FSNamesystemState,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +CapacityTotal=LONG +CapacityUsed=LONG +CapacityRemaining=LONG +TotalLoad=INTEGER +BlocksTotal=LONG +FilesTotal=LONG +PendingReplicationBlocks=LONG +UnderReplicatedBlocks=LONG +ScheduledReplicationBlocks=LONG +FSState=STRING +*numLiveDataNodes=INTEGER +*numDeadDataNodes=INTEGER + +[hadoopNameNodeActivity] +@object=hadoop:name=NameNodeActivity,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +AddBlockOps=INTEGER +fsImageLoadTime=INTEGER +FilesRenamed=INTEGER +SyncsNumOps=INTEGER +SyncsAvgTime=LONG +SyncsMinTime=LONG +SyncsMaxTime=LONG +JournalTransactionsBatchedInSync=INTEGER +FileInfoOps=INTEGER +CreateFileOps=INTEGER +GetListingOps=INTEGER +TransactionsNumOps=INTEGER +TransactionsAvgTime=LONG +TransactionsMinTime=LONG +TransactionsMaxTime=LONG +GetBlockLocations=INTEGER +BlocksCorrupted=INTEGER +SafemodeTime=INTEGER +FilesCreated=INTEGER +FilesAppended=INTEGER +DeleteFileOps=INTEGER +blockReportNumOps=INTEGER +blockReportAvgTime=LONG +blockReportMinTime=LONG +blockReportMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopRPCNameNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +getBlockLocationsNumOps=INTEGER +getBlockLocationsAvgTime=LONG +getBlockLocationsMinTime=LONG +getBlockLocationsMaxTime=LONG +rollFsImageNumOps=INTEGER +rollFsImageAvgTime=LONG +rollFsImageMinTime=LONG +rollFsImageMaxTime=LONG +renewLeaseNumOps=INTEGER +renewLeaseAvgTime=LONG +renewLeaseMinTime=LONG +renewLeaseMaxTime=LONG +renameNumOps=INTEGER +renameAvgTime=LONG +renameMinTime=LONG +renameMaxTime=LONG +setSafeModeNumOps=INTEGER +setSafeModeAvgTime=LONG +setSafeModeMinTime=LONG +setSafeModeMaxTime=LONG +setReplicationNumOps=INTEGER +setReplicationAvgTime=LONG +setReplicationMinTime=LONG +setReplicationMaxTime=LONG +NumOpenConnections=INTEGER +completeNumOps=INTEGER +completeAvgTime=LONG +completeMinTime=LONG +completeMaxTime=LONG +setPermissionNumOps=INTEGER +setPermissionAvgTime=LONG +setPermissionMinTime=LONG +setPermissionMaxTime=LONG +deleteNumOps=INTEGER +deleteAvgTime=LONG +deleteMinTime=LONG +deleteMaxTime=LONG +blockReceivedNumOps=INTEGER +blockReceivedAvgTime=LONG +blockReceivedMinTime=LONG +blockReceivedMaxTime=LONG +blockReportNumOps=INTEGER +blockReportAvgTime=LONG +blockReportMinTime=LONG +blockReportMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +getFileInfoNumOps=INTEGER +getFileInfoAvgTime=LONG +getFileInfoMinTime=LONG +getFileInfoMaxTime=LONG +getListingNumOps=INTEGER +getListingAvgTime=LONG +getListingMinTime=LONG +getListingMaxTime=LONG +mkdirsNumOps=INTEGER +mkdirsAvgTime=LONG +mkdirsMinTime=LONG +mkdirsMaxTime=LONG +sendHeartbeatNumOps=INTEGER +sendHeartbeatAvgTime=LONG +sendHeartbeatMinTime=LONG +sendHeartbeatMaxTime=LONG +versionRequestNumOps=INTEGER +versionRequestAvgTime=LONG +versionRequestMinTime=LONG +versionRequestMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +getDatanodeReportNumOps=INTEGER +getDatanodeReportAvgTime=LONG +getDatanodeReportMinTime=LONG +getDatanodeReportMaxTime=LONG +rollEditLogNumOps=INTEGER +rollEditLogAvgTime=LONG +rollEditLogMinTime=LONG +rollEditLogMaxTime=LONG +createNumOps=INTEGER +createAvgTime=LONG +createMinTime=LONG +createMaxTime=LONG +registerNumOps=INTEGER +registerAvgTime=LONG +registerMinTime=LONG +registerMaxTime=LONG +getStatsNumOps=INTEGER +getStatsAvgTime=LONG +getStatsMinTime=LONG +getStatsMaxTime=LONG +callQueueLen=INTEGER +abandonBlockNumOps=INTEGER +abandonBlockAvgTime=LONG +abandonBlockMinTime=LONG +abandonBlockMaxTime=LONG +addBlockNumOps=INTEGER +addBlockAvgTime=LONG +addBlockMinTime=LONG +addBlockMaxTime=LONG +distributedUpgradeProgressNumOps=INTEGER +distributedUpgradeProgressAvgTime=LONG +distributedUpgradeProgressMinTime=LONG +distributedUpgradeProgressMaxTime=LONG +getEditLogSizeNumOps=INTEGER +getEditLogSizeAvgTime=LONG +getEditLogSizeMinTime=LONG +getEditLogSizeMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopFSDatasetState] +@regexp=hadoop:name=FSDatasetState.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +Remaining=LONG +Capacity=LONG +DfsUsed=LONG +StorageInfo=STRING + +[hadoopRPCDataNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +NumOpenConnections=INTEGER +callQueueLen=INTEGER +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopDataNodeActivity] +@regexp=hadoop:name=DataNodeActivity.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +bytes_written=LONG +reads_from_remote_client=INTEGER +replaceBlockOpNumOps=INTEGER +replaceBlockOpAvgTime=LONG +replaceBlockOpMinTime=LONG +replaceBlockOpMaxTime=LONG +block_verification_failures=INTEGER +blocks_read=INTEGER +heartBeatsNumOps=INTEGER +heartBeatsAvgTime=LONG +heartBeatsMinTime=LONG +heartBeatsMaxTime=LONG +copyBlockOpNumOps=INTEGER +copyBlockOpAvgTime=LONG +copyBlockOpMinTime=LONG +copyBlockOpMaxTime=LONG +blocks_written=INTEGER +readBlockOpNumOps=INTEGER +readBlockOpAvgTime=LONG +readBlockOpMinTime=LONG +readBlockOpMaxTime=LONG +blockChecksumOpNumOps=INTEGER +blockChecksumOpAvgTime=LONG +blockChecksumOpMinTime=LONG +blockChecksumOpMaxTime=LONG +reads_from_local_client=INTEGER +writes_from_remote_client=INTEGER +blocks_verified=INTEGER +blockReportsNumOps=INTEGER +blockReportsAvgTime=LONG +blockReportsMinTime=LONG +blockReportsMaxTime=LONG +writes_from_local_client=INTEGER +blocks_replicated=INTEGER +bytes_read=LONG +blocks_removed=INTEGER +writeBlockOpNumOps=INTEGER +writeBlockOpAvgTime=LONG +writeBlockOpMinTime=LONG +writeBlockOpMaxTime=LONG +readMetadataOpNumOps=INTEGER +readMetadataOpAvgTime=LONG +readMetadataOpMinTime=LONG +readMetadataOpMaxTime=LONG +*resetAllMinMax=VOID + +[hbaseMasterStatistics] +@object=hadoop:name=MasterStatistics,service=Master +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +cluster_requests=FLOAT + +[hbaseRPCMaster] +@object=hadoop:name=RPCStatistics-60000,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +*resetAllMinMax=VOID +createTableNumOps=INTEGER +createTableAvgTime=LONG +createTableMinTime=LONG +createTableMaxTime=LONG +isMasterRunningNumOps=INTEGER +isMasterRunningAvgTime=LONG +isMasterRunningMinTime=LONG +isMasterRunningMaxTime=LONG +deleteTableNumOps=INTEGER +deleteTableAvgTime=LONG +deleteTableMinTime=LONG +deleteTableMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +disableTableNumOps=INTEGER +disableTableAvgTime=LONG +disableTableMinTime=LONG +disableTableMaxTime=LONG +regionServerStartupNumOps=INTEGER +regionServerStartupAvgTime=LONG +regionServerStartupMinTime=LONG +regionServerStartupMaxTime=LONG +modifyTableNumOps=INTEGER +modifyTableAvgTime=LONG +modifyTableMinTime=LONG +modifyTableMaxTime=LONG +regionServerReportNumOps=INTEGER +regionServerReportAvgTime=LONG +regionServerReportMinTime=LONG +regionServerReportMaxTime=LONG + +[hbaseRegionServerStatistics] +@object=hadoop:name=RegionServerStatistics,service=RegionServer +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +blockCacheFree=LONG +memstoreSizeMB=INTEGER +regions=INTEGER +blockCacheCount=LONG +blockCacheHitRatio=INTEGER +atomicIncrementTimeNumOps=INTEGER +atomicIncrementTimeAvgTime=LONG +atomicIncrementTimeMinTime=LONG +atomicIncrementTimeMaxTime=LONG +fsReadLatencyNumOps=INTEGER +fsReadLatencyAvgTime=LONG +fsReadLatencyMinTime=LONG +fsReadLatencyMaxTime=LONG +storefiles=INTEGER +storefileIndexSizeMB=INTEGER +fsSyncLatencyNumOps=INTEGER +fsSyncLatencyAvgTime=LONG +fsSyncLatencyMinTime=LONG +fsSyncLatencyMaxTime=LONG +stores=INTEGER +fsWriteLatencyNumOps=INTEGER +fsWriteLatencyAvgTime=LONG +fsWriteLatencyMinTime=LONG +fsWriteLatencyMaxTime=LONG +compactionQueueSize=INTEGER +blockCacheSize=LONG +requests=FLOAT +*resetAllMinMax=VOID + +[hbaseRPCRegionServer] +@object=hadoop:name=RPCStatistics-60020,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +putNumOps=INTEGER +putAvgTime=LONG +putMinTime=LONG +putMaxTime=LONG +getNumOps=INTEGER +getAvgTime=LONG +getMinTime=LONG +getMaxTime=LONG +nextNumOps=INTEGER +nextAvgTime=LONG +nextMinTime=LONG +nextMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +openScannerNumOps=INTEGER +openScannerAvgTime=LONG +openScannerMinTime=LONG +openScannerMaxTime=LONG +closeNumOps=INTEGER +closeAvgTime=LONG +closeMinTime=LONG +closeMaxTime=LONG +*resetAllMinMax=VOID Index: src/contrib/jmxtoolkit/conf/current-jmx.properties.template =================================================================== --- src/contrib/jmxtoolkit/conf/current-jmx.properties.template (revision 0) +++ src/contrib/jmxtoolkit/conf/current-jmx.properties.template (revision 0) @@ -0,0 +1,559 @@ +[hadoopFSNamesystemState] +@object=hadoop:name=FSNamesystemState,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +CapacityTotal=LONG +CapacityUsed=LONG +CapacityRemaining=LONG +TotalLoad=INTEGER +BlocksTotal=LONG +FilesTotal=LONG +PendingReplicationBlocks=LONG +UnderReplicatedBlocks=LONG +ScheduledReplicationBlocks=LONG +;FSState=STRING +*numLiveDataNodes=INTEGER +*numDeadDataNodes=INTEGER + +[hadoopNameNodeActivity] +@object=hadoop:name=NameNodeActivity,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +AddBlockOps=INTEGER +fsImageLoadTime=INTEGER +FilesRenamed=INTEGER +SyncsNumOps=INTEGER +SyncsAvgTime=LONG +SyncsMinTime=LONG +SyncsMaxTime=LONG +JournalTransactionsBatchedInSync=INTEGER +FileInfoOps=INTEGER +CreateFileOps=INTEGER +GetListingOps=INTEGER +TransactionsNumOps=INTEGER +TransactionsAvgTime=LONG +TransactionsMinTime=LONG +TransactionsMaxTime=LONG +GetBlockLocations=INTEGER +BlocksCorrupted=INTEGER +SafemodeTime=INTEGER +FilesCreated=INTEGER +FilesAppended=INTEGER +DeleteFileOps=INTEGER +blockReportNumOps=INTEGER +blockReportAvgTime=LONG +blockReportMinTime=LONG +blockReportMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopRPCNameNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +getBlockLocationsNumOps=INTEGER +getBlockLocationsAvgTime=LONG +getBlockLocationsMinTime=LONG +getBlockLocationsMaxTime=LONG +rollFsImageNumOps=INTEGER +rollFsImageAvgTime=LONG +rollFsImageMinTime=LONG +rollFsImageMaxTime=LONG +renewLeaseNumOps=INTEGER +renewLeaseAvgTime=LONG +renewLeaseMinTime=LONG +renewLeaseMaxTime=LONG +renameNumOps=INTEGER +renameAvgTime=LONG +renameMinTime=LONG +renameMaxTime=LONG +setSafeModeNumOps=INTEGER +setSafeModeAvgTime=LONG +setSafeModeMinTime=LONG +setSafeModeMaxTime=LONG +setReplicationNumOps=INTEGER +setReplicationAvgTime=LONG +setReplicationMinTime=LONG +setReplicationMaxTime=LONG +NumOpenConnections=INTEGER +completeNumOps=INTEGER +completeAvgTime=LONG +completeMinTime=LONG +completeMaxTime=LONG +setPermissionNumOps=INTEGER +setPermissionAvgTime=LONG +setPermissionMinTime=LONG +setPermissionMaxTime=LONG +deleteNumOps=INTEGER +deleteAvgTime=LONG +deleteMinTime=LONG +deleteMaxTime=LONG +blockReceivedNumOps=INTEGER +blockReceivedAvgTime=LONG +blockReceivedMinTime=LONG +blockReceivedMaxTime=LONG +blockReportNumOps=INTEGER +blockReportAvgTime=LONG +blockReportMinTime=LONG +blockReportMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +getFileInfoNumOps=INTEGER +getFileInfoAvgTime=LONG +getFileInfoMinTime=LONG +getFileInfoMaxTime=LONG +getListingNumOps=INTEGER +getListingAvgTime=LONG +getListingMinTime=LONG +getListingMaxTime=LONG +mkdirsNumOps=INTEGER +mkdirsAvgTime=LONG +mkdirsMinTime=LONG +mkdirsMaxTime=LONG +sendHeartbeatNumOps=INTEGER +sendHeartbeatAvgTime=LONG +sendHeartbeatMinTime=LONG +sendHeartbeatMaxTime=LONG +versionRequestNumOps=INTEGER +versionRequestAvgTime=LONG +versionRequestMinTime=LONG +versionRequestMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +getDatanodeReportNumOps=INTEGER +getDatanodeReportAvgTime=LONG +getDatanodeReportMinTime=LONG +getDatanodeReportMaxTime=LONG +rollEditLogNumOps=INTEGER +rollEditLogAvgTime=LONG +rollEditLogMinTime=LONG +rollEditLogMaxTime=LONG +createNumOps=INTEGER +createAvgTime=LONG +createMinTime=LONG +createMaxTime=LONG +registerNumOps=INTEGER +registerAvgTime=LONG +registerMinTime=LONG +registerMaxTime=LONG +getStatsNumOps=INTEGER +getStatsAvgTime=LONG +getStatsMinTime=LONG +getStatsMaxTime=LONG +callQueueLen=INTEGER +abandonBlockNumOps=INTEGER +abandonBlockAvgTime=LONG +abandonBlockMinTime=LONG +abandonBlockMaxTime=LONG +addBlockNumOps=INTEGER +addBlockAvgTime=LONG +addBlockMinTime=LONG +addBlockMaxTime=LONG +distributedUpgradeProgressNumOps=INTEGER +distributedUpgradeProgressAvgTime=LONG +distributedUpgradeProgressMinTime=LONG +distributedUpgradeProgressMaxTime=LONG +getEditLogSizeNumOps=INTEGER +getEditLogSizeAvgTime=LONG +getEditLogSizeMinTime=LONG +getEditLogSizeMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopFSDatasetState] +@regexp=hadoop:name=FSDatasetState.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +Remaining=LONG +Capacity=LONG +DfsUsed=LONG +;StorageInfo=STRING + +[hadoopRPCDataNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +NumOpenConnections=INTEGER +callQueueLen=INTEGER +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +*resetAllMinMax=VOID + +[hadoopDataNodeActivity] +@regexp=hadoop:name=DataNodeActivity.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +bytes_written=LONG +reads_from_remote_client=INTEGER +replaceBlockOpNumOps=INTEGER +replaceBlockOpAvgTime=LONG +replaceBlockOpMinTime=LONG +replaceBlockOpMaxTime=LONG +block_verification_failures=INTEGER +blocks_read=INTEGER +heartBeatsNumOps=INTEGER +heartBeatsAvgTime=LONG +heartBeatsMinTime=LONG +heartBeatsMaxTime=LONG +copyBlockOpNumOps=INTEGER +copyBlockOpAvgTime=LONG +copyBlockOpMinTime=LONG +copyBlockOpMaxTime=LONG +blocks_written=INTEGER +readBlockOpNumOps=INTEGER +readBlockOpAvgTime=LONG +readBlockOpMinTime=LONG +readBlockOpMaxTime=LONG +blockChecksumOpNumOps=INTEGER +blockChecksumOpAvgTime=LONG +blockChecksumOpMinTime=LONG +blockChecksumOpMaxTime=LONG +reads_from_local_client=INTEGER +writes_from_remote_client=INTEGER +blocks_verified=INTEGER +blockReportsNumOps=INTEGER +blockReportsAvgTime=LONG +blockReportsMinTime=LONG +blockReportsMaxTime=LONG +writes_from_local_client=INTEGER +blocks_replicated=INTEGER +bytes_read=LONG +blocks_removed=INTEGER +writeBlockOpNumOps=INTEGER +writeBlockOpAvgTime=LONG +writeBlockOpMinTime=LONG +writeBlockOpMaxTime=LONG +readMetadataOpNumOps=INTEGER +readMetadataOpAvgTime=LONG +readMetadataOpMinTime=LONG +readMetadataOpMaxTime=LONG +*resetAllMinMax=VOID + +[hbaseMasterStatistics] +@object=hadoop:name=MasterStatistics,service=Master +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +cluster_requests=FLOAT + +[hbaseRPCMaster] +@object=hadoop:name=RPCStatistics-60000,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +incrementColumnValueNumOps=INTEGER +incrementColumnValueAvgTime=LONG +incrementColumnValueMinTime=LONG +incrementColumnValueMaxTime=LONG +enableTableNumOps=INTEGER +enableTableAvgTime=LONG +enableTableMinTime=LONG +enableTableMaxTime=LONG +putNumOps=INTEGER +putAvgTime=LONG +putMinTime=LONG +putMaxTime=LONG +createTableNumOps=INTEGER +createTableAvgTime=LONG +createTableMinTime=LONG +createTableMaxTime=LONG +unlockRowNumOps=INTEGER +unlockRowAvgTime=LONG +unlockRowMinTime=LONG +unlockRowMaxTime=LONG +nextNumOps=INTEGER +nextAvgTime=LONG +nextMinTime=LONG +nextMaxTime=LONG +getRegionInfoNumOps=INTEGER +getRegionInfoAvgTime=LONG +getRegionInfoMinTime=LONG +getRegionInfoMaxTime=LONG +openScannerNumOps=INTEGER +openScannerAvgTime=LONG +openScannerMinTime=LONG +openScannerMaxTime=LONG +closeNumOps=INTEGER +closeAvgTime=LONG +closeMinTime=LONG +closeMaxTime=LONG +getClusterStatusNumOps=INTEGER +getClusterStatusAvgTime=LONG +getClusterStatusMinTime=LONG +getClusterStatusMaxTime=LONG +deleteNumOps=INTEGER +deleteAvgTime=LONG +deleteMinTime=LONG +deleteMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +modifyTableNumOps=INTEGER +modifyTableAvgTime=LONG +modifyTableMinTime=LONG +modifyTableMaxTime=LONG +shutdownNumOps=INTEGER +shutdownAvgTime=LONG +shutdownMinTime=LONG +shutdownMaxTime=LONG +getClosestRowBeforeNumOps=INTEGER +getClosestRowBeforeAvgTime=LONG +getClosestRowBeforeMinTime=LONG +getClosestRowBeforeMaxTime=LONG +getHServerInfoNumOps=INTEGER +getHServerInfoAvgTime=LONG +getHServerInfoMinTime=LONG +getHServerInfoMaxTime=LONG +getNumOps=INTEGER +getAvgTime=LONG +getMinTime=LONG +getMaxTime=LONG +deleteTableNumOps=INTEGER +deleteTableAvgTime=LONG +deleteTableMinTime=LONG +deleteTableMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +getRegionsAssignmentNumOps=INTEGER +getRegionsAssignmentAvgTime=LONG +getRegionsAssignmentMinTime=LONG +getRegionsAssignmentMaxTime=LONG +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +checkAndPutNumOps=INTEGER +checkAndPutAvgTime=LONG +checkAndPutMinTime=LONG +checkAndPutMaxTime=LONG +deleteColumnNumOps=INTEGER +deleteColumnAvgTime=LONG +deleteColumnMinTime=LONG +deleteColumnMaxTime=LONG +lockRowNumOps=INTEGER +lockRowAvgTime=LONG +lockRowMinTime=LONG +lockRowMaxTime=LONG +modifyColumnNumOps=INTEGER +modifyColumnAvgTime=LONG +modifyColumnMinTime=LONG +modifyColumnMaxTime=LONG +isMasterRunningNumOps=INTEGER +isMasterRunningAvgTime=LONG +isMasterRunningMinTime=LONG +isMasterRunningMaxTime=LONG +addColumnNumOps=INTEGER +addColumnAvgTime=LONG +addColumnMinTime=LONG +addColumnMaxTime=LONG +existsNumOps=INTEGER +existsAvgTime=LONG +existsMinTime=LONG +existsMaxTime=LONG +disableTableNumOps=INTEGER +disableTableAvgTime=LONG +disableTableMinTime=LONG +disableTableMaxTime=LONG +regionServerStartupNumOps=INTEGER +regionServerStartupAvgTime=LONG +regionServerStartupMinTime=LONG +regionServerStartupMaxTime=LONG +regionServerReportNumOps=INTEGER +regionServerReportAvgTime=LONG +regionServerReportMinTime=LONG +regionServerReportMaxTime=LONG +getOnlineRegionsAsArrayNumOps=INTEGER +getOnlineRegionsAsArrayAvgTime=LONG +getOnlineRegionsAsArrayMinTime=LONG +getOnlineRegionsAsArrayMaxTime=LONG +*resetAllMinMax=VOID + +[hbaseRegionServerStatistics] +@object=hadoop:name=RegionServerStatistics,service=RegionServer +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +blockCacheFree=LONG +memstoreSizeMB=INTEGER +regions=INTEGER +blockCacheCount=LONG +blockCacheHitRatio=INTEGER +atomicIncrementTimeNumOps=INTEGER +atomicIncrementTimeAvgTime=LONG +atomicIncrementTimeMinTime=LONG +atomicIncrementTimeMaxTime=LONG +fsReadLatencyNumOps=INTEGER +fsReadLatencyAvgTime=LONG +fsReadLatencyMinTime=LONG +fsReadLatencyMaxTime=LONG +storefiles=INTEGER +storefileIndexSizeMB=INTEGER +fsSyncLatencyNumOps=INTEGER +fsSyncLatencyAvgTime=LONG +fsSyncLatencyMinTime=LONG +fsSyncLatencyMaxTime=LONG +stores=INTEGER +fsWriteLatencyNumOps=INTEGER +fsWriteLatencyAvgTime=LONG +fsWriteLatencyMinTime=LONG +fsWriteLatencyMaxTime=LONG +compactionQueueSize=INTEGER +blockCacheSize=LONG +requests=FLOAT +*resetAllMinMax=VOID + +[hbaseRPCRegionServer] +@object=hadoop:name=RPCStatistics-60020,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +incrementColumnValueNumOps=INTEGER +incrementColumnValueAvgTime=LONG +incrementColumnValueMinTime=LONG +incrementColumnValueMaxTime=LONG +enableTableNumOps=INTEGER +enableTableAvgTime=LONG +enableTableMinTime=LONG +enableTableMaxTime=LONG +putNumOps=INTEGER +putAvgTime=LONG +putMinTime=LONG +putMaxTime=LONG +createTableNumOps=INTEGER +createTableAvgTime=LONG +createTableMinTime=LONG +createTableMaxTime=LONG +unlockRowNumOps=INTEGER +unlockRowAvgTime=LONG +unlockRowMinTime=LONG +unlockRowMaxTime=LONG +nextNumOps=INTEGER +nextAvgTime=LONG +nextMinTime=LONG +nextMaxTime=LONG +getRegionInfoNumOps=INTEGER +getRegionInfoAvgTime=LONG +getRegionInfoMinTime=LONG +getRegionInfoMaxTime=LONG +openScannerNumOps=INTEGER +openScannerAvgTime=LONG +openScannerMinTime=LONG +openScannerMaxTime=LONG +closeNumOps=INTEGER +closeAvgTime=LONG +closeMinTime=LONG +closeMaxTime=LONG +getClusterStatusNumOps=INTEGER +getClusterStatusAvgTime=LONG +getClusterStatusMinTime=LONG +getClusterStatusMaxTime=LONG +deleteNumOps=INTEGER +deleteAvgTime=LONG +deleteMinTime=LONG +deleteMaxTime=LONG +RpcProcessingTimeNumOps=INTEGER +RpcProcessingTimeAvgTime=LONG +RpcProcessingTimeMinTime=LONG +RpcProcessingTimeMaxTime=LONG +modifyTableNumOps=INTEGER +modifyTableAvgTime=LONG +modifyTableMinTime=LONG +modifyTableMaxTime=LONG +shutdownNumOps=INTEGER +shutdownAvgTime=LONG +shutdownMinTime=LONG +shutdownMaxTime=LONG +getClosestRowBeforeNumOps=INTEGER +getClosestRowBeforeAvgTime=LONG +getClosestRowBeforeMinTime=LONG +getClosestRowBeforeMaxTime=LONG +getHServerInfoNumOps=INTEGER +getHServerInfoAvgTime=LONG +getHServerInfoMinTime=LONG +getHServerInfoMaxTime=LONG +getNumOps=INTEGER +getAvgTime=LONG +getMinTime=LONG +getMaxTime=LONG +deleteTableNumOps=INTEGER +deleteTableAvgTime=LONG +deleteTableMinTime=LONG +deleteTableMaxTime=LONG +getProtocolVersionNumOps=INTEGER +getProtocolVersionAvgTime=LONG +getProtocolVersionMinTime=LONG +getProtocolVersionMaxTime=LONG +getRegionsAssignmentNumOps=INTEGER +getRegionsAssignmentAvgTime=LONG +getRegionsAssignmentMinTime=LONG +getRegionsAssignmentMaxTime=LONG +RpcQueueTimeNumOps=INTEGER +RpcQueueTimeAvgTime=LONG +RpcQueueTimeMinTime=LONG +RpcQueueTimeMaxTime=LONG +checkAndPutNumOps=INTEGER +checkAndPutAvgTime=LONG +checkAndPutMinTime=LONG +checkAndPutMaxTime=LONG +deleteColumnNumOps=INTEGER +deleteColumnAvgTime=LONG +deleteColumnMinTime=LONG +deleteColumnMaxTime=LONG +lockRowNumOps=INTEGER +lockRowAvgTime=LONG +lockRowMinTime=LONG +lockRowMaxTime=LONG +modifyColumnNumOps=INTEGER +modifyColumnAvgTime=LONG +modifyColumnMinTime=LONG +modifyColumnMaxTime=LONG +isMasterRunningNumOps=INTEGER +isMasterRunningAvgTime=LONG +isMasterRunningMinTime=LONG +isMasterRunningMaxTime=LONG +addColumnNumOps=INTEGER +addColumnAvgTime=LONG +addColumnMinTime=LONG +addColumnMaxTime=LONG +existsNumOps=INTEGER +existsAvgTime=LONG +existsMinTime=LONG +existsMaxTime=LONG +disableTableNumOps=INTEGER +disableTableAvgTime=LONG +disableTableMinTime=LONG +disableTableMaxTime=LONG +regionServerStartupNumOps=INTEGER +regionServerStartupAvgTime=LONG +regionServerStartupMinTime=LONG +regionServerStartupMaxTime=LONG +regionServerReportNumOps=INTEGER +regionServerReportAvgTime=LONG +regionServerReportMinTime=LONG +regionServerReportMaxTime=LONG +getOnlineRegionsAsArrayNumOps=INTEGER +getOnlineRegionsAsArrayAvgTime=LONG +getOnlineRegionsAsArrayMinTime=LONG +getOnlineRegionsAsArrayMaxTime=LONG +*resetAllMinMax=VOID Index: src/contrib/jmxtoolkit/README.txt =================================================================== --- src/contrib/jmxtoolkit/README.txt (revision 0) +++ src/contrib/jmxtoolkit/README.txt (revision 0) @@ -0,0 +1,387 @@ +The JMXToolkit +============== + +The JMXToolkit is a combined class that can help you create a specific +configuration file to query many hosts subsequently to either gather the values +of the various JMX attributes and operations these servers expose or to run +Nagios type checks on them. + +For the commandline parameters run the tool with -h as the sole option: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -h + +Usage: JMXToolkit [-a ] [-c ] [-p ] [-u url] [-f ] [-o ] + [-e regexp] [-i ] [-q ] [-w ] [-m ] [-x] [-l] [-v] [-h] + + -a Action to perform, can be one of the following (default: query) + + create Scan a JMX object for available attributes + query Query a set of attributes from the given objects + check Checks a given value to be in a valid range (see -w below) + encode Helps creating the encoded messages (see -m and -w below) + + -c The user role to authenticate with (default: controlRole) + -p The password to authenticate with (default: password) + -u The JMX URL (default: service:jmx:rmi:///jndi/rmi://localhost:10001/jmxrmi) + -f The config file to use (default: none) + -o The JMX object query (default: none) + -e The regular expression to match (default: none) + -i The name of the object that is inherited from (default: none) + -q The attribute or operation to query (default: none) + -w Used with -a check to define thresholds (default: none) + + Format: [:] \ + |:[]:[:] \ + [|:[]:[:]] + + Example for Nagios and DFS used (in %): + + 0:OK%3A%20%7B0%7D|2:WARN%3A%20%7B0%7D:80:>=|1:FAIL%3A%20%7B0%7D:95:> + + Notes: Messages are URL-encoded to allow for any character being used. The current value + can be placed with {0} in the message. Allowed comparators: <,<=,=,==,>=,> + + -m The message to encode for further use (default: none) + -x Output config to console (do not write back to -f ) + -l Ignore missing attributes, do not throw an error + -v Verbose output + -h Prints this help + +You can run ad-hoc queries specifying the required parameters on the command +line or make use of a specific properties file that let's you predefine all +hosts, objects, attributes, checks and so on. + +Command Line +============ + +There are four types of actions: "create", "query", "check", and "encode". The +"create" is used to create properties files and explained in the next section. +The other three are explained here but can be used in combination with a +properties file and examples of such use are also shown in the next section. + +The samples below also make use of the fact that some parameters have default +values. For example, the default user is "controlRole" which is used as such in +the assumed Hadoop/HBase setup (again, see section "Properties" for details). + +Query +----- + +This action allows to simply query a specific or all attributes of a JMX enabled +host. Examples: + +- Retrieve all values for a specific object + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" + +CapacityTotal:37602137948160 CapacityUsed:20282880688128 CapacityRemaining:16583540920320 TotalLoad:21 BlocksTotal:214256 FilesTotal:405787 +PendingReplicationBlocks:0 UnderReplicatedBlocks:0 ScheduledReplicationBlocks:0 FSState:Operational numLiveDataNodes:20 numDeadDataNodes:0 + +Note: "-a query" is the default and therefore was omitted from the commands above. + +- Retrieve one specific value only + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" -q CapacityRemaining + +CapacityRemaining:16583540879360 + +An operation is distinguished from an attribute by a leading star symbol. This +is also how they are distinguished in the properties files (see below): + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" -q *numLiveDataNodes + +numLiveDataNodes:20 + +Check +----- + +A check is a Nagios type check where usually a single value of a JMX attribute +or operation is compared to a threshold value. If the value is higher than the +threshold a specific exit code is used to indicate a warning or even an error +state. These exit codes are used by tools like Nagios to check if a value is OK +or not. Examples: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" -q CapacityRemaining \ + -w "0|2::16583540879360:<|1::8291770439680:<" -v + +Reading properties... +Action -> check +Checking value... +Querying values... +Details -> CapacityRemaining, value=16583540760576 +Check -> |0|2::16583540879360:<|1::8291770439680:< +Exit code -> 2 +Done. + +Note: The use of the -v verbose option defies the intended use of a check as it +outputs more than just the exit codes, but it is useful to test the command and +hence its use in this example. + +Optionally a message can be specified that is output on the console, and which +is typically used and displayed by tools like Nagios: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" -q CapacityRemaining \ + -w "0:OK%3A%20%7B0%7D|2:WARN%3A%20%7B0%7D:16583540879360:<|1:FAILED%3A%20%7B0%7D:8291770439680:<" + +WARN: 16,583,539,212,288 + +The message is URL-encoded (see "Encode" action described below) and uses Java's +MessageFormat class to format the message. A place-holder can be used to put the +current value into the message, for example "CapacityRemaining OK: Remaining:{0}". +This also allows to specify different number format patterns, for example +"{0,number,#}" resulting in: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit \ + -p mypass -u "service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi" \ + -o "hadoop:name=FSNamesystemState,service=NameNode" -q CapacityRemaining \ + -w "0|2:WARN%3A+%7B0%2Cnumber%2C%23%7D:16583540879360:<|1:FAILED%3A+%7B0%2Cnumber%2C%23%7D:8291770439680:<" + +WARN: 16583539253248 + +Encode +------ + +This action is to help create the appropriate messages for the checks explained +above. Example: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -a encode -m "OK: Current {0}" +OK%3A+Current+%7B0%7D + +Properties File +=============== + +The use of properties files is twofold, first it allows to specify many nodes +and their values in one place. Secondly it saves a retrieval step which is +needed for ad-hoc queries without the "-q" option as shown above. + +Create +------ + +It does make sense to create the properties file in two steps. First is to +create a template that defines the various values for each host and JMX object. +An example is the following properties file for Hadoop and HBase hosts, named +subsquently "hadoop-hbase.properties": + +; Hadoop NameNode +[hadoopFSNamesystemState] +@object=hadoop:name=FSNamesystemState,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopNameNodeActivity] +@object=hadoop:name=NameNodeActivity,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopRPCNameNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +; attribute=INTEGER|0:OK%3A%20%7B0%7D|2:WARN%3A%20%7B0%7D:80:<|1:FAILED%3A%20%7B0%7D:95:< +; *operation=FLOAT|0|2::0.1:>=|1::0.5:> + +; Hadoop DataNode +[hadoopFSDatasetState] +@regexp=hadoop:name=FSDatasetState.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopRPCDataNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopDataNodeActivity] +@regexp=hadoop:name=DataNodeActivity.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} + +; HBase Master +[hbaseMasterStatistics] +@object=hadoop:name=MasterStatistics,service=Master +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hbaseRPCMaster] +@object=hadoop:name=RPCStatistics-60000,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} + +; HBase RegionServer +[hbaseRegionServerStatistics] +@object=hadoop:name=RegionServerStatistics,service=RegionServer +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hbaseRPCRegionServer] +@object=hadoop:name=RPCStatistics-60020,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} + +; EOF + +The above template can be used to query a master and slave node to retrieve all +current known JMX attributes and operations. This is done like so: + +$ java -DHOSTNAME1=master.foobar.com -DHOSTNAME2=slave.foobar.com -DPASSWORD=mypass \ + org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f hadoop-hbase.properties -a create -x > myjmx.properties + +The ouput is saved in a new myjmx.properties file which looks like this +(shortened): + +hadoopFSNamesystemState] +@object=hadoop:name=FSNamesystemState,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi +@user=controlRole +@password=mypass +CapacityTotal=LONG +CapacityUsed=LONG +CapacityRemaining=LONG +TotalLoad=INTEGER +BlocksTotal=LONG +FilesTotal=LONG +PendingReplicationBlocks=LONG +UnderReplicatedBlocks=LONG +ScheduledReplicationBlocks=LONG +FSState=STRING +*numLiveDataNodes=INTEGER +*numDeadDataNodes=INTEGER + +[hadoopNameNodeActivity] +@object=hadoop:name=NameNodeActivity,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi +@user=controlRole +@password=mypass +AddBlockOps=INTEGER +fsImageLoadTime=INTEGER +FilesRenamed=INTEGER +SyncsNumOps=INTEGER +SyncsAvgTime=LONG +SyncsMinTime=LONG +... + +[hadoopRPCNameNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://master.foobar.com:10001/jmxrmi +@user=controlRole +@password=mypass +getBlockLocationsNumOps=INTEGER +getBlockLocationsAvgTime=LONG +getBlockLocationsMinTime=LONG +getBlockLocationsMaxTime=LONG +rollFsImageNumOps=INTEGER +rollFsImageAvgTime=LONG +... + +[hbaseRegionServerStatistics] +@object=hadoop:name=RegionServerStatistics,service=RegionServer +@url=service:jmx:rmi:///jndi/rmi://slave.foobar.com:10102/jmxrmi +@user=controlRole +@password=mypass +blockCacheFree=LONG +memstoreSizeMB=INTEGER +regions=INTEGER +blockCacheCount=LONG +blockCacheHitRatio=INTEGER +atomicIncrementTimeNumOps=INTEGER +atomicIncrementTimeAvgTime=LONG +atomicIncrementTimeMinTime=LONG +... + +Notes: JMX operations are prefixed with a "*", specific node options are +prefixed with a "@". Each section has either an @object or @regexp option to +allow for exact or matches using a regular expression. The latter is useful +when the object name changes between server restarts, which is the case for +Hadoop's DataNode for example. In such a case the JMXToolkit does scan all +object names of a host to find a matching object. The regular expression should +*not* be too broad and cover more than one object. Rather use two sections with +more specific expressions to get the wanted object name match. + +With this newly created properties file the user can now query and check various +values. Once the properties file is created it can be edited to include all +required Nagios type checks. The file can also be updated exactly the same way +- the only current drawback is that comments are deleted. Checks however are +carried over, so no viable information is lost during an update. Simply run the +above create command again while specifying the existing properties file. +Example: + +$ java -DHOSTNAME1=master.foobar.com -DHOSTNAME2=slave.foobar.com -DPASSWORD=mypass \ + org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f myjmx.properties -a create + +This updates the myjmx.properties in place. + +Query +----- + +As mentioned above, the same queries can be sent but with a lot less command +line parameters. + +Example: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f myjmx.properties \ + -o hadoopFSNamesystemState -q CapacityRemaining + +CapacityRemaining:16583540396032 + +Or with an operation: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f myjmx.properties \ + -o hadoopFSNamesystemState -q *numLiveDataNodes + +numLiveDataNodes:20 + + +Check +----- + +In addition to what was explained above, checks can be specified on the command +line or saved in the properties file for implicit use. Using the example above, +one could edit the myjmx.properties file to include the check: + +[hadoopFSNamesystemState] +... +CapacityRemaining=LONG|0|2::16583540879360:<|1::8291770439680:< +... + +This can then be used like this: + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f myjmx.properties \ + -o hadoopFSNamesystemState -q CapacityRemaining -a check -v + +Reading properties... +Action -> check +Checking value... +Querying values... +Details -> CapacityRemaining=LONG|0|2::16583540879360:<|1::8291770439680:<, value=16583540469760 +Check -> |0|2::16583540879360:<|1::8291770439680:< +Exit code -> 2 +Done. + +With this option all required checks can be saved with the properties file and +executed whenever needed with just a few command line details. Of course, just +as explained above, the check can include specific messages that are printed on +the console, in addition to the exit code: + +[hadoopFSNamesystemState] +... +CapacityRemaining=LONG|0:OK%3A%20%7B0%2Cnumber%2C%23%7D|2:WARN%3A%20%7B0%2Cnumber%2C%23%7D:16583540879360:<|1:FAILED%3A%20%7B0%2Cnumber%2C%23%7D:8291770439680:< +... + +And calling it returns (note the absence of the -v parameter): + +$ java org.apache.hadoop.hbase.jmxtoolkit.JMXToolkit -f myjmx.properties \ + -o hadoopFSNamesystemState -q CapacityRemaining -a check +WARN: 16583538905088 Index: src/contrib/jmxtoolkit/INSTALL.txt =================================================================== --- src/contrib/jmxtoolkit/INSTALL.txt (revision 0) +++ src/contrib/jmxtoolkit/INSTALL.txt (revision 0) @@ -0,0 +1,108 @@ +Building JMXToolkit +=================== + +The project comes with the configuration files for the current distribution, +so one can build the project as is - or - query a specific set of JMX enabled +hosts and build a system that matches those hosts. This allows for example +to create different instances to graph clusters with different release levels. + +To build the project with the current JMX properties file simply run: + +$ ant + +It builds a jar file containing all that is needed for the current release +of HBase. See the section about Cacti below for how to proceed from this point. + +Custom Building +=============== + +The above builds the jar file against the current known JMX attributes and +operations of this release level. Sometimes though you may have custom setups +that have other attributes or operations (such as an older release level) or +you want to add custom Nagios type checks (see README.txt) or use a password +to secure your JMX setup. + +You can build a jar using an immediate JMX discovery process. It scans the +named hosts and creates a custom properties file. Here HOSTNAME1 must point +to a master server and HOSTNAME2 to a region server and/or Hadoop data node. + +Please note that one password is assumed for the access control rights: + +$ ant -DPASSWORD=mypass -DHOSTNAME1=master.foo.com -DHOSTNAME2=slave.foo.com \ + create-properties + +Once done you can jar the custom properties file up with the rest of the +project: + +$ ant jar + +Or do both in one step like so: + +$ ant -DPASSWORD=mypass -DHOSTNAME1=master.foo.com -DHOSTNAME2=slave.foo.com \ + create-properties jar + +Finally there is an option to change the prefix that is used to name the +custom properties and resulting jar file; usually the prefix is the current +release version, for example "hbase-0.20.4". With the example below you build a +"mycluster-jmxtoolkit.jar" using a "mycluster-jmx.properties" file internally. +Also note that the scripts are automatically renamed as well and adjusted to +use this custom prefixed build. This allows to run more than one setup on one +Cacti instance for example, since everything is named differently. Here the +build command: + +$ ant -DPASSWORD=mypass -DHOSTNAME1=master.foo.com -DHOSTNAME2=slave.foo.com \ + -Dproperties.prefix=mycluster create-properties jar + +Cacti Install +============= + +Once the jar is build it can be used on a Cacti server. First the jar is copied +over the network into the Cacti scripts directory (which can vary between +installs, so make sure you know what you are doing). Next extract the scripts: + + $ cd $CACTI_HOME/scripts + $ unzip hbase-0.20.4-jmxtoolkit.jar bin/* + $ chmod +x bin/* + +Once the scripts are in place test the basic functionality: + + $ bin/jmxtkcacti-hbase-0.20.4.sh slave.foo.com hadoopFSDatasetState + + Remaining:552378507264 Capacity:1880106897408 DfsUsed:1244164909593 + +The jar also includes a set of Cacti templates that you can import into it and +use as a starting point to graph various values exposed by Hadoop's and HBase's +JMX MBeans. + +The templates where kindly provided by Ed Capriolo, more on the topic can be +found at http://www.jointhegrid.com/hadoop/ + +Especially the installation instructions may be useful to set up JMX first: + + http://www.jointhegrid.com/svn/hadoop-cacti-jtg/trunk/doc/INSTALL.txt + +Please note that as of HBase 0.20.3 the hbase-env.sh already contains commented +out JMX export statements so that setting up JMX for HBase is simply done by +commenting out those few lines + +export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" +export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10101" +export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10102" + +Also note that the default setup is not employing any password authentication +as currently the HBase UI also does not have any security built in yet and +therefore is open on the LAN level. + +Nagios Install +============== + +With Nagios you can follow the same steps described above in the Cacti install. +You can then wire the Nagios checks to the supplied check script. If you have +checks defined in the properties file then you only specify the object and +attribute or operation to query. If not then you can specify the check within +Nagios like so: + + $ bin/jmxtknagios-hbase-0.20.4.sh master.foo.com hadoopFSNamesystemState \ + TotalLoad "0|2:WARN%20%7B0%7D:1500:<|1:FAIL%20%7B0%7D:2000:<" + + FAIL 1,501 Index: src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_namenode.xml =================================================================== --- src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_namenode.xml (revision 0) +++ src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_namenode.xml (revision 0) @@ -0,0 +1,1611 @@ + + + Hadoop 0.20.1 - NameNode + hash_000016638b68a452a2b06c48d6d7f83cadfed2|hash_000016b9bf9bf1f89b5e9530db5db6fc68f32c|hash_0000169d72c20b7e4bf4aca5a9e1cb701d92cf|hash_0000165656992b2f4c5fa1012ddb7408965da8|hash_0000163d50f962e9398c0a807ab8f685aa8889 + + + + Hadoop 0.20.1 - NameNode - Replicated Blocks + + + |host_description| - Hadoop 0.20.1 - NameNode - Replicated Blocks + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_08001620c57c35561c4173f4072eaab3c7761e + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + PendingRelicationBlocks + + 1 + + + hash_08001620c57c35561c4173f4072eaab3c7761e + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_08001620c57c35561c4173f4072eaab3c7761e + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_08001620c57c35561c4173f4072eaab3c7761e + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016bbfcde53350c79bb7776a9f27786cc30 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + ScheduledReplicationBlocks + + 5 + + + hash_080016bbfcde53350c79bb7776a9f27786cc30 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016bbfcde53350c79bb7776a9f27786cc30 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016bbfcde53350c79bb7776a9f27786cc30 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_080016bf3aea532ca0a2a2b0b75fb9d39b650c + F51D30 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + UnderReplicatedBlocks + + 9 + + + hash_080016bf3aea532ca0a2a2b0b75fb9d39b650c + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_080016bf3aea532ca0a2a2b0b75fb9d39b650c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_080016bf3aea532ca0a2a2b0b75fb9d39b650c + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [PendingReplicationB] + + task_item_id + hash_000016cd0d53bf431cbba4866e064969ac1dba|hash_0000168d5ec377eab244945867c07d881f406f|hash_000016f90cef64ff781e8b522483eb55d953a7|hash_0000168a45b8ca8a4c1e58a300c3ae78fb6920 + + + Data Source [ScheduledReplicatio] + + task_item_id + hash_00001623959877ed7f3b7965c5ab51b0f7ab19|hash_0000161cb98dce868179d9a0b9fbf5a82a0e35|hash_000016a46b4c497ff0a5f3629d1a2d354ab7be|hash_000016f020d7f417c5113031f68661ae0efaeb + + + Data Source [UnderReplicatedBloc] + + task_item_id + hash_0000166d5609a44c07c0372f74c7955cd5791e|hash_000016bfb2e795c1faaee9da65cfc8fc062f87|hash_0000162a2b59c003a6a0020bb17ec3cafd8afe|hash_000016343714809d0ef8397bd59d4cb2d8ee91 + + + + + Hadoop 0.20.1 - NameNode - Capacity + + + |host_description| - Hadoop 0.20.1 - NameNode - Capacity + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016fac301e0f12857ec5e3e9380bf8c679d + 00FF00 + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + CapacityUsed + + 1 + + + hash_080016fac301e0f12857ec5e3e9380bf8c679d + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016fac301e0f12857ec5e3e9380bf8c679d + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016fac301e0f12857ec5e3e9380bf8c679d + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800164e563eabb4ef68cde08652acc789a80a + 0000FF + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + CapacityRemaining + + 5 + + + hash_0800164e563eabb4ef68cde08652acc789a80a + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800164e563eabb4ef68cde08652acc789a80a + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800164e563eabb4ef68cde08652acc789a80a + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_08001630577f8b79bd2a0ac6c3854ac3bffa58 + 000000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + CapacityTotal + + 9 + + + hash_08001630577f8b79bd2a0ac6c3854ac3bffa58 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_08001630577f8b79bd2a0ac6c3854ac3bffa58 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_08001630577f8b79bd2a0ac6c3854ac3bffa58 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [CapacityRemaining] + + task_item_id + hash_000016019124cea3f8c8f9afd8fa54fc7d1e93|hash_00001628e34da30be8f140d1643c6730029572|hash_0000167acc392ef7ecb35fd4afcbb5b1eebd7b|hash_000016d88abc938f69964360a20e51ade11f37 + + + Data Source [CapacityUsed] + + task_item_id + hash_00001648886244f8bcae011b99f3c9c98725dd|hash_000016cc2563e2fe8cbcfa0576b964806e64cf|hash_000016b4f37a021bba1c6667c859eab14b128c|hash_00001642e16878a635f2db254c399375df0d25 + + + Data Source [CapacityTotal] + + task_item_id + hash_00001687ce85182fc128ce05efc176dbd4bbe7|hash_000016309fe88e6c4ce8766219598e3181826d|hash_0000161db08ca502327372c7b373d87f818606|hash_000016f0ea7c0278b3061b80d82823a64a3db8 + + + + + Hadoop 0.20.1 - NameNode - Files Blocks + + + |host_description| - Hadoop 0.20.1 - NameNode - Files Blocks + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800160ef1353635749e13b1e2d0823437e6db + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + BlocksTotal + + 1 + + + hash_0800160ef1353635749e13b1e2d0823437e6db + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800160ef1353635749e13b1e2d0823437e6db + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800160ef1353635749e13b1e2d0823437e6db + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016f1ba6329ca65553d6ead1ea991221875 + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + FilesTotal + + 5 + + + hash_080016f1ba6329ca65553d6ead1ea991221875 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016f1ba6329ca65553d6ead1ea991221875 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016f1ba6329ca65553d6ead1ea991221875 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [BlocksTotal] + + task_item_id + hash_0000169639c26d1ad94757c5365ffc3b89e3cd|hash_00001681ff308dd40dd5109b12c2e365b257fb|hash_000016317c3a1cb7caf67d7bac0b8e27aded4f|hash_0000168136b4ca321ca20a6897485b26298445 + + + Data Source [FilesTotal] + + task_item_id + hash_00001629e16f68001ea7875592bb127a9dae39|hash_00001689ecde2c47ac057a30144c29e1bc3369|hash_0000160041f128c26f2aac8ab4131f18770814|hash_0000160e151467003f6ca9a40b8f3dac59a0d4 + + + + + Hadoop 0.20.1 - NameNode - Live vs Dead Datanodes + + + |host_description| - Hadoop 0.20.1 - NameNode - Live vs Dead Datanodes + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_08001638cd9dde3c5c1e28cd7fc1020032a927 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + numLiveDataNodes + + 1 + + + hash_08001638cd9dde3c5c1e28cd7fc1020032a927 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_08001638cd9dde3c5c1e28cd7fc1020032a927 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_08001638cd9dde3c5c1e28cd7fc1020032a927 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800169195992be2d607002f89b0843ff6eef2 + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + numDeadDataNodes + + 5 + + + hash_0800169195992be2d607002f89b0843ff6eef2 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800169195992be2d607002f89b0843ff6eef2 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800169195992be2d607002f89b0843ff6eef2 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [numLiveDataNodes] + + task_item_id + hash_000016a5b6fcddc2e22289a629d39e85753b3c|hash_0000169a0c06ff2b30fc054f4a799960f0e4cc|hash_0000165a19e20a7aeceb6e7c4bb84d346e4649|hash_0000168c66da546573a85850ee02bfe8c2d100 + + + Data Source [numDeadDataNodes] + + task_item_id + hash_000016ea292a2bbb3f2073fb58fd5f59fd8a0c|hash_000016466eca85b1c671a54d3c2d877bf002ea|hash_000016674a32dee6be9c489d81947b0285b185|hash_000016727bc532cc90319a6d6e8526d4960ef6 + + + + + Hadoop 0.20.1 - NameNode - SafeMode fsImageLoad + + + |host_description| - Hadoop 0.20.1 - NameNode - SafeMode fsImageLoad + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016da79b94a78a95c417700f30dc5f790b2 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsImageLoadTime + + 1 + + + hash_080016da79b94a78a95c417700f30dc5f790b2 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016da79b94a78a95c417700f30dc5f790b2 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016da79b94a78a95c417700f30dc5f790b2 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800163a0c0f28266e9310f04d641824b62cd4 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + SafemodeTime + + 5 + + + hash_0800163a0c0f28266e9310f04d641824b62cd4 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800163a0c0f28266e9310f04d641824b62cd4 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800163a0c0f28266e9310f04d641824b62cd4 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [fsImageLoadTime] + + task_item_id + hash_000016c48827b8adf1edfe125605a64552a09b|hash_00001673f8d09684ab5ffa6281e6df8805048b|hash_00001688f9f69b91d824bfb510351f99dcac1a|hash_000016cdae9d3745f2c50cb90d94fe76650fb7 + + + Data Source [Safemode] + + task_item_id + hash_000016599bf2f01168b688186d84b9eef9ecfa|hash_000016ffa44c68e755ac6021b1d26eb5446e67|hash_00001601501d65f505e35789fabcac472c1df1|hash_00001637a1a8294ad812869e3a9b279125d437 + + + + + Hadoop 0.20.1 - NameNode - FSNamesystemState - Repl Blocks + + + |host_description| - Hadoop 0.20-1 - NameNode - FSNamesystemState - Repl Blocks + hash_03001666b3dcef05d75c121a75363029864b4c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + PendingReplicationB + + 0 + + 0 + + 1 + + 600 + + hash_070016a422702ec4592213b014d7eb4f92a204 + + + + ScheduledReplicatio + + 0 + + 0 + + 1 + + 600 + + hash_0700169d0ef4958d047ef5e672c931a845b0c8 + + + + UnderReplicatedBloc + + 0 + + 0 + + 1 + + 600 + + hash_0700160d60c7868370ff12c2847ea338ba3d28 + + + + + hash_070016d27dad6735e20ef4147d6f5372f4a5e9 + + + + + + + Hadoop 0.20.1 - NameNode - FSNamesystemState - Capacity + + + |host_description| - Hadoop 0.20.1 - NameNode - FSNamesystemState - Capacity + hash_03001666b3dcef05d75c121a75363029864b4c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + CapacityTotal + + 0 + + 0 + + 1 + + 600 + + hash_070016b3d8bbdfdaeedd13507371749d4aa1f4 + + + + CapacityRemaining + + 0 + + 0 + + 1 + + 600 + + hash_070016ae47402e4913a56486c8f504de9f1f9c + + + + CapacityUsed + + 0 + + 0 + + 1 + + 600 + + hash_07001668f22528967c1571e78c3a030180b939 + + + + + hash_070016d27dad6735e20ef4147d6f5372f4a5e9 + + + + + + + Hadoop 0.20.1 - NameNode - FSNamesystemState - Files Blocks + + + |host_description| - Hadoop 0.20.1 - NameNode - FSNamesystemState - Files Blocks + hash_03001666b3dcef05d75c121a75363029864b4c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + FilesTotal + + 0 + + 0 + + 1 + + 600 + + hash_0700165d239f8ab884a69858326dfa0f93656a + + + + BlocksTotal + + 0 + + 0 + + 1 + + 600 + + hash_0700162b8d057befbb50a64b01f80caeaa4076 + + + + + hash_070016d27dad6735e20ef4147d6f5372f4a5e9 + + + + + + + Hadoop 0.20.1 - NameNode - FSNamesystemState - Live Dead DataNodes + + + |host_description| - Hadoop 0.20.1 - NameNode - FSNamesystemState - Live Dead DataNodes + hash_03001666b3dcef05d75c121a75363029864b4c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + numLiveDataNodes + + 0 + + 0 + + 1 + + 600 + + hash_070016e44541fd936f804cc1e9e13f5fc36426 + + + + numDeadDataNodes + + 0 + + 0 + + 1 + + 600 + + hash_070016cb8b26e7ff30790bcc847c2af07abe24 + + + + + hash_070016d27dad6735e20ef4147d6f5372f4a5e9 + + + + + + + Hadoop 0.20.1 - NameNode - NameNodeActicty - SafeMode fsImageLoad + + + |host_description| - Hadoop 0.20.1 - NameNode - NameNodeActicty - SafeMode fsImageLoad + hash_030016a036084320d076e21460bc64a92b3f37 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + SafemodeTime + + 0 + + 0 + + 1 + + 600 + + hash_070016bd8416d90dbfcead34b0cc05b854fccf + + + + fsImageLoadTime + + 0 + + 0 + + 1 + + 600 + + hash_07001667a7858a8d669d7e5e5497328328294f + + + + + hash_070016134ed45af949dac6c9eef923fab883ed + + + + + + + Hadoop 0.20.1 - NameNode - FSNamesystemState + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hadoopFSNamesystemState + + + host name to query + + + + hostname + in + host + + + BlocksTotal + on + + + + out + BlocksTotal + + + CapacityRemaining + on + + + + out + CapacityRemaining + + + CapacityTotal + on + + + + out + CapacityTotal + + + CapacityUsed + on + + + + out + CapacityUsed + + + FilesTotal + on + + + + out + FilesTotal + + + PendingReplicationBlocks + on + + + + out + PendingReplicationBlocks + + + ScheduledReplicationBlocks + on + + + + out + ScheduledReplicationBlocks + + + TotalLoad + on + + + + out + TotalLoad + + + UnderReplicatedBlocks + on + + + + out + UnderReplicatedBlocks + + + numLiveDataNodes + on + + + + out + numLiveDataNodes + + + numDeadDataNodes + on + + + + out + numDeadDataNodes + + + + + Hadoop 0.20.1 - NameNode - NameNodeActivity + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hadoopNameNodeActivity + + + host name to query + + + + hostname + in + host + + + AddBlockOps + on + + + + out + AddBlockOps + + + BlocksCorrupted + on + + + + out + BlocksCorrupted + + + CreateFileOps + on + + + + out + CreateFileOps + + + DeleteFileOps + on + + + + out + DeleteFileOps + + + FilesAppended + on + + + + out + FilesAppended + + + FilesCreated + on + + + + out + FilesCreated + + + FilesRenamed + on + + + + out + FilesRenamed + + + GetBlockLocations + on + + + + out + GetBlockLocations + + + GetListingOps + on + + + + out + GetListingOps + + + JournalTransactionsBatchedInSync + on + + + + out + JournalTransactionsBatchedInSync + + + SafemodeTime + on + + + + out + SafemodeTime + + + SyncsAvgTime + on + + + + out + SyncsAvgTime + + + SyncsMaxTime + on + + + + out + SyncsMaxTime + + + SyncsMinTime + on + + + + out + SyncsMinTime + + + SyncsNumOps + on + + + + out + SyncsNumOps + + + TransactionsAvgTime + on + + + + out + TransactionsAvgTime + + + TransactionsMaxTime + on + + + + out + TransactionsMaxTime + + + TransactionsMinTime + on + + + + out + TransactionsMinTime + + + TransactionsNumOps + on + + + + out + TransactionsNumOps + + + blockReportAvgTime + on + + + + out + blockReportAvgTime + + + blockReportMaxTime + on + + + + out + blockReportMaxTime + + + blockReportMinTime + on + + + + out + blockReportMinTime + + + blockReportNumOps + on + + + + out + blockReportNumOps + + + fsImageLoadTime + on + + + + out + fsImageLoadTime + + + FileInfoOps + on + + + + out + FileInfoOps + + + + + Daily (5 Minute Average) + 0.5 + 1 + 600 + 86400 + 1|3 + + + Weekly (30 Minute Average) + 0.5 + 6 + 700 + 604800 + 1|3 + + + Monthly (2 Hour Average) + 0.5 + 24 + 775 + 2678400 + 1|3 + + + Yearly (1 Day Average) + 0.5 + 288 + 797 + 33053184 + 1|3 + + + Hourly (1 Minute Average) + 0.5 + 1 + 500 + 14400 + 1|3 + + + Normal + %8.2lf %s + + \ No newline at end of file Index: src/contrib/jmxtoolkit/src/java/org/apache/hadoop/hbase/jmxtoolkit/JMXToolkit.java =================================================================== --- src/contrib/jmxtoolkit/src/java/org/apache/hadoop/hbase/jmxtoolkit/JMXToolkit.java (revision 0) +++ src/contrib/jmxtoolkit/src/java/org/apache/hadoop/hbase/jmxtoolkit/JMXToolkit.java (revision 0) @@ -0,0 +1,1134 @@ +/** + * Copyright 2007 The Apache Software Foundation + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.jmxtoolkit; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.text.DecimalFormat; +import java.text.MessageFormat; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.management.InstanceNotFoundException; +import javax.management.IntrospectionException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanOperationInfo; +import javax.management.MBeanServerConnection; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; +import javax.management.ReflectionException; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; + +/** + * Allows the creation of JMX attribute lists for given objects as well as + * the actual query of the attribute values. + * + * @author Lars George + */ +public class JMXToolkit { + + private static enum ReturnTypes { NONE, CHAR, STRING, BYTE, SHORT, INTEGER, + LONG, DOUBLE, FLOAT, BOOLEAN, VOID } + private static final Pattern vars = Pattern.compile("\\$\\{\\S+\\}"); + private static final DecimalFormat thresh = new DecimalFormat("#.##########"); + private static enum CompareResults { LOWER, LOWER_OR_EQUAL, EQUAL, + GREATER_OR_EQUAL, GREATER, OK }; + + private JMXServiceURL jmxUrl = null; + private JMXConnector connector = null; + private MBeanServerConnection connection = null; + private Map params = new HashMap(); + private List
sections = new LinkedList
(); + private boolean verbose = false; + private boolean debug = false; + private String lineSeparator = System.getProperty("line.separator"); + + class CheckDetails { + + private Integer okCode = null; + private Integer warnCode = null; + private Integer errorCode = null; + private Double warnThreshold = null; + private Double errorThreshold = null; + private String warnComparator = ">"; + private String errorComparator = ">"; + private String okMessage = null; + private String warnMessage = null; + private String errorMessage = null; + + public CheckDetails(String data) { + if (data != null) try { + String[] parts = data.split("\\|"); + if (parts[0].length() > 0) { + String[] op = parts[0].split(":"); + if (op[0].length() > 0) okCode = new Integer(op[0]); + if (op.length > 1 && op[1].length() > 0) + okMessage = op[1]; + } + if (parts.length > 1 && parts[1].length() > 0) { + String[] wp = parts[1].split(":"); + if (wp[0].length() > 0) warnCode = new Integer(wp[0]); + if (wp.length > 1 && wp[1].length() > 0) + warnMessage = wp[1]; + if (wp.length > 2 && wp[2].length() > 0) + warnThreshold = new Double(wp[2]); + if (wp.length > 3 && wp[3].length() > 0) + warnComparator = wp[3]; + } + if (parts.length > 2 && parts[2].length() > 0) { + String[] ep = parts[2].split(":"); + if (ep[0].length() > 0) errorCode = new Integer(ep[0]); + if (ep.length > 1 && ep[1].length() > 0) + errorMessage = ep[1]; + if (ep.length > 2 && ep[2].length() > 0) + errorThreshold = new Double(ep[2]); + if (ep.length > 3 && ep[3].length() > 0) + errorComparator = ep[3]; + } + } catch (Exception e) { + System.err.println("WARNING: Could not parse check details -> " + data); + } + } + + public Integer getOkCode() { + return okCode; + } + + public void setOkCode(Integer okCode) { + this.okCode = okCode; + } + + public Integer getWarnCode() { + return warnCode; + } + + public void setWarnCode(Integer warnCode) { + this.warnCode = warnCode; + } + + public Integer getErrorCode() { + return errorCode; + } + + public void setErrorCode(Integer errorCode) { + this.errorCode = errorCode; + } + + public Double getWarnThreshold() { + return warnThreshold; + } + + public void setWarnThreshold(Double warnThreshold) { + this.warnThreshold = warnThreshold; + } + + public Double getErrorThreshold() { + return errorThreshold; + } + + public void setErrorThreshold(Double errorThreshold) { + this.errorThreshold = errorThreshold; + } + + public String getWarnComparator() { + return warnComparator; + } + + public void setWarnComparator(String warnComparator) { + this.warnComparator = warnComparator; + } + + public String getErrorComparator() { + return errorComparator; + } + + public void setErrorComparator(String errorComparator) { + this.errorComparator = errorComparator; + } + + public String getOkMessage() { + return okMessage; + } + + public void setOkMessage(String okMessage) { + this.okMessage = okMessage; + } + + public String getWarnMessage() { + return warnMessage; + } + + public void setWarnMessage(String warnMessage) { + this.warnMessage = warnMessage; + } + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + public boolean hasErrorCheck() { + return errorThreshold != null & errorCode != null; + } + + public boolean hasWarnCheck() { + return warnThreshold != null & warnCode != null; + } + + public CompareResults checkForError(Double val) { + return compareValues(val, errorThreshold, errorComparator); + } + + public CompareResults checkForWarn(Double val) { + return compareValues(val, warnThreshold, warnComparator); + } + + private CompareResults compareValues(Double val, Double thresh, + String comp) { + int c = val.compareTo(thresh); + if ("<".equals(comp)) if (c < 0) + return CompareResults.LOWER; else return CompareResults.OK; + if ("<=".equals(comp)) if (c <= 0) + return CompareResults.LOWER_OR_EQUAL; else return CompareResults.OK; + if ("==".equals(comp)) if (c == 0) + return CompareResults.EQUAL; else return CompareResults.OK; + if ("=".equals(comp)) if (c == 0) + return CompareResults.EQUAL; else return CompareResults.OK; + if (">=".equals(comp)) if (c >= 0) + return CompareResults.GREATER_OR_EQUAL; else return CompareResults.OK; + if (">".equals(comp)) if (c > 0) + return CompareResults.GREATER; else return CompareResults.OK; + throw new IllegalArgumentException("Unknown comparator -> " + comp); + } + + @Override + public String toString() { + String res = ""; + if (okCode != null || warnCode != null || errorCode != null || + warnThreshold != null || errorThreshold != null) + res = "|" + (okCode != null ? okCode : "") + + (okMessage != null ? ":" + okMessage : "") + + "|" + (warnCode != null ? warnCode : "") + ":" + + (warnMessage != null ? warnMessage : "") + ":" + + (warnThreshold != null ? thresh.format(warnThreshold) : "") + ":" + + (warnComparator != null ? warnComparator : "") + + "|" + (errorCode != null ? errorCode : "") + ":" + + (errorMessage != null ? errorMessage : "") + ":" + + (errorThreshold != null ? thresh.format(errorThreshold) : "") + ":" + + (errorComparator != null ? errorComparator : ""); + return res; + } + } + + /** + * Base class for attributes and operations. + */ + class MemberDetails { + protected String name = null; + protected ReturnTypes returnType = ReturnTypes.NONE; + protected CheckDetails checkDetails = null; + protected Object value = null; + + public MemberDetails(String name, ReturnTypes returnType) { + this.name = name; + this.returnType = returnType; + } + + public MemberDetails(String name, String data) { + this.name = name; + if (data != null) { + String[] parts = data.split("\\|", 2); + if (parts[0].length() > 0) + this.returnType = ReturnTypes.valueOf(parts[0].toUpperCase()); + if (parts.length > 1) checkDetails = new CheckDetails(parts[1]); + } + } + + public String getName() { + return name; + } + + public ReturnTypes getReturnType() { + return returnType; + } + + public CheckDetails getCheckDetails() { + return checkDetails; + } + + public void setCheckDetails(CheckDetails checkDetails) { + this.checkDetails = checkDetails; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + public boolean printValue(PrintWriter writer) { + if (value != null) { + writer.print(name + ":" + value); + return true; + } + return false; + } + + @Override + public int hashCode() { + return name.hashCode(); + } + + @Override + public boolean equals(Object obj) { + return obj == this || + (obj instanceof MemberDetails && ((MemberDetails) obj).name.equals(name)); + } + + @Override + public String toString() { + String res = returnType != null && returnType != ReturnTypes.NONE ? + name + "=" + returnType : name; + if (checkDetails != null) res += checkDetails; + return res; + } + } + + /** + * Small container class for convenience. + */ + class AttributeDetails extends MemberDetails { + public AttributeDetails(String name, ReturnTypes returnType) { + super(name, returnType); + } + + public AttributeDetails(String name, String data) { + super(name, data); + } + } + + /** + * Small container class for convenience. + */ + class OperationDetails extends MemberDetails { + public OperationDetails(String name, ReturnTypes returnType) { + super(name, returnType); + } + + public OperationDetails(String name, String data) { + super(name, data); + } + + @Override + public String toString() { + return "*" + super.toString(); + } + } + + /** + * Container class for convenience. Holds everything for one "section", which + * is an object with the attributes, operations and access details. + */ + class Section { + private String name = null; + private String object = null; + private String regexp = null; + private String URL = null; + private String user = null; + private String password = null; + private String extendsName = null; + private Pattern pattern = null; + private Set members = new LinkedHashSet(); + private ObjectName objectName = null; + private boolean connected = false; + + public Section(String name) { + String n = name != null ? name.trim().replaceAll("^\\[|\\]$", "") : null; + this.name = n; + } + + public void add(MemberDetails details) { + members.add(details); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getObject() { + return object; + } + + public void setObject(String object) { + this.object = object; + } + + public String getURL() { + return URL; + } + + public void setURL(String uRL) { + URL = uRL; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getRegexp() { + return regexp; + } + + public void setRegexp(String regexp) { + this.regexp = regexp; + if (regexp != null) pattern = Pattern.compile(regexp); + } + + public String getExtendsName() { + return extendsName; + } + + public void setExtendsName(String extendsName) { + this.extendsName = extendsName; + } + + public Set getMembers() { + return members; + } + + public void setMembers(Set members) { + this.members = members; + } + + public ObjectName getObjectName() + throws MalformedObjectNameException, NullPointerException { + if (objectName == null && object != null) + objectName = new ObjectName(object); + return objectName; + } + + public void setObjectName(ObjectName objectName) { + this.objectName = objectName; + } + + public boolean isConnected() { + return connected; + } + + public void setConnected(boolean connected) { + this.connected = connected; + } + + public boolean matches(String text) { + if (pattern == null) + return object.equals(text); + else + return pattern.matcher(text).matches(); + } + + public void printValues(PrintWriter writer) { + for (MemberDetails detail : members) + if (detail.printValue(writer)) writer.print(" "); + } + + public MemberDetails getMember(String attr) { + String name = attr.startsWith("*") ? attr.substring(1) : attr; + for (MemberDetails details : members) + if (details.getName().equals(name)) return details; + return null; + } + + @Override + public String toString() { + String res = "[" + name + "]" + lineSeparator; + if (object != null) res += "@object=" + object + lineSeparator; + if (regexp != null) res += "@regexp=" + regexp + lineSeparator; + if (URL != null) res += "@url=" + URL + lineSeparator; + if (extendsName != null) res += "@extends=" + extendsName + lineSeparator; + if (user != null) res += "@user=" + user + lineSeparator; + if (password != null) res += "@password=" + password + lineSeparator; + for (MemberDetails detail : members) + res += detail + lineSeparator; + return res; + } + } + + /** + * Constructs a new instance of this class and executes the action. + * + * @param args The command line arguments. + * @throws InstanceNotFoundException + * @throws IntrospectionException + * @throws ReflectionException + * @throws IOException + */ + public JMXToolkit(String[] args) + throws InstanceNotFoundException, IntrospectionException, ReflectionException, + IOException { + int exitCode = 0; + parseArgs(args); + if (verbose) System.out.println("Reading properties..."); + readProperties(); + String action = params.get("-a"); + if (action == null) action = params.get("-w") != null ? "check" : "query"; + if (verbose) System.out.println("Action -> " + action); + if (action.equals("create")) { + createConfig(); + writeProperties(); + } else if (action.equals("check")) { + exitCode = checkValue(); + } else if (action.equals("query")) { + queryValues(); + outputResults(); + } else if (action.equals("encode")) { + System.out.println(URLEncoder.encode(params.get("-m"), "UTF8")); + } else { + System.err.println("Unknown action -> " + action); + exitCode = -99; + } + if (verbose) System.out.println("Exit code -> " + exitCode); + if (verbose) System.out.println("Done."); + System.exit(exitCode); + } + + /** + * Checks if a value is within certain boundaries. + * @return The error code. + * @throws IOException When getting the value fails. + */ + private int checkValue() throws IOException { + if (verbose) System.out.println("Checking value..."); + queryValues(); + CheckDetails check = null; + if (params.get("-w") != null) + check = new CheckDetails(params.get("-w")); + Section section = getSection(params.get("-o")); + String attr = params.get("-q"); + MemberDetails details = section.getMember(attr); + if (check == null && details.getCheckDetails() != null) + check = details.getCheckDetails(); + if (check != null) { + return performCheck(check, details); + } else { + throw new IOException("No check defined."); + } + } + + /** + * Does the actual check of a value. + * + * @param check The check to perform. + * @param details The details with the value. + * @return The error code. + */ + private int performCheck(CheckDetails check, MemberDetails details) { + Object o = details.getValue(); + Double val = new Double(o.toString()); + if (verbose) System.out.println("Details -> " + details + ", value=" + o); + if (verbose) System.out.println("Check -> " + check); + if (check.hasErrorCheck()) { + CompareResults cr = check.checkForError(val); + if (cr != CompareResults.OK) { + if (check.getErrorMessage() != null) + printCheckMessage(check.getErrorMessage(), val); + return check.getErrorCode(); + } + } + if (check.hasWarnCheck()) { + CompareResults cr = check.checkForWarn(val); + if (cr != CompareResults.OK) { + if (check.getWarnMessage() != null) + printCheckMessage(check.getWarnMessage(), val); + return check.getWarnCode(); + } + } + if (check.getOkMessage() != null) + printCheckMessage(check.getOkMessage(), val); + return check.getOkCode() != null ? check.getOkCode() : 0; + } + + /** + * Prints a messages using a MessageFormat instance. + * + * @param message The message with place-holders. + * @param val The value to fill in. + */ + private void printCheckMessage(String message, Double val) { + String m = null; + try { + m = URLDecoder.decode(message, "UTF8"); + } catch (UnsupportedEncodingException e) { + // this should never happen + System.err.println("An error occurred." + e); + } + MessageFormat mf = new MessageFormat(m); + Object[] data = { val }; + System.out.println(mf.format(data)); + } + + /** + * Returns a named section or null. + * + * @param name The name of the section to retrieve. + * @return The section or null. + */ + private Section getSection(String name) { + for (Section section : sections) + if (section.getName().equals(name) || section.matches(name)) + return section; + return null; + } + + /** + * Reads the properties file. + * + * @throws IOException When the config file is corrupt. + */ + private void readProperties() throws IOException { + BufferedReader in = getPropertiesReader(); + if (in != null) { + Section section = null; + String line = in.readLine(); + while (line != null) { + String tl = line.trim(); + // check for empty lines and comments + if (!tl.startsWith(";") && !tl.startsWith("#") && tl.length() > 0) { + // check for start of a section + if (tl.startsWith("[")) { + section = new Section(tl); + sections.add(section); + } else if (section != null) { + parseLine(section, tl); + } + } + line = in.readLine(); + } + } + if (debug) System.out.println("config -> " + sections); + } + + /** + * Tries to find the properties on the local file system first and then + * using the classloader. + * + * @return The reader instance or null if not found. + * @throws FileNotFoundException + */ + private BufferedReader getPropertiesReader() throws FileNotFoundException { + InputStream in = null; + String fn = params.get("-f"); + if (fn != null) { + File f = new File(fn); + if (f.exists()) { + in = new FileInputStream(f); + } else { + in = JMXToolkit.class.getClassLoader().getResourceAsStream(fn); + } + if (in == null) + System.err.println("ERROR: Could not find configuration file -> " + fn); + } + return in != null ? new BufferedReader(new InputStreamReader(in)) : null; + } + + /** + * Parses a configuration line. Adds the details into the given section. + * + * @param section The parent section. + * @param line The line to parse. + */ + private void parseLine(Section section, String line) { + String[] atp = line.split("=", 2); + String name = atp[0]; + // check if we have a special instruction line + if (atp.length > 1 && name.startsWith("@")) { + String val = replaceVariables(atp[1], true); + if (name.equalsIgnoreCase("@object")) section.setObject(val); + if (name.equalsIgnoreCase("@regexp")) section.setRegexp(val); + if (name.equalsIgnoreCase("@url")) section.setURL(val); + if (name.equalsIgnoreCase("@extends")) section.setExtendsName(val); + if (name.equalsIgnoreCase("@user")) section.setUser(val); + if (name.equalsIgnoreCase("@password")) section.setPassword(val); + return; + } + // otherwise assume an attribute or an operation + String data = atp.length > 1 ? atp[1] : null; + // operations have a leading "*" - which would be illegal otherwise + MemberDetails details = !line.startsWith("*") ? + new AttributeDetails(name, data) : + new OperationDetails(name.substring(1), data); + section.add(details); + } + + /** + * Replaces a system property with a variable. + * + * @param value The value to parse and replace within. + * @param keepVars Flag to keep the variable in place. + * @return The value with the replaced variables. + */ + private String replaceVariables(String value, boolean keepVars) { + Matcher m = vars.matcher(value); + StringBuilder res = new StringBuilder(); + int start = 0; + while (m.find()) { + res.append(value.substring(start, m.start())); + // get variable but remove ${...} in the process + String v = value.substring(m.start() + 2, m.end() - 1); + String[] vp = v.split("\\|"); + String defVal = v.length() > 1 ? vp[1] : ""; + String p = System.getProperty(vp[0], defVal); + // replace fully when there is no default + if (vp.length == 1 || !keepVars) res.append(p); + else { + // otherwise keep place holder but replace default + String d = p.length() != 0 ? p : vp[1]; + res.append("${").append(vp[0]).append("|").append(d).append("}"); + } + start = m.end(); + } + res.append(value.substring(start)); + return res.toString(); + } + + /** + * Processes the request. + * + * @throws IOException When connecting to the host or retrieval fails. + */ + private void createConfig() + throws IOException { + if (verbose) System.out.println("Creating configuration..."); + for (Section section : sections) retrieveMembers(section, true); + } + + /** + * Retrieves all current attributes and operations for a given object. + * + * @param section The section defining the object. + * @param close true when the connection should be closed. + * @throws IOException When connecting to the host or retrieval fails. + */ + private void retrieveMembers(Section section, boolean close) + throws IOException { + openConnection(section); + try { + // iterate over objects + Set names = connection.queryNames(null, null); + for (ObjectName on : names) { + if (verbose) System.out.println("checking object -> " + on.getCanonicalName()); + if (section.matches(on.getCanonicalName())) { + if (verbose) System.out.println("match found -> " + on.getCanonicalName()); + MBeanInfo info; + try { + info = connection.getMBeanInfo(on); + } catch (Exception e) { + throw new IOException(e); + } + addAttributes(section, info); + addOperations(section, info); + } + } + } finally { + closeConnection(section); + } + } + + /** + * Writes the properties file out. + * + * @throws FileNotFoundException + */ + private void writeProperties() throws FileNotFoundException { + if (verbose) System.out.println("Writing configuration..."); + OutputStream out = System.out; + if (params.containsKey("-f") && !params.containsKey("-x")) + out = new FileOutputStream(new File(params.get("-f"))); + PrintWriter pw = new PrintWriter(out); + for (Section section : sections) + pw.println(section); + pw.close(); + } + + /** + * Queries the values for specific attributes and operations. + * @throws IOException When getting the values fails. + */ + private void queryValues() throws IOException { + if (verbose) System.out.println("Querying values..."); + List
querySections = new LinkedList
(); + if (params.get("-o") != null) { + Section section = getSection(params.get("-o")); + if (section != null) querySections.add(section); + else throw new IOException("No matching section found"); + } else { + querySections.addAll(sections); + } + String attr = params.get("-q"); + // iterate over all selected sections + for (Section section : querySections) { + if (section.getMembers().size() == 0) + retrieveMembers(section, false); + if (!section.isConnected()) openConnection(section); + try { + findObjectName(section); + if (attr != null) { + MemberDetails details = section.getMember(attr); + getMemberValue(section, details); + } else { + for (MemberDetails details : section.getMembers()) + getMemberValue(section, details); + } + } finally { + closeConnection(section); + } + } + } + + /** + * Gets the actual value based on the type of the member, i.e. attribute + * or operation. + * + * @param section The section with the object name. + * @param details The member to query. + * @return The result as on {@link Object} or null. + * @throws IOException When anything fails during the call. + */ + private Object getMemberValue(Section section, MemberDetails details) + throws IOException { + Object res = null; + try { + if (details instanceof AttributeDetails) { + res = connection.getAttribute(section.getObjectName(), details.getName()); + } else if (details instanceof OperationDetails) { + res = connection.invoke(section.getObjectName(), details.getName(), + new Object[]{}, new String[]{}); + } + } catch (IOException e) { + throw e; + } catch (Exception e) { + if (!params.containsKey("-l")) + throw new IOException(e); + } + if (res != null) details.setValue(res); + return res; + } + + /** + * Finds the matching ObjectName when a section has a true pattern. + * + * @param section The section to find the object name for. + * @param regexp The specific expression to use. + * @throws NullPointerException When the object name is null. + * @throws MalformedObjectNameException When the object name is bad. + * @throws IOException When querying the names fails. + */ + private void findObjectName(Section section) + throws IOException { + String regexp = params.get("-e"); + if (regexp == null) regexp = section.getRegexp(); + if (regexp != null) { + // iterate over objects + Set names = connection.queryNames(null, null); + for (ObjectName on : names) { + if (verbose) System.out.println("checking object -> " + on.getCanonicalName()); + if (section.matches(on.getCanonicalName())) { + if (verbose) System.out.println("match found -> " + on.getCanonicalName()); + section.setObjectName(on); + return; + } + } + throw new IOException("Could not find matching ObjectName -> " + regexp); + } + } + + /** + * Outputs the query results. + */ + private void outputResults() { + if (verbose) System.out.println("Printing results..." + lineSeparator); + PrintWriter writer = new PrintWriter(System.out); + for (Section section : sections) section.printValues(writer); + writer.println(); + writer.close(); + } + + /** + * Opens the connection to the JMX host. + * + * @param section The optional section with a specific URL. + * @throws IOException When the connection fails. + */ + private void openConnection(Section section) throws IOException { + // get global connection and then the specific one if given + String url = params.get("-u"); + if (section != null && section.getURL() != null) + url = section.getURL(); + // create connection URL + jmxUrl = new JMXServiceURL(replaceVariables(url, false)); + // add credentials if given + Map m = new HashMap(); + String user = params.get("-c"); + if (section != null && section.getUser() != null) + user = section.getUser(); + String pass = params.get("-p"); + if (section != null && section.getPassword() != null) + pass = section.getPassword(); + m.put(JMXConnector.CREDENTIALS, new String[]{ replaceVariables(user, false), + replaceVariables(pass, false) }); + // create JMX connection + connector = JMXConnectorFactory.connect(jmxUrl, m); + connection = connector.getMBeanServerConnection(); + if (section != null) section.setConnected(true); + } + + /** + * Closes the connection. + * + * @param section The optional section with a specific URL. + * @throws IOException When closing the connection fails. + */ + private void closeConnection(Section section) throws IOException { + if (connector != null) connector.close(); + if (section != null) section.setConnected(false); + } + + /** + * Extracts the details about the available attributes. + * + * @param section The section to add the details to. + * @param info The MBean info to query. + */ + private void addAttributes(Section section, MBeanInfo info) { + for (MBeanAttributeInfo mbi : info.getAttributes()) { + String name = mbi.getName(); + String atr = mbi.getType(); + String at = atr; + if (atr != null) { + String[] atp = atr.split("\\."); + at = atp[atp.length - 1]; + if (at.equals("int")) at = "Integer"; + } + if (verbose) System.out.println("attribute name -> " + name + + ", type -> " + at + ", raw type -> " + atr); + ReturnTypes returnType = ReturnTypes.NONE; + try { + returnType = ReturnTypes.valueOf(at.toUpperCase()); + } catch (Exception e) { + System.err.println("WARNING: Unsupported attribute return type -> " + + at + ", attribute -> " + name); + } + AttributeDetails ad = new AttributeDetails(name, returnType); + section.add(ad); + } + } + + /** + * Extracts the details about the available operations. + * + * @param section The section to add the details to. + * @param info The MBean info to query. + */ + private void addOperations(Section section, MBeanInfo info) { + for (MBeanOperationInfo mbi : info.getOperations()) { + String name = mbi.getName(); + String atr = mbi.getReturnType(); + String at = atr; + if (atr != null) { + String[] atp = atr.split("\\."); + at = atp[atp.length - 1]; + if (at.equals("int")) at = "Integer"; + } + if (verbose) System.out.println("attribute name -> " + name + + ", type -> " + at + ", raw type -> " + atr); + ReturnTypes returnType = ReturnTypes.NONE; + try { + returnType = ReturnTypes.valueOf(at.toUpperCase()); + } catch (Exception e) { + System.err.println("WARNING: Unsupported operation return type -> " + + atr + ", operation -> " + name); + } + OperationDetails od = new OperationDetails(name, returnType); + section.add(od); + } + } + + /** + * Prints the usage of the class. + */ + private void printUsage() { + System.out.println("Usage: JMXToolkit [-a ] [-c ]" + + " [-p ] [-u url] [-f ] [-o ]\n" + + " [-e regexp] [-i ] [-q ] [-w ]" + + " [-m ] [-x] [-l] [-v] [-h]\n\n" + + "\t-a \tAction to perform, can be one of the following (default: query)\n\n" + + "\t\t\tcreate\tScan a JMX object for available attributes\n" + + "\t\t\tquery\tQuery a set of attributes from the given objects\n" + + "\t\t\tcheck\tChecks a given value to be in a valid range (see -w below)\n" + + "\t\t\tencode\tHelps creating the encoded messages (see -m and -w below)\n\n" + + "\t-c \tThe user role to authenticate with (default: controlRole)\n" + + "\t-p \tThe password to authenticate with (default: password)\n" + + "\t-u \tThe JMX URL (default: service:jmx:rmi:///jndi/rmi://localhost:10001/jmxrmi)\n" + + "\t-f \tThe config file to use (default: none)\n" + + "\t-o \tThe JMX object query (default: none)\n" + + "\t-e \tThe regular expression to match (default: none)\n" + + "\t-i \tThe name of the object that is inherited from (default: none)\n" + + "\t-q \tThe attribute or operation to query (default: none)\n" + + "\t-w \tUsed with -a check to define thresholds (default: none)\n\n" + + "\t\tFormat: [:] \\\n" + + "\t\t |:[]:[:] \\\n" + + "\t\t [|:[]:[:]]\n\n" + + "\t\tExample for Nagios and DFS used (in %):\n\n" + + "\t\t 0:OK%3A%20%7B0%7D|2:WARN%3A%20%7B0%7D:80:>=|1:FAIL%3A%20%7B0%7D:95:>\n\n" + + "\t\tNotes: Messages are URL-encoded to allow for any character being used. The current value\n" + + "\t\t can be placed with {0} in the message. Allowed comparators: <,<=,=,==,>=,>\n\n" + + "\t-m \tThe message to encode for further use (default: none)\n" + + "\t-x\t\tOutput config to console (do not write back to -f )\n" + + "\t-l\t\tIgnore missing attributes, do not throw an error\n" + + "\t-v\t\tVerbose output\n" + + "\t-h\t\tPrints this help\n" + ); + } + + /** + * Parses the command line arguments. + * + * @param args The command line arguments. + */ + private void parseArgs(String[] args) { + List ar = args != null ? Arrays.asList(args) : null; + if (ar == null || ar.size() == 0 || ar.contains("-h")) { + printUsage(); + System.exit(0); + } + // add defaults + params.put("-c", "controlRole"); + params.put("-p", "password"); + params.put("-u", "service:jmx:rmi:///jndi/rmi://localhost:10001/jmxrmi"); + // read command line arguments + for (int n = 0; n < args.length; n++) { + if (args[n].startsWith("-")) { + String key = args[n]; + String val = null; + if (args.length > n+1 && !args[n+1].startsWith("-")) val = args[++n]; + params.put(key, val); + } + } + // switches + debug = params.containsKey("-d"); + verbose = params.containsKey("-v") || debug; + // add details if given and no config used + String object = params.get("-o"); + if (object != null && params.get("-f") == null) { + Section section = new Section(object); + if (params.get("-e") == null) + section.setObject(object); + else + section.setRegexp(params.get("-e")); + section.setUser(params.get("-c")); + section.setPassword(params.get("-p")); + section.setExtendsName(params.get("-i")); + String attrib = params.get("-q"); + if (attrib != null && attrib.length() > 1) { + MemberDetails details = !attrib.startsWith("*") ? + new AttributeDetails(attrib, ReturnTypes.NONE) : + new OperationDetails(attrib.substring(1), ReturnTypes.NONE); + section.add(details); + } + sections.add(section); + } + // dump parameters + if (debug) System.out.println("parameters -> " + params); + } + + /** + * Main entry point to this class. + * + * @param args The command line arguments. + */ + public static void main(String[] args) { + int error = 0; + try { + new JMXToolkit(args); + } catch (NullPointerException e) { + System.out.println("Missing parameter (either -u or -f _must_ be given). " + e); + e.printStackTrace(); + error = 1; + } catch (MalformedURLException e) { + System.out.println("Bad JMX URI. " + e); + error = 2; + } catch (InstanceNotFoundException e) { + System.out.println("Instance not found. " + e); + error = 3; + } catch (IntrospectionException e) { + System.out.println("Introspection error. " + e); + error = 4; + } catch (ReflectionException e) { + System.out.println("Reflection error. " + e); + error = 5; + } catch (IOException e) { + System.out.println("IO error. " + e); + error = 6; + } + System.exit(error); + } +} Index: src/contrib/jmxtoolkit/conf/hadoop-hbase.properties =================================================================== --- src/contrib/jmxtoolkit/conf/hadoop-hbase.properties (revision 0) +++ src/contrib/jmxtoolkit/conf/hadoop-hbase.properties (revision 0) @@ -0,0 +1,59 @@ +; Hadoop NameNode +[hadoopFSNamesystemState] +@object=hadoop:name=FSNamesystemState,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopNameNodeActivity] +@object=hadoop:name=NameNodeActivity,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopRPCNameNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=NameNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10001/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +; attribute=INTEGER|0:OK%3A%20%7B0%7D|2:WARN%3A%20%7B0%7D:80:<|1:FAILED%3A%20%7B0%7D:95:< +; *operation=FLOAT|0|2::0.1:>=|1::0.5:> + +; Hadoop DataNode +[hadoopFSDatasetState] +@regexp=hadoop:name=FSDatasetState.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopRPCDataNode] +@regexp=hadoop:name=RpcActivityForPort.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hadoopDataNodeActivity] +@regexp=hadoop:name=DataNodeActivity.*,service=DataNode +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10003/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} + +; HBase Master +[hbaseMasterStatistics] +@object=hadoop:name=MasterStatistics,service=Master +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hbaseRPCMaster] +@object=hadoop:name=RPCStatistics-60000,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME1|localhost}:10101/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} + +; HBase RegionServer +[hbaseRegionServerStatistics] +@object=hadoop:name=RegionServerStatistics,service=RegionServer +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} +[hbaseRPCRegionServer] +@object=hadoop:name=RPCStatistics-60020,service=HBase +@url=service:jmx:rmi:///jndi/rmi://${HOSTNAME2|localhost}:10102/jmxrmi +@user=${USER|controlRole} +@password=${PASSWORD|password} Index: src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_datanode.xml =================================================================== --- src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_datanode.xml (revision 0) +++ src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_datanode.xml (revision 0) @@ -0,0 +1,2512 @@ + + + Hadoop 0.20.1 - DataNode + hash_000016e12bfa141e67f88da13de936496a5be1|hash_000016c617b805fa8d5c97625e1259938da69e|hash_0000163e3d3de40ec2c5d6e1515c16cb1c036d|hash_0000160c192e325fcf3741893f720ef67ad296|hash_00001651acbcfb235df1b5e2c1d045eea2c2c7|hash_000016e89ac5d28e149e2be6545ed2bff23740 + + + + Hadoop 0.20.1 - DataNode - FSDatasetState - Capacity + + + |host_description| - Hadoop 0.20.1 - DataNode - FSDatasetState - Capacity + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800162058b75bfc0277c56d102de0517bfe97 + 000000 + FF + 6 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Capacity + + 1 + + + hash_0800162058b75bfc0277c56d102de0517bfe97 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800162058b75bfc0277c56d102de0517bfe97 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800162058b75bfc0277c56d102de0517bfe97 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016f3ed00781a4eed715887f6d395dd819f + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + DfsUsed + + 5 + + + hash_080016f3ed00781a4eed715887f6d395dd819f + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016f3ed00781a4eed715887f6d395dd819f + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016f3ed00781a4eed715887f6d395dd819f + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_0800163e1d65c3c49a378ca80d8d3b0fcbf6ce + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Remaining + + 9 + + + hash_0800163e1d65c3c49a378ca80d8d3b0fcbf6ce + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_0800163e1d65c3c49a378ca80d8d3b0fcbf6ce + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_0800163e1d65c3c49a378ca80d8d3b0fcbf6ce + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [DfsUsed] + + task_item_id + hash_000016c35915a8ed436868f14a06d4d7cfc310|hash_00001655f7cb2becef8ab0a9f13931b24dd069|hash_00001689e0a9b30d197942ab5f7dfd2b0efb89|hash_000016623f5f1ae2ab3a29d891833839600a82 + + + Data Source [Remaining] + + task_item_id + hash_0000166405c22714706d894ebeeb612f3a30ed|hash_0000165ab8d87e0ce86dd9dc9f6b1df534eb48|hash_00001623d7b773d66dacaea061a9668155aad2|hash_000016e0329482b0d767fce966e3340ceaec4b + + + Data Source [Capacity] + + task_item_id + hash_000016ee6857f14dccda2ee3a3d08892a46746|hash_000016329431f720ee5ca13e9e87c00c096a19|hash_000016b6e7b663f9abceb38aa4855670516f1d|hash_000016eaea390345899a0f6e891f2ecc034490 + + + + + Hadoop 0.20.1 - DataNode - DataNodeActivity - Local/Remote Write/Read + + + |host_description| - Hadoop 0.20.1 - DataNode - DataNodeActivity - Local/Remote Write/Read + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016d1206630424d490a6c473eb130d69a01 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + reads_local_client + + 1 + + + hash_080016d1206630424d490a6c473eb130d69a01 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016d1206630424d490a6c473eb130d69a01 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016d1206630424d490a6c473eb130d69a01 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016459ce8977707d1d11d0cee7c7c6ad3f8 + FFAB00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + writes_local_client + + 5 + + + hash_080016459ce8977707d1d11d0cee7c7c6ad3f8 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016459ce8977707d1d11d0cee7c7c6ad3f8 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016459ce8977707d1d11d0cee7c7c6ad3f8 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_0800163cf5bc570c2385d02dbfe8fa65718de8 + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + reads_remote_client + + 9 + + + hash_0800163cf5bc570c2385d02dbfe8fa65718de8 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_0800163cf5bc570c2385d02dbfe8fa65718de8 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_0800163cf5bc570c2385d02dbfe8fa65718de8 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + hash_080016fa342d0ab902bf68ee31243af82b11d3 + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + writes_remote_client + + 13 + + + hash_080016fa342d0ab902bf68ee31243af82b11d3 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 14 + + + hash_080016fa342d0ab902bf68ee31243af82b11d3 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 15 + + + hash_080016fa342d0ab902bf68ee31243af82b11d3 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 16 + + + + + Data Source [reads_local_client] + + task_item_id + hash_000016c99aae0835251645f18fc49826006f56|hash_000016244f0215562a2af72ae262b1aabc00ee|hash_000016f65ce12c7b718447f24f8de21e3e6c85|hash_000016bd0e8a37dc5db36969f69d2ab3694f0b + + + Data Source [writes_local_client] + + task_item_id + hash_000016b8ea339574f699e3cef121c5d9416579|hash_00001605d8f2e4500850be9cb7dc9d467343fd|hash_00001698c9b61735fc55e00cf28fafb4cf50d5|hash_000016558699ab887563b885f54b5feb480f24 + + + Data Source [reads_remote_client] + + task_item_id + hash_00001693bd234a15400835706b1b3d6d6ec2c9|hash_000016f370dfe5c114dc67ae387bce147b9649|hash_000016eb1dd8d65d659b56f505fb1dc7405c05|hash_0000169cd21538a0f87a403c6a8b0763b7c7ae + + + Data Source [writes_remote_clien] + + task_item_id + hash_0000165fdb10dca63b8f174de8c9e487ade84e|hash_000016f9a6d595782bfc70d1445900f4fb6465|hash_000016938558c75fca2c55c4bafba477f779ea|hash_000016f69b774e5a2e9155345d7acec409fd76 + + + + + Hadoop 0.20.1 - DataNode - Bytes Read/Written + + + |host_description| - Hadoop 0.20.1 - DataNode - Bytes Read/Written + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016e917bc9c256734441ad21d94a9d27533 + 00FF00 + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + bytes_read + + 1 + + + hash_080016e917bc9c256734441ad21d94a9d27533 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016e917bc9c256734441ad21d94a9d27533 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016e917bc9c256734441ad21d94a9d27533 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016635351c18eb9fc69d9696044a51bfdf0 + 4444FF + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + bytes_written + + 5 + + + hash_080016635351c18eb9fc69d9696044a51bfdf0 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016635351c18eb9fc69d9696044a51bfdf0 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016635351c18eb9fc69d9696044a51bfdf0 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [bytes_read] + + task_item_id + hash_0000168c9d8d439aa95d1857e8c7827dfed1ed|hash_000016c693234f9c72bdad34bc369436cb03a3|hash_000016acdf5c7dd0abcaa2e0a7c3ca01557990|hash_000016ab424e2464dbdee13314ca823969e8c3 + + + Data Source [bytes_written] + + task_item_id + hash_000016de37edab748505df8df8d118f3ce4252|hash_000016ee1ec9264bbdf1da803ff7403fdfcc84|hash_00001614400fb813a323dbd8302010f527260f|hash_000016f17f54bb0b7f7ba137ee0679f44583ba + + + + + Hadoop 0.20.1 - DataNode - Blocks Verified + + + |host_description| - Hadoop 0.20.1 - DataNode - Blocks Verified + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016013253332757ebbe21006f7196bdd5a3 + 00FF00 + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_verified + + 1 + + + hash_080016013253332757ebbe21006f7196bdd5a3 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016013253332757ebbe21006f7196bdd5a3 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016013253332757ebbe21006f7196bdd5a3 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_08001635abebdf8603174dd7b4a7379b60e3cb + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + verification_failures + + 5 + + + hash_08001635abebdf8603174dd7b4a7379b60e3cb + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_08001635abebdf8603174dd7b4a7379b60e3cb + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_08001635abebdf8603174dd7b4a7379b60e3cb + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [blocks_verified] + + task_item_id + hash_0000161f96b3f190db5a0eb64015dd5e16c3ac|hash_0000169e507775d910d188e66bf3983029d32a|hash_000016c1a4f3796c0dfaf37003d04ab691f6b9|hash_00001652fffce9ee12eab7fdc665be0ee92d8d + + + Data Source [blocks_verif_fail] + + task_item_id + hash_000016587d87eab7ee29aabacdb149a9a86041|hash_00001615584fd15f96d3942648bd2b05da0ae9|hash_0000164603875d962808f750c6bdebb475f946|hash_0000169fe92b5857a7b77a0224d431b1d2d818 + + + + + Hadoop 0.20.1 - DataNode - Blocks + + + |host_description| - Hadoop 0.20.1 - DataNode - Blocks + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800160913773d7cfc619cccce4816248ba85d + FF7D00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_read + + 1 + + + hash_0800160913773d7cfc619cccce4816248ba85d + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800160913773d7cfc619cccce4816248ba85d + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800160913773d7cfc619cccce4816248ba85d + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016240ae758d70a30659f0f858359fdda0c + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_removed + + 5 + + + hash_080016240ae758d70a30659f0f858359fdda0c + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016240ae758d70a30659f0f858359fdda0c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016240ae758d70a30659f0f858359fdda0c + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_080016f22bd5192446aef1c94ba0ccac3f79a8 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_replicated + + 9 + + + hash_080016f22bd5192446aef1c94ba0ccac3f79a8 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_080016f22bd5192446aef1c94ba0ccac3f79a8 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_080016f22bd5192446aef1c94ba0ccac3f79a8 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + hash_0800169265cd1de9fc0efc15aa299754f4d6b6 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_verified + + 13 + + + hash_0800169265cd1de9fc0efc15aa299754f4d6b6 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 14 + + + hash_0800169265cd1de9fc0efc15aa299754f4d6b6 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 15 + + + hash_0800169265cd1de9fc0efc15aa299754f4d6b6 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 16 + + + hash_0800160063cb4ef142968b8a09b70c7eec5fd4 + 000000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blocks_written + + 17 + + + hash_0800160063cb4ef142968b8a09b70c7eec5fd4 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 18 + + + hash_0800160063cb4ef142968b8a09b70c7eec5fd4 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 19 + + + hash_0800160063cb4ef142968b8a09b70c7eec5fd4 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 20 + + + + + Data Source [blocks_read] + + task_item_id + hash_00001603fd3b21aa180784098dca5f60835912|hash_000016add04340a042ceddc508288c33f327e3|hash_000016fee1eddd1341c8e7e0316b8622ba6ae6|hash_00001618e288650c0c1b4cd4dbb0fb30d507fd + + + Data Source [blocks_removed] + + task_item_id + hash_00001646932ede9f5c79762dbec811c51f615b|hash_0000162c77d328d752307bd44a875038118686|hash_00001680c58e50093db81553dd257f0b4e2100|hash_000016fd1c1e14a9709f30109a5bc3915dcb87 + + + Data Source [blocks_replicated] + + task_item_id + hash_0000162cbd25aac2d4585ae7a1623d4fda85dd|hash_0000161c8fcdc1437222b8e20e74d514c907dc|hash_000016ac9345439001fef75367f3c9745fbb75|hash_000016afb14bfc2c8951f9156d478bbb8c4b93 + + + Data Source [blocks_verified] + + task_item_id + hash_0000168112bc6328fb32aebfcc671f7b4a797b|hash_000016f2781bb6b4171a947f998483878011ee|hash_000016892a40c54ef8c4fe1a6f2799f6f43113|hash_000016e564cce383c8f2d9220bd80e7fc963b9 + + + Data Source [blocks_written] + + task_item_id + hash_00001688bd51d0234157e7f9fbc82b4bef973c|hash_000016f4bfd59aaa0615419421329cb821f7f0|hash_000016f62a92e5219dae7117e9ee1a9a978edc|hash_000016c6e09f2eec1298f4938b6ff240d3ad3a + + + + + Hadoop 0.20.1 - DataNode - Operations + + + |host_description| - Hadoop 0.20.1 - DataNode - Operations + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800166a085166e79a9b48ac1067b6e5ce4c39 + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + copyBlockOpNumOps + + 5 + + + hash_0800166a085166e79a9b48ac1067b6e5ce4c39 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800166a085166e79a9b48ac1067b6e5ce4c39 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800166a085166e79a9b48ac1067b6e5ce4c39 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_080016e08c8764444db2fba5c6d74fedf61c04 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + heartBeatsNumOps + + 9 + + + hash_080016e08c8764444db2fba5c6d74fedf61c04 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_080016e08c8764444db2fba5c6d74fedf61c04 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_080016e08c8764444db2fba5c6d74fedf61c04 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + hash_0800163a76dadfe680671d2fb29320b95f7a37 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + readBlockOpsNumOps + + 13 + + + hash_0800163a76dadfe680671d2fb29320b95f7a37 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 14 + + + hash_0800163a76dadfe680671d2fb29320b95f7a37 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 15 + + + hash_0800163a76dadfe680671d2fb29320b95f7a37 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 16 + + + hash_080016b902a2fd168da1a1315fda991e4c3184 + 000000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + replaceBlockOpNumOp + + 17 + + + hash_080016b902a2fd168da1a1315fda991e4c3184 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 18 + + + hash_080016b902a2fd168da1a1315fda991e4c3184 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 19 + + + hash_080016b902a2fd168da1a1315fda991e4c3184 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 20 + + + hash_08001629ad46663653ccd014de79703bd64188 + 817C4E + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + writeBlockOpsNumOps + + 21 + + + hash_08001629ad46663653ccd014de79703bd64188 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 22 + + + hash_08001629ad46663653ccd014de79703bd64188 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 23 + + + hash_08001629ad46663653ccd014de79703bd64188 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 24 + + + hash_080016959b2106db10b3304583fd29fabaf820 + 7CB3F1 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blockChecksumOpNum + + 25 + + + hash_080016959b2106db10b3304583fd29fabaf820 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 26 + + + hash_080016959b2106db10b3304583fd29fabaf820 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 27 + + + hash_080016959b2106db10b3304583fd29fabaf820 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 28 + + + + + Data Source [copyBlockOpNumOps] + + task_item_id + hash_000016f34054f80f83a18a0c6dd0dd86327897|hash_00001686b061e6f5eb5be3dc1850bbf78a3ee0|hash_0000161c42ae7a45effeade394788cea1a2b10|hash_0000165cb53b87dab4b8447b42af4dfa205dc1 + + + Data Source [heartBeatsNumOps] + + task_item_id + hash_000016fe74078934417c3805513ed5f2aa4974|hash_000016260dfe865e593c40409bbe48f0824640|hash_00001617b45551ab623ed95c8f7b2e8037459f|hash_0000165c3c5bc7d537e83d5357fe68073f4833 + + + Data Source [readBlockOpNumOps] + + task_item_id + hash_000016d4248544716e37b9fa287f7ba7be074a|hash_000016164b5991be503531ae1ab1aa39a4c090|hash_00001657772962c9d85ab38ef2d2d48e8ae87d|hash_0000167a6e0e468377452a3e17a32dc8792476 + + + Data Source [replaceBlockOpNumOp] + + task_item_id + hash_00001643d02b0b8c6ddd4a2dd2ba28abfa7022|hash_0000166add33420837c84a1ca8533804ac48fd|hash_000016f0fdd4d972d1e8b058b6fbbb01a690ce|hash_0000166c4249a4c0b37398af0a2797dd021a76 + + + Data Source [writeBlockOpsNumOps] + + task_item_id + hash_00001685e3d533b6f2f2fcc1eaa6eb32da0d78|hash_0000169ceedcfa2e22646d6b7756ce23f9f610|hash_000016099fb60db040fa5d7b9798f29ace1df0|hash_000016c7b2f692b7a89ca910514ab9cd8039a5 + + + Data Source [blockChecksumOpNum] + + task_item_id + hash_0000162a9fa756ad0a1b37e2732669b05bf310|hash_000016fdd3332f634db65c2ec4d7a59d1cc411|hash_00001642ec060d6a992bbbbe1ddeba05a12ec6|hash_000016f4c6944f88f987cbd319a24d0039c305 + + + + + Hadoop 0.20.1 - DataNode - FSDatasetState - Capacity + + + |host_description| - Hadoop 0.20.1 - DataNode - FSDatasetState - Capacity + hash_03001689976288e5665d05e0ab6d90d62d5785 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + Capacity + + 0 + + 0 + + 1 + + 600 + + hash_070016d3c50b3dba298f8ff84325b29027e7f7 + + + + DfsUsed + + 0 + + 0 + + 1 + + 600 + + hash_0700169790d1642b17c8b34c3e5a02a37663a9 + + + + Remaining + + 0 + + 0 + + 1 + + 600 + + hash_0700162cfa08995badb0988cb3a658d8398a41 + + + + + hash_07001665402ae4a5f80f2cc7dc42aaa90036ef + + + + + + + Hadoop 0.20.1 - DataNode - DataNodeActivity - Local/Remote Write/Read + + + |host_description| - Hadoop 0.20.1 - DataNode - DataNodeActivity - Local/Remote Write/Read + hash_03001600ccdc37f7c21fa9ccebe6f81727152c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + writes_local_client + + 0 + + 0 + + 1 + + 600 + + hash_070016cea9d2601ce081f58dbb19fa6715efd3 + + + + writes_remote_clien + + 0 + + 0 + + 1 + + 600 + + hash_07001608fccd1f4280681f8d8e6eb6ddd84887 + + + + reads_local_client + + 0 + + 0 + + 1 + + 600 + + hash_0700161e9abdd0a22472fa10a34430cf625b94 + + + + reads_remote_client + + 0 + + 0 + + 1 + + 600 + + hash_070016c240442b65543fd5fad7fac0f008e766 + + + + + hash_070016429d7a92cd43b8fed132d64f883ff44c + + + + + + + Hadoop 0.20.1 - DataNode - DataNodeActivity - Bytes Read/Written + + + |host_description| - Hadoop 0.20.1 - DataNode - DataNodeActivity - Bytes Read/Written + hash_03001600ccdc37f7c21fa9ccebe6f81727152c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + bytes_read + + 0 + + 0 + + 1 + + 600 + + hash_070016ca9a5d5e7cb59271b98cf34a48429af6 + + + + bytes_written + + 0 + + 0 + + 1 + + 600 + + hash_070016f90069968db954444f6cdaa234958855 + + + + + hash_070016429d7a92cd43b8fed132d64f883ff44c + + + + + + + Hadoop 0.20.1 - DataNode - Blocks Verified + + + |host_description| - Hadoop 0.20.1 - DataNode - Blocks Verified + hash_03001600ccdc37f7c21fa9ccebe6f81727152c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + blocks_verified + + 0 + + 0 + + 1 + + 600 + + hash_0700169a02cecc26a0ed7e1156693b1fc0cd4d + + + + blocks_verif_fail + + 0 + + 0 + + 1 + + 600 + + hash_070016ad37d004a57b9aa57e6c56951b3d776e + + + + + hash_070016429d7a92cd43b8fed132d64f883ff44c + + + + + + + Hadoop 0.20.1 - DataNode - Blocks + + + |host_description| - Hadoop 0.20.1 - DataNode - Blocks + hash_03001600ccdc37f7c21fa9ccebe6f81727152c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + blocks_read + + 0 + + 0 + + 1 + + 600 + + hash_070016e623fc176af41bdaec4cfbb526037334 + + + + blocks_removed + + 0 + + 0 + + 1 + + 600 + + hash_07001601ce35b8ed928ff5be3278eb222e83b6 + + + + blocks_replicated + + 0 + + 0 + + 1 + + 600 + + hash_070016e867dd619483c0bee85e69510a7aeac8 + + + + blocks_written + + 0 + + 0 + + 1 + + 600 + + hash_07001620980fd68caa6ec58cbee2aa1966973f + + + + blocks_verified + + 0 + + 0 + + 1 + + 600 + + hash_0700169a02cecc26a0ed7e1156693b1fc0cd4d + + + + + hash_070016429d7a92cd43b8fed132d64f883ff44c + + + + + + + Hadoop 0.20.1 - DataNode - Operations + + + |host_description| - Hadoop 0.20.1 - DataNode - Operations + hash_03001600ccdc37f7c21fa9ccebe6f81727152c + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + blockChecksumOpNum + + 0 + + 0 + + 1 + + 600 + + hash_070016a0bec2efd392fc2b735d727080f0e1a7 + + + + blockReportsNumOps + + 0 + + 0 + + 1 + + 600 + + hash_070016aa095d9f931587436badec6d992a659e + + + + copyBlockOpNumOps + + 0 + + 0 + + 1 + + 600 + + hash_07001614d61462f04763fd0e1fdf6d37b1af6d + + + + heartBeatsNumOps + + 0 + + 0 + + 1 + + 600 + + hash_0700162110e4778132e4ef478db57255f371ed + + + + readBlockOpNumOps + + 0 + + 0 + + 1 + + 600 + + hash_07001607802450a821d116d0d9439314de325a + + + + replaceBlockOpNumOp + + 0 + + 0 + + 1 + + 600 + + hash_070016ac3ac1b71fb07f60bf11520f3ad8c5f6 + + + + writeBlockOpsNumOps + + 0 + + 0 + + 1 + + 600 + + hash_070016839cb72ae78234c26c10dd08ff650d4e + + + + + hash_070016429d7a92cd43b8fed132d64f883ff44c + + + + + + + Hadoop 0.20.1 - DataNode - FSDatasetState + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hadoopFSDatasetState + + + host name to query + + + + hostname + in + host + + + DfsUsed + on + + + + out + DfsUsed + + + Remaining + on + + + + out + Remaining + + + Capacity + on + + + + out + Capacity + + + + + Hadoop 0.20.1 - DataNode - DataNodeActivity + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hadoopDataNodeActivity + + + readMetadataOpNumOps + on + + + + out + readMetadataOpNumOps + + + host name to query + + + + hostname + in + host + + + blockChecksumOpAvgTime + on + + + + out + blockChecksumOpAvgTime + + + blockChecksumOpMaxTime + on + + + + out + blockChecksumOpMaxTime + + + blockChecksumOpMinTime + on + + + + out + blockChecksumOpMinTime + + + blockChecksumOpNumOps + on + + + + out + blockChecksumOpNumOps + + + blockReportsAvgTime + on + + + + out + blockReportsAvgTime + + + blockReportsMaxTime + on + + + + out + blockReportsMaxTime + + + blockReportsMinTime + on + + + + out + blockReportsMinTime + + + blockReportsNumOps + on + + + + out + blockReportsNumOps + + + block_verification_failures + on + + + + out + block_verification_failures + + + blocks_read + on + + + + out + blocks_read + + + blocks_removed + on + + + + out + blocks_removed + + + blocks_replicated + on + + + + out + blocks_replicated + + + blocks_verified + on + + + + out + blocks_verified + + + blocks_written + on + + + + out + blocks_written + + + bytes_written + on + + + + out + bytes_read + + + copyBlockOpAvgTime + on + + + + out + copyBlockOpAvgTime + + + copyBlockOpMaxTime + on + + + + out + copyBlockOpMaxTime + + + copyBlockOpMinTime + on + + + + out + copyBlockOpMinTime + + + copyBlockOpNumOps + on + + + + out + copyBlockOpNumOps + + + heartBeatsMaxTime + on + + + + out + heartBeatsMaxTime + + + heartBeatsMinTime + on + + + + out + heartBeatsMinTime + + + heartBeatsAvgTime + on + + + + out + heartBeatsAvgTime + + + heartBeatsNumOps + on + + + + out + heartBeatsNumOps + + + readBlockOpAvgTime + on + + + + out + readBlockOpAvgTime + + + readBlockOpMinTime + on + + + + out + readBlockOpMinTime + + + readBlockOpMaxTime + on + + + + out + readBlockOpMaxTime + + + readBlockOpNumOps + on + + + + out + readBlockOpNumOps + + + reads_from_local_client + on + + + + out + reads_from_local_client + + + reads_from_remote_client + on + + + + out + reads_from_remote_client + + + replaceBlockOpMinTime + on + + + + out + replaceBlockOpMinTime + + + replaceBlockOpAvgTime + on + + + + out + replaceBlockOpAvgTime + + + replaceBlockOpMaxTime + on + + + + out + replaceBlockOpMaxTime + + + replaceBlockOpNumOps + on + + + + out + replaceBlockOpNumOps + + + writeBlockOpAvgTime + on + + + + out + writeBlockOpAvgTime + + + writeBlockOpMaxTime + on + + + + out + writeBlockOpMaxTime + + + writeBlockOpMinTime + on + + + + out + writeBlockOpMinTime + + + writeBlockOpNumOps + on + + + + out + writeBlockOpNumOps + + + writes_from_local_client + on + + + + out + writes_from_local_client + + + writes_from_remote_client + on + + + + out + writes_from_remote_client + + + bytes_written + on + + + + out + bytes_written + + + readMetadataOpAvgTime + on + + + + out + readMetadataOpAvgTime + + + readMetadataOpMinTime + on + + + + out + readMetadataOpMinTime + + + readMetadataOpMaxTime + on + + + + out + readMetadataOpMaxTime + + + + + Daily (5 Minute Average) + 0.5 + 1 + 600 + 86400 + 1|3 + + + Weekly (30 Minute Average) + 0.5 + 6 + 700 + 604800 + 1|3 + + + Monthly (2 Hour Average) + 0.5 + 24 + 775 + 2678400 + 1|3 + + + Yearly (1 Day Average) + 0.5 + 288 + 797 + 33053184 + 1|3 + + + Hourly (1 Minute Average) + 0.5 + 1 + 500 + 14400 + 1|3 + + + Normal + %8.2lf %s + + \ No newline at end of file Index: src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_jobclient.xml =================================================================== --- src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_jobclient.xml (revision 0) +++ src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hadoop_0_20_1_-_jobclient.xml (revision 0) @@ -0,0 +1,1126 @@ + + + Hadoop 0.20.1 - JobClient + hash_0000167458ccfe96aeccc885005391a135bb72|hash_000016a8beae66e55a4d5de7067b7b0ac783e4|hash_0000169fb1115196cfd6bdc0713c6a2942b71a|hash_000016bb4b7b4a37854048bb3695f552642c87 + + + + Hadoop 0.20.1 - JobClient - Maps Reduces + + + |host_description| - Hadoop 0.20.1 - JobClient - Maps Reduces + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016fbfedb0e2de660a3f13a741e896c644d + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + mapTasks + + 1 + + + hash_080016fbfedb0e2de660a3f13a741e896c644d + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016fbfedb0e2de660a3f13a741e896c644d + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016fbfedb0e2de660a3f13a741e896c644d + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800163a04051bafabaf3d12c21109120d7950 + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + reduceTasks + + 5 + + + hash_0800163a04051bafabaf3d12c21109120d7950 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800163a04051bafabaf3d12c21109120d7950 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800163a04051bafabaf3d12c21109120d7950 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [mapTasks] + + task_item_id + hash_0000160378750517b8cf716ce2ee6c71443a7e|hash_0000166a75223d136942b03829589304ead347|hash_000016a754d3d9bf97c33bd275f5e54b4689ec|hash_000016b82a163493f63320a1a117ff78658b4f + + + Data Source [reduceTasks] + + task_item_id + hash_000016d1b3a56d72f53cb38b7fa81c5e590da5|hash_000016814deb8b9682a92ef785eae2115c1ead|hash_0000165aad0696a277d30944f570321381dd88|hash_00001603dce641f0e776c6ec8045e28b3add3d + + + + + Hadoop 0.20.1 - JobClient - RunningJob Count + + + |host_description| - Hadoop 0.20.1 - JobClient - RunningJob Count + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016c0526c1861e3a5eb3155609cab18bb44 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + jobsToComplete + + 1 + + + hash_080016c0526c1861e3a5eb3155609cab18bb44 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016c0526c1861e3a5eb3155609cab18bb44 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016c0526c1861e3a5eb3155609cab18bb44 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [jobsToCompleteSize] + + task_item_id + hash_000016c2d874766d2212591ceab4358161a992|hash_00001677b18983dd0869eb463335ae575eaff7|hash_0000165ee6cf1b6a85177ae90a7bd2553b589d|hash_000016b3dd0103380dd70c06f5dc18fdc4075d + + + + + Hadoop 0.20.1 - JobClient - Task Trackers + + + |host_description| - Hadoop 0.20.1 - JobClient - Task Trackers + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800168b0cb804f2f7b2e9f944411911089352 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + taskTrackers + + 1 + + + hash_0800168b0cb804f2f7b2e9f944411911089352 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800168b0cb804f2f7b2e9f944411911089352 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800168b0cb804f2f7b2e9f944411911089352 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800166001c13ffbe1878f363ac275bee8cf5d + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blacklistedTrackers + + 5 + + + hash_0800166001c13ffbe1878f363ac275bee8cf5d + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800166001c13ffbe1878f363ac275bee8cf5d + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800166001c13ffbe1878f363ac275bee8cf5d + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [taskTrackers] + + task_item_id + hash_00001671d03a7264708e2be0826810b3b9e9bb|hash_0000165e64419b351c30bce5ecf5fb69245aad|hash_0000167bf296dfac00f31a0e3865a4a46e78cc|hash_0000169b42b16ac237fc77279da8ad110ce681 + + + Data Source [blacklistedTrackers] + + task_item_id + hash_000016c4f92775c92295bdf5352af33fca1e40|hash_0000165fc24f6c34ea26f887da66604e9465e8|hash_000016f31481e0862bcc031c200b8081e5eb4c|hash_00001626225649703678d9821e41de4e93d7d0 + + + + + Hadoop 0.20.1 - JobClient - RunningJob Status + + + |host_description| - Hadoop 0.20.1 - JobClient - RunningJob Status + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016df9ba02560c42a9ff1d57ad7949c6ebd + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + PREP + + 1 + + + hash_080016df9ba02560c42a9ff1d57ad7949c6ebd + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016df9ba02560c42a9ff1d57ad7949c6ebd + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016df9ba02560c42a9ff1d57ad7949c6ebd + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016db3381edc66fcaca1f407cf04c36796b + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + RUNNING + + 5 + + + hash_080016db3381edc66fcaca1f407cf04c36796b + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016db3381edc66fcaca1f407cf04c36796b + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016db3381edc66fcaca1f407cf04c36796b + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_0800160da9d6e885d686342ec8263587b06a01 + FFAB00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + SUCCEEDED + + 9 + + + hash_0800160da9d6e885d686342ec8263587b06a01 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_0800160da9d6e885d686342ec8263587b06a01 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_0800160da9d6e885d686342ec8263587b06a01 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + hash_08001675da29ee900ac811613894c36a47306f + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + FAILED + + 13 + + + hash_08001675da29ee900ac811613894c36a47306f + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 14 + + + hash_08001675da29ee900ac811613894c36a47306f + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 15 + + + hash_08001675da29ee900ac811613894c36a47306f + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 16 + + + hash_0800161fd741c9fdfe48c112f5e2b78c009ccb + 00B99B + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + KILLED + + 17 + + + hash_0800161fd741c9fdfe48c112f5e2b78c009ccb + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 18 + + + hash_0800161fd741c9fdfe48c112f5e2b78c009ccb + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 19 + + + hash_0800161fd741c9fdfe48c112f5e2b78c009ccb + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 20 + + + + + Data Source [SUCCEEDED] + + task_item_id + hash_000016f56f01b7a43a5113be12f7f36d235b6e|hash_00001671bb63295c976e408d6c65e7374a6882|hash_000016bb1fe800c7f3ec48640a38342cb1e138|hash_0000163f67bb1436699ad0db703e93f181f140 + + + Data Source [RUNNING] + + task_item_id + hash_000016a1ecb748a447e97396d68de4d272103f|hash_000016e86e59a2408aede470b41db8728867dc|hash_000016f4806c0a0027390987036173bab89725|hash_00001661c966d99e730fcddc05e29dc2a909dc + + + Data Source [PREP] + + task_item_id + hash_0000163f6e7d714b80c2294b411cdc184d230c|hash_0000167f128df4ca7ed4c653754c753263b408|hash_0000162c30ae6af14776d9bc24c76a21cc07a3|hash_000016bcdc510abc1e05e9fbe7396ae8ca7a0f + + + Data Source [FAILED] + + task_item_id + hash_000016a53c52da048a354eb0a384abb67fe428|hash_000016493fb5ea426fc06634f64b055779a651|hash_000016e809ddf382056f15cbdb01f2edc3c755|hash_000016165ec736b0177d6d906d0d841b18b9d2 + + + Data Source [KILLED] + + task_item_id + hash_000016a767be5d56a0a0e06eeae8e3f7bef02c|hash_0000166cd293cbf4ca74799217fed25671001c|hash_000016ff6023c387aa2d94b7ad6756465eec06|hash_00001628a794ca11d630517c2292648055cc59 + + + + + Hadoop 0.20.1 - Job Client + + + |host_description| - Hadoop 0.20.1 - Job Client + hash_030016d5c840ccc3f5f3cae102baf2c4f39167 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + maxReduceTasks + + 0 + + 0 + + 1 + + 600 + + hash_0700168c24d61b23636cf85cb36b0441ced2d8 + + + + maxMapTasks + + 0 + + 0 + + 1 + + 600 + + hash_07001601b60ac51909921a007fa1cc2cb80609 + + + + reduceTasks + + 0 + + 0 + + 1 + + 600 + + hash_0700161e6a4ca7ead5a2bbbb756138705fb5a7 + + + + mapTasks + + 0 + + 0 + + 1 + + 600 + + hash_070016bdf67dea171570cc050cee48cf5f0c59 + + + + jobsToCompleteSize + + 0 + + 0 + + 1 + + 600 + + hash_0700162107ee702aecb5a16aaf0ec247dac27f + + + + blacklistedTrackers + + 0 + + 0 + + 1 + + 600 + + hash_070016a9d5ad7e856ab81b8ea986a1132511db + + + + taskTrackers + + 0 + + 100 + + 1 + + 600 + + hash_070016a2ae3aeabddcc41d52f5cead7a10a417 + + + + PREP + + 0 + + 0 + + 1 + + 600 + + hash_0700163ca9591c1623a3e47b4866feaa8e3136 + + + + RUNNING + + 0 + + 0 + + 1 + + 600 + + hash_070016ccd15b701dd733c8b740b02b674e6ea7 + + + + SUCCEEDED + + 0 + + 0 + + 1 + + 600 + + hash_0700166463e682b68245b4628829d58b1d411b + + + + FAILED + + 0 + + 0 + + 1 + + 600 + + hash_07001658996522a9446fde99c6575be760bfdc + + + + KILLED + + 0 + + 0 + + 1 + + 600 + + hash_0700161905a3845255a5100402852019708cb3 + + + + + hash_070016f6a141baf480f1130f9e4823942ea563 + on + hadoop-site.xml + + + + + Hadoop 0.20.1 - JobClient + 1 + sh <path_cacti>/scripts/0_20/jobclient/JobClient.sh <hadoop_conf> + + + hadoop_conf + + + + + in + hadoop_conf + + + mapTasks + on + + + + out + mapTasks + + + maxMapTasks + on + + + + out + maxMapTasks + + + reduceTasks + on + + + + out + reduceTasks + + + maxReduceTasks + on + + + + out + maxReduceTasks + + + blacklistedTrackers + on + + + + out + blacklistedTrackers + + + taskTrackers + on + + + + out + taskTrackers + + + jobsToCompleteSize + on + + + + out + jobsToCompleteSize + + + PREP + on + + + + out + PREP + + + RUNNING + on + + + + out + RUNNING + + + SUCCEEDED + on + + + + out + SUCCEEDED + + + FAILED + on + + + + out + FAILED + + + KILLED + on + + + + out + KILLED + + + + + Daily (5 Minute Average) + 0.5 + 1 + 600 + 86400 + 1|3 + + + Weekly (30 Minute Average) + 0.5 + 6 + 700 + 604800 + 1|3 + + + Monthly (2 Hour Average) + 0.5 + 24 + 775 + 2678400 + 1|3 + + + Yearly (1 Day Average) + 0.5 + 288 + 797 + 33053184 + 1|3 + + + Hourly (1 Minute Average) + 0.5 + 1 + 500 + 14400 + 1|3 + + + Normal + %8.2lf %s + + \ No newline at end of file Index: src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_hmaster.xml =================================================================== --- src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_hmaster.xml (revision 0) +++ src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_hmaster.xml (revision 0) @@ -0,0 +1,209 @@ + + + HBase 0.20.3 - HMaster + hash_0000163cc83eb749617137978fdbda41e45f5c + + + + HBase 0.20.3 - HMaster - Requests + + + |host_description| - HBase 0.20.3 - HMaster - Requests + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016bf77e2e053314e48b44672a000efa45d + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + cluster_requests + + 1 + + + hash_08001678463c8349dfa7c48d80a60849fe8536 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016be8a85e92036dba2667dc89932595a3c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016b7a197a3c2dd74fef2dde82267fab41d + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [cluster_requests] + + task_item_id + hash_00001679623b8b3a9490799986a3ff24705734|hash_000016308632d4964306b85fc38ee60b470f6b|hash_00001677997fde9cd9442cebe3629b66df29ea|hash_0000168c85e0e27fd50233af258ecc1ba0f714 + + + + + HBase 0.20.3 - HMaster - MasterStatistics + + + |host_description| - HBase 0.20.2- HMaster - MasterStatistics + hash_0300166ae65362fef46cdc6fbb2428b1c5bffa + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + cluster_requests + 0 + 0 + 1 + 600 + hash_0700168e0653166b277e1ff4ac6eb052b789fe + + + + + hash_070016ffea2d17571f4eeedad50f73f9891906 + + + + + + + HBase 0.20.3 - HMaster - MasterStatistics + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hbaseMasterStatistics + + + host name to query + + + + hostname + in + host + + + cluster_requests + on + + + + out + cluster_requests + + + + + Daily (5 Minute Average) + 0.5 + 1 + 600 + 86400 + 1|3 + + + Weekly (30 Minute Average) + 0.5 + 6 + 700 + 604800 + 1|3 + + + Monthly (2 Hour Average) + 0.5 + 24 + 775 + 2678400 + 1|3 + + + Yearly (1 Day Average) + 0.5 + 288 + 797 + 33053184 + 1|3 + + + Hourly (1 Minute Average) + 0.5 + 1 + 500 + 14400 + 1|3 + + + Normal + %8.2lf %s + + \ No newline at end of file Index: src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_regionserver.xml =================================================================== --- src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_regionserver.xml (revision 0) +++ src/contrib/jmxtoolkit/cacti-tpl/cacti_host_template_hbase_0_20_3_-_regionserver.xml (revision 0) @@ -0,0 +1,3030 @@ + + + HBase 0.20.3 - RegionServer + hash_000016c8090a72590fbd322811f4de6bf61e54|hash_0000165b22eb8a97324cf0598db5607fb3bcfc|hash_0000169e929e2e55cf2df21be6176408070b34|hash_00001614d9e9287795603ee23f3bb6ab5993e2|hash_0000169794452f58f4f968ff6e9bff550a338b|hash_000016080f8e5b8333256f54d6f9754d8a7533|hash_000016023b11dee7ac9ce024b2b51862d41616|hash_000016615daa4d4206777b88a13e4768149965|hash_000016feb34a939aebdce29b2769157f178995|hash_0000167c5a55529ecf2767523f4d13905bebf9|hash_000016f882d681f3171500ea3ee8a3f9374a80|hash_0000164513a1856c88dccf8927385e7b1ba166|hash_0000167c5632498ae7bd7059d18270c11a0e81|hash_000016c5e7e7f572a51d70f9a8f702e3b4970d|hash_0000162f2b200e029714c9b235417aed5a6557 + + + + HBase 0.20.3 - RegionServer - StoreFiles + + + |host_description| - HBase 0.20.3 - RegionServer - StoreFiles + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800160ffd839156564e6446f6d802d1894a4c + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + storeFiles + + 1 + + + hash_0800160ffd839156564e6446f6d802d1894a4c + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800160ffd839156564e6446f6d802d1894a4c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800160ffd839156564e6446f6d802d1894a4c + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [storefiles] + + task_item_id + hash_000016a6e868084ed9ae13186706d0c5545feb|hash_00001643bead98701fe6c2337fda492b06c116|hash_000016bef85423722da3bf8ccf01a4aa5feb21|hash_000016d24e1b3019b856ec34f3558f59ec6f27 + + + + + HBase 0.20.3 - RegionServer - Stores + + + |host_description| - HBase 0.20.3 - RegionServer - Stores + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016886eefbd178be1cc17b3ee37d906bb08 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + stores + + 1 + + + hash_080016886eefbd178be1cc17b3ee37d906bb08 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016886eefbd178be1cc17b3ee37d906bb08 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016886eefbd178be1cc17b3ee37d906bb08 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [stores] + + task_item_id + hash_000016b44ea0e7a0837dd3ed7a73b7d025a0f9|hash_00001657e20b3e1341bebb426d2f97a18a33ad|hash_00001656c5c6440b0502561d53e899ad6ee483|hash_000016ff2dd8457504739e8dafd301b42072fe + + + + + HBase 0.20.3 - RegionServer - Regions + + + |host_description| - HBase 0.20.3 - RegionServer - Regions + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016dc0313937a701c83b6986ac43dfbb30f + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + regions + + 1 + + + hash_080016dc0313937a701c83b6986ac43dfbb30f + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016dc0313937a701c83b6986ac43dfbb30f + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016dc0313937a701c83b6986ac43dfbb30f + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [regions] + + task_item_id + hash_0000160d6154d89b870daadbac0cbca4ed6dd6|hash_0000161f9127355ebba96c5df10ddd88ed70fa|hash_0000167e4ff0b8b85bab17643d3ae1b31ee50b|hash_0000163493405b8bcd12f19f1d615e3869b3ed + + + + + HBase 0.20.3 - RegionServer - BlockCache + + + |host_description| - HBase 0.20.3 - RegionServer - BlockCache + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016283e43d558ce975ae03a143b7bbaef0c + FF0000 + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blockCacheSize + + 1 + + + hash_080016283e43d558ce975ae03a143b7bbaef0c + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016283e43d558ce975ae03a143b7bbaef0c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016283e43d558ce975ae03a143b7bbaef0c + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016bb9231e3242cdeabc3f1388a32b3b6ec + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blockCacheFree + + 5 + + + hash_080016bb9231e3242cdeabc3f1388a32b3b6ec + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016bb9231e3242cdeabc3f1388a32b3b6ec + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016bb9231e3242cdeabc3f1388a32b3b6ec + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + + + Data Source [blockCacheSize] + + task_item_id + hash_000016474676ab5ad1fe0f451bcc8b10bbe047|hash_000016da2de9db86815803774fdbaea4c43e7b|hash_0000169dc62a9bebe2a92b20f68d24f0dfd388|hash_000016f4102b5e541f2069fd2cb0d8d758f167 + + + Data Source [blockCacheFree] + + task_item_id + hash_0000163030bf379d8d891c9b65d31a211d2416|hash_0000162f2800b086bd2babfdab9b689eceac44|hash_00001634ab9f56fb0eb7f2554c2f77a9218d36|hash_00001629b8ce70eb19a9509800e905b5d63f13 + + + + + HBase 0.20.3 - RegionServer - BlockCache HitRatio + + + |host_description| - HBase 0.20.3 - RegionServer - BlockCache HitRatio + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800165c4cfadc9156978ef8c025317c62a170 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blockCacheHitRatio + + 1 + + + hash_0800165c4cfadc9156978ef8c025317c62a170 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800165c4cfadc9156978ef8c025317c62a170 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800165c4cfadc9156978ef8c025317c62a170 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [blockCacheHitRatio] + + task_item_id + hash_00001658290df6f36550add052c4875e1c0e13|hash_000016e14c9c9c92eb046055dc18d433f7bf9a|hash_0000166328b4eaad7102bd70dab302d0977457|hash_00001623b94cd568e5c15b9e3c3d92425f284a + + + + + HBase 0.20.3 - RegionServer - BlockCache Count + + + |host_description| - HBase 0.20.3 - RegionServer - BlockCache Count + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_08001662864d280149d3288b78b3e20216e582 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + blockCacheCount + + 1 + + + hash_08001662864d280149d3288b78b3e20216e582 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_08001662864d280149d3288b78b3e20216e582 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_08001662864d280149d3288b78b3e20216e582 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [blockCacheCount] + + task_item_id + hash_0000164f19880945b8a1847f225c00603e9f5f|hash_000016c567d1fa25ab5578aa97f2c222be9db3|hash_000016bd9b8785e1f4153e2b5289d3e9289015|hash_0000167bb45c0ef4069b9deb2d679ea359cd00 + + + + + HBase 0.20.3 - RegionServer - Storefile Index Size + + + |host_description| - HBase 0.20.3 - RegionServer - Storefile Index Size + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016157c22684c830ff42323569597e77e01 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Store File Index Size MB + + 1 + + + hash_080016157c22684c830ff42323569597e77e01 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016157c22684c830ff42323569597e77e01 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016157c22684c830ff42323569597e77e01 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [storefileIndexSizeM] + + task_item_id + hash_000016bb665c1324d80b98a61206077dd2bb71|hash_0000166a3ee1f975bd4971619b7a14a5a15010|hash_0000161839234a0b5a19d74a87a9ec02f88031|hash_0000160c9f2578ff662f0af0967a28aed1a97a + + + + + HBase 0.20.3 - RegionServer - Memstore Size + + + |host_description| - HBase 0.20.3 - RegionServer - Memstore Size + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016ea154ffb6e47da15a87158d1899b5738 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Memstore Size MB + + 1 + + + hash_080016ea154ffb6e47da15a87158d1899b5738 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016ea154ffb6e47da15a87158d1899b5738 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016ea154ffb6e47da15a87158d1899b5738 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [memstoreSizeMB] + + task_item_id + hash_000016a90cdc76bb456fe93c25dff2b978c5d2|hash_0000167ecba382eece7d4f2f5566c07f57f3e7|hash_0000169f8215db668551741837974121994236|hash_000016437cc323161fcf1a1ad12600db6858a8 + + + + + HBase 0.20.3 - RegionServer - AtomicIncrement + + + |host_description| - HBase 0.20.3 - RegionServer - AtomicIncrement + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800167ae4bf41f44948e85fec5158875b0f82 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + avg + + 1 + + + hash_0800167ae4bf41f44948e85fec5158875b0f82 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800167ae4bf41f44948e85fec5158875b0f82 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800167ae4bf41f44948e85fec5158875b0f82 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800161fda983eb021f8388c02c920cfdeaa54 + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + max + + 5 + + + hash_0800161fda983eb021f8388c02c920cfdeaa54 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800161fda983eb021f8388c02c920cfdeaa54 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800161fda983eb021f8388c02c920cfdeaa54 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_08001645a86e61f6c8cd7c4d08f0424f2e5d2b + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + min + + 9 + + + hash_08001645a86e61f6c8cd7c4d08f0424f2e5d2b + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_08001645a86e61f6c8cd7c4d08f0424f2e5d2b + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_08001645a86e61f6c8cd7c4d08f0424f2e5d2b + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + hash_0800169615ff99ea073daf3e87102fc44b91e9 + 000000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + NumOps + + 13 + + + hash_0800169615ff99ea073daf3e87102fc44b91e9 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 14 + + + hash_0800169615ff99ea073daf3e87102fc44b91e9 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 15 + + + hash_0800169615ff99ea073daf3e87102fc44b91e9 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 16 + + + + + Data Source [atomicIncrementNumO] + + task_item_id + hash_000016a8f0679c4fc797107ccd3ad7347c563c|hash_0000166e5bde1dd3713f52e9883e9bed1998f9|hash_000016d5ea64ae126093236c9dbe4cc120b7fb|hash_000016b5029be840465f09fea8fe74f342ceb6 + + + Data Source [atomicIncrementMin] + + task_item_id + hash_0000165045d2cbd75476b2bec742c95766f449|hash_000016125cb5c9f6e415f19c8b984bd8b33d7c|hash_000016ca0e97ed515c9408282a1806ab2e483d|hash_000016eba007f3a23b37aabd0f5a9abf65df70 + + + Data Source [atomicIncrementAvg] + + task_item_id + hash_000016cc815c03ac434d81c5bc4720130548d6|hash_000016fe7b68c7f6c70b0c247af5bd7ca24c27|hash_0000165c689fcaf56748bdb5b1ac98a68a68ee|hash_0000166210a344c3c5706a4529c534663ff3a5 + + + Data Source [atomicIncrementMax] + + task_item_id + hash_0000163da716e26e61d9760c21587440c1e220|hash_00001618e509add877564a1736b3fa016900e8|hash_000016a184c95b1b3695781491cf4d00ef9a12|hash_000016b07db57ffc390eec69c2f7e39b97d112 + + + + + HBase 0.20.3 - RegionServer - CompactionQueueSize + + + |host_description| - HBase 0.20.3 - RegionServer - CompactionQueueSize + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800163a29be1b4867280361c452aadfd68bfc + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + compactionQueueSize + + 1 + + + hash_0800163a29be1b4867280361c452aadfd68bfc + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800163a29be1b4867280361c452aadfd68bfc + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800163a29be1b4867280361c452aadfd68bfc + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [compactionQueueSize] + + task_item_id + hash_00001624cd829d8db5a989e963af0f2e16f509|hash_00001698a038d9b960208ed347fa38f72c01b4|hash_000016b485cfc18987458e8e30a79a9ec204fe|hash_0000165b6f0956e757652fbb42726afa0f06da + + + + + HBase 0.20.3 - RegionServer - Requests + + + |host_description| - HBase 0.20.3 - RegionServer - Requests + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016acd891ed7f65c1f2e35a5b0ed6eae322 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + requests + + 1 + + + hash_080016acd891ed7f65c1f2e35a5b0ed6eae322 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016acd891ed7f65c1f2e35a5b0ed6eae322 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016acd891ed7f65c1f2e35a5b0ed6eae322 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + + + Data Source [requests] + + task_item_id + hash_000016e0622e22b708d622fcd874562e466244|hash_0000169c39566b678cb2bc2a32eff2a348d392|hash_0000165e571a4b81338f81f3afde2e041d77d5|hash_000016122e55e0a499a84066eb909458ab725f + + + + + HBase 0.20.3 - RegionServer - Operations + + + |host_description| - HBase 0.20.3 - RegionServer - Operations + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_080016fd8c238f01af70a02e3540447f0cea82 + 4444FF + FF + 7 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsReadLatencyNumOps + + 1 + + + hash_080016fd8c238f01af70a02e3540447f0cea82 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_080016fd8c238f01af70a02e3540447f0cea82 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_080016fd8c238f01af70a02e3540447f0cea82 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_080016c450d9f822d61d2a8e675f699c71df10 + FF0000 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsSyncLatencyNumOps + + 5 + + + hash_080016c450d9f822d61d2a8e675f699c71df10 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_080016c450d9f822d61d2a8e675f699c71df10 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_080016c450d9f822d61d2a8e675f699c71df10 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_08001632b2030a81390d5f22b361e9bf58d7db + 00FF00 + FF + 8 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsWriteLatencyNumOps + + 9 + + + hash_08001632b2030a81390d5f22b361e9bf58d7db + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_08001632b2030a81390d5f22b361e9bf58d7db + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_08001632b2030a81390d5f22b361e9bf58d7db + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [fsReadLatencyNumOps] + + task_item_id + hash_0000168e28b531a0dec49845fc695f92b520a0 + + + Data Source [fsSyncLatencyNumOps] + + task_item_id + hash_000016791846d0d1eddad8dd8649544b4b445c + + + Data Source [fsWriteLatencyMumOp] + + task_item_id + hash_00001638a764c5632aa294c48f507750fbdfaa + + + + + HBase 0.20.3 - RegionServer - fsWrite + + + |host_description| - HBase 0.20.3 - RegionServer - fsWrite + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800169af86c240aa71df7523e59975732f9b7 + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsWriteLatencyAvg + + 1 + + + hash_0800169af86c240aa71df7523e59975732f9b7 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800169af86c240aa71df7523e59975732f9b7 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800169af86c240aa71df7523e59975732f9b7 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800161cfb948ababf2ed92092589d00f1ff16 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsWriteLatencyMinTime + + 5 + + + hash_0800161cfb948ababf2ed92092589d00f1ff16 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800161cfb948ababf2ed92092589d00f1ff16 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800161cfb948ababf2ed92092589d00f1ff16 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_0800160c7c171570fe8af42dd44b017eb428a9 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsWriteLatencyMaxTime + + 9 + + + hash_0800160c7c171570fe8af42dd44b017eb428a9 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_0800160c7c171570fe8af42dd44b017eb428a9 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_0800160c7c171570fe8af42dd44b017eb428a9 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [fsWriteLatencyAvgT] + + task_item_id + hash_0000165dff379e6886d964743daa4591550a04 + + + Data Source [fsWriteLatencyMinT] + + task_item_id + hash_000016890382da3f1e09a18869cce7fcb97067 + + + Data Source [fsWriteLatencyMaxT] + + task_item_id + hash_00001604894803aea005139b5b78e9a044cb03 + + + + + HBase 0.20.3 - RegionServer - fsRead + + + |host_description| - HBase 0.20.3 - RegionServer - fsRead + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsReadLatencyAvgTime + + 1 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800162db6671074f3532dfa5278cff397859c + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsReadLatencyMinT + + 5 + + + hash_0800162db6671074f3532dfa5278cff397859c + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800162db6671074f3532dfa5278cff397859c + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800162db6671074f3532dfa5278cff397859c + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_080016392ee20299a198a3abce0072cc508052 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsReadLatencyMaxTime + + 9 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_08001658db54f4b17948e83b1b905e06c3c0e8 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [fsReadLatencyMaxT] + + task_item_id + hash_0000166c756c85bc44f50b75780bbe201a1102 + + + Data Source [fsReadLatencyMinT] + + task_item_id + hash_00001613a00caab4c0c1982a038f660be5ee68 + + + Data Source [fsReadLatencyAvgT] + + task_item_id + hash_0000162ede412da8163388ca94d0f222aeecf8 + + + + + HBase 0.20.3 - RegionServer - fsSync + + + |host_description| - HBase 0.20.3 - RegionServer - fsSync + + 1 + + 120 + + 500 + + on + + on + + 2 + + + + + + + + on + + on + + 100 + + 0 + + 1000 + + + + + + + + + + hash_0800162131b071cf40353ed6535d8318c70523 + FF0000 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsSyncLatencyAvgTime + + 1 + + + hash_0800162131b071cf40353ed6535d8318c70523 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 2 + + + hash_0800162131b071cf40353ed6535d8318c70523 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 3 + + + hash_0800162131b071cf40353ed6535d8318c70523 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 4 + + + hash_0800162da1c1fa6c3b70da4170f154bf9864d7 + 4444FF + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsSyncLatencyMaxTime + + 5 + + + hash_0800162da1c1fa6c3b70da4170f154bf9864d7 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 6 + + + hash_0800162da1c1fa6c3b70da4170f154bf9864d7 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 7 + + + hash_0800162da1c1fa6c3b70da4170f154bf9864d7 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 8 + + + hash_080016d181efa4e7ae3996ba67b6d525fda5c6 + 00FF00 + FF + 5 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + fsSyncLatencyMinTime + + 9 + + + hash_080016d181efa4e7ae3996ba67b6d525fda5c6 + 0 + FF + 9 + 4 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Current: + + 10 + + + hash_080016d181efa4e7ae3996ba67b6d525fda5c6 + 0 + FF + 9 + 1 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Average: + + 11 + + + hash_080016d181efa4e7ae3996ba67b6d525fda5c6 + 0 + FF + 9 + 3 + 0 + + hash_060016e9c43831e54eca8069317a2ce8c6f751 + Maximum: + on + 12 + + + + + Data Source [fsSyncLatencyAvgT] + + task_item_id + hash_0000164670b8c5909e6e5bc22bced2997a3abc + + + Data Source [fsSyncLatencyMaxT] + + task_item_id + hash_0000162b0378a9e0591a6d5d9119ee6767d47a + + + Data Source [fsSyncLatencyMinT] + + task_item_id + hash_000016c1afa2dac69787482acd13038b92f178 + + + + + HBase 0.20.3 - RegionServer - RegionServerStatistics - StoresRegions + + + |host_description| - HBase 0.20.3 - RegionServer - RegionServerStatistics - StoresRegions + hash_03001617ee0f53d24c7f3113ffa9302e74ca55 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + regions + + 0 + + 0 + + 1 + + 600 + + hash_070016f1dffe98dbee589156281d7ca367892f + + + + stores + + 0 + + 0 + + 1 + + 600 + + hash_0700160add4c4641bb85ddfa640b27e23b3420 + + + + memstoreSizeMB + + 0 + + 0 + + 1 + + 600 + + hash_0700164f2ccedbca8856ed11473f41e197a609 + + + + storefileIndexSizeM + + 0 + + 0 + + 1 + + 600 + + hash_07001661d49c3d758215accb0f399eb9d26130 + + + + storefiles + + 0 + + 0 + + 1 + + 600 + + hash_0700164de137d5f7657c6c27d98f4afbdd1e56 + + + + requests + + 0 + + 0 + + 1 + + 600 + + hash_070016abc3bf3a1bac8c0fdda6f7e3835d58d7 + + + + compactionQueueSize + + 0 + + 0 + + 1 + + 600 + + hash_070016ae1bfc1d61c9f7f9e5740f8eb63a53d9 + + + + + hash_0700163e01360b34859de0dbc06b59ff258b60 + + + + + + + HBase 0.20.3 - RegionServer - RegionServerStatistics - BlockCache + + + |host_description| - HBase 0.20.3 - RegionServer - RegionServerStatistics - BlockCache + hash_03001617ee0f53d24c7f3113ffa9302e74ca55 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + blockCacheFree + + 0 + + 0 + + 1 + + 600 + + hash_0700163b05dd39522887e0faf0c99ba248d39b + + + + blockCacheCount + + 0 + + 0 + + 1 + + 600 + + hash_0700166008a5f180aee1f3d519f735f4bdb044 + + + + blockCacheHitRatio + + 0 + + 0 + + 1 + + 600 + + hash_07001624fae66625907e4de0ccf4817c1f1bdf + + + + blockCacheSize + + 0 + + 0 + + 1 + + 600 + + hash_070016d36a977988c5ad74f27bcd68f07fa19d + + + + + hash_0700163e01360b34859de0dbc06b59ff258b60 + + + + + + + HBase 0.20.3 - RegionServer - RegionServerStatistics - AtomicIncrement + + + |host_description| - HBase 0.20.3 - RegionServer - RegionServerStatistics - AtomicIncrement + hash_03001617ee0f53d24c7f3113ffa9302e74ca55 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + atomicIncrementMin + + 0 + + 0 + + 1 + + 600 + + hash_07001665345a3592b89ade2e65dd942d5c8112 + + + + atomicIncrementNumO + + 0 + + 0 + + 1 + + 600 + + hash_070016affec041ad82fbcf30062b3e72bcbff7 + + + + atomicIncrementAvg + + 0 + + 0 + + 1 + + 600 + + 0 + + + + atomicIncrementMax + + 0 + + 0 + + 1 + + 600 + + hash_07001646bf108037cec1aa78c1e76d0e83cc46 + + + + + hash_0700163e01360b34859de0dbc06b59ff258b60 + + + + + + + HBase 0.20.3 - RegionServer - RegionServerStatistics - fsLatency + + + |host_description| - HBase 0.20.3 - RegionServer - RegionServerStatistics - fsLatency + hash_03001617ee0f53d24c7f3113ffa9302e74ca55 + + + 300 + + on + hash_150016c21df5178e5c955013591239eb0afd46|hash_1500160d9c0af8b8acdc7807943937b3208e29|hash_1500166fc2d038fb42950138b0ce3e9874cc60|hash_150016e36f3adb9f152adfa5dc50fd2b23337e|hash_150016283ea2bf1634d92ce081ec82a634f513 + + + + + fsReadLatencyAvgT + + 0 + + 0 + + 1 + + 600 + + hash_0700167ef229828ae0016c553b628d92ae9ef2 + + + + fsReadLatencyMinT + + 0 + + 0 + + 1 + + 600 + + hash_0700161558d1049280b52b76d3ef0f45168ed2 + + + + fsReadLatencyMaxT + + 0 + + 0 + + 1 + + 600 + + hash_070016a2609f458be462424c9ac107a1201bbe + + + + fsReadLatencyNumOps + + 0 + + 0 + + 1 + + 600 + + hash_0700165869a45188cc91cd335e3a39c5abbf6f + + + + fsSyncLatencyNumOps + + 0 + + 0 + + 1 + + 600 + + hash_070016f534171fe82cb0c3f272a7dbbfe9331b + + + + fsSyncLatencyMinT + + 0 + + 0 + + 1 + + 600 + + hash_0700167812d512800176fcc1711ef8a88dcac9 + + + + fsSyncLatencyMaxT + + 0 + + 0 + + 1 + + 600 + + hash_0700168299be9309dca1844ebfd9493effce59 + + + + fsSyncLatencyAvgT + + 0 + + 0 + + 1 + + 600 + + hash_0700165ec11c4c6093c08c59b38b76b38c183a + + + + fsWriteLatencyMinT + + 0 + + 0 + + 1 + + 600 + + hash_0700169c18a6a6fca8abf8e2fc9ce5489128e5 + + + + fsWriteLatencyMaxT + + 0 + + 0 + + 1 + + 600 + + hash_070016fd9c4c9c15e49ea873b873e2a125e698 + + + + fsWriteLatencyAvgT + + 0 + + 0 + + 1 + + 600 + + hash_070016c1e6609afee146e2c20132b612811188 + + + + fsWriteLatencyMumOp + + 0 + + 0 + + 1 + + 600 + + hash_070016bbc76a7c4da67adc45f5b155c9f3c1cb + + + + + hash_0700163e01360b34859de0dbc06b59ff258b60 + + + + + + + HBase 0.20.3 - RegionServer - RegionServerStatistics + 1 + sh <path_cacti>/scripts/bin/jmxtkcacti-hbase-0.20.4-dev.sh <host> hbaseRegionServerStatistics + + + storefileIndexSizeMB + on + + + + out + storefileIndexSizeMB + + + storefiles + on + + + + out + storefiles + + + atomicIncrementTimeMaxTime + on + + + + out + atomicIncrementTimeMaxTime + + + atomicIncrementTimeMinTime + on + + + + out + atomicIncrementTimeMinTime + + + atomicIncrementTimeAvgTime + on + + + + out + atomicIncrementTimeAvgTime + + + atomicIncrementTimeNumOps + on + + + + out + atomicIncrementTimeNumOps + + + blockCacheHitRatio + on + + + + out + blockCacheHitRatio + + + blockCacheCount + on + + + + out + blockCacheCount + + + regions + on + + + + out + regions + + + memstoreSizeMB + on + + + + out + memstoreSizeMB + + + blockCacheFree + on + + + + out + blockCacheFree + + + host name to query + + + + hostname + in + host + + + stores + on + + + + out + stores + + + blockCacheSize + on + + + + out + blockCacheSize + + + requests + on + + + + out + requests + + + compactionQueueSize + on + + + + out + compactionQueueSize + + + fsReadLatencyNumOps + on + + + + out + fsReadLatencyNumOps + + + fsReadLatencyAvgTime + on + + + + out + fsReadLatencyAvgTime + + + fsReadLatencyMinTime + on + + + + out + fsReadLatencyMinTime + + + fsReadLatencyMaxTime + on + + + + out + fsReadLatencyMaxTime + + + fsSyncLatencyNumOps + on + + + + out + fsSyncLatencyNumOps + + + fsSyncLatencyAvgTime + on + + + + out + fsSyncLatencyAvgTime + + + fsSyncLatencyMinTime + on + + + + out + fsSyncLatencyMinTime + + + fsSyncLatencyMaxTime + on + + + + out + fsSyncLatencyMaxTime + + + fsWriteLatencyNumOps + on + + + + out + fsWriteLatencyNumOps + + + fsWriteLatencyAvgTime + on + + + + out + fsWriteLatencyAvgTime + + + fsWriteLatencyMinTime + on + + + + out + fsWriteLatencyMinTime + + + fsWriteLatencyMaxTime + on + + + + out + fsWriteLatencyMaxTime + + + fsReadLatencyAvgTime + on + + + + out + fsReadLatencyAvgTime + + + + + Daily (5 Minute Average) + 0.5 + 1 + 600 + 86400 + 1|3 + + + Weekly (30 Minute Average) + 0.5 + 6 + 700 + 604800 + 1|3 + + + Monthly (2 Hour Average) + 0.5 + 24 + 775 + 2678400 + 1|3 + + + Yearly (1 Day Average) + 0.5 + 288 + 797 + 33053184 + 1|3 + + + Hourly (1 Minute Average) + 0.5 + 1 + 500 + 14400 + 1|3 + + + Normal + %8.2lf %s + + \ No newline at end of file Index: src/contrib/jmxtoolkit/bin/jmxtknagios.sh.template =================================================================== --- src/contrib/jmxtoolkit/bin/jmxtknagios.sh.template (revision 0) +++ src/contrib/jmxtoolkit/bin/jmxtknagios.sh.template (revision 0) @@ -0,0 +1,9 @@ +JARFILE="$(dirname $0)/../@JARFILE_NAME@" +OPTS="-DHOSTNAME1=$1 -DHOSTNAME2=$1" +PROPS="@PROPERTIES_NAME@" +ARGS="-f conf/$PROPS -o $2 -q $3" +if [[ "" != "$4" ]]; then + ARGS="$ARGS -w $4" +fi + +java $OPTS -jar $JARFILE $ARGS Index: src/contrib/jmxtoolkit/build.xml =================================================================== --- src/contrib/jmxtoolkit/build.xml (revision 0) +++ src/contrib/jmxtoolkit/build.xml (revision 0) @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: src/contrib/jmxtoolkit/bin/jmxtkcacti.sh.template =================================================================== --- src/contrib/jmxtoolkit/bin/jmxtkcacti.sh.template (revision 0) +++ src/contrib/jmxtoolkit/bin/jmxtkcacti.sh.template (revision 0) @@ -0,0 +1,9 @@ +JARFILE="$(dirname $0)/../@JARFILE_NAME@" +OPTS="-DHOSTNAME1=$1 -DHOSTNAME2=$1" +PROPS="@PROPERTIES_NAME@" +ARGS="-f conf/$PROPS -o $2" +if [[ "" != "$3" ]]; then + ARGS="$ARGS -q $3" +fi + +java $OPTS -jar $JARFILE $ARGS