弊社が公開している管理ソフト Cloudera Manager Free Edition を使えば、REST API によってjson形式でサービスの死活情報を取得することが可能です。
'http://{Cloudera Manager のサーバアドレス}/api/v2/clusters/{クラスタ名}/services/{サービス名}/roles' と入力すれば、以下の結果が返ってきます(分かりやすくするため情報量を削減しています)
単純に停止しているかどうかのみを確認するのであれば roleState を、それが異常なのかを検知するには healthSummary を追加で監視すれば Saburo さんが考えている監視については実現可能かと思います。
{
"items" : [ {
"name" : "hdfs1-NAMENODE-1",
"type" : "NAMENODE",
"configStale" : false,
"hostRef" : {
"hostId" : "nn1.localdomain"
},
"healthSummary" : "GOOD",
"roleState" : "STARTED",
"serviceRef" : {
"serviceName" : "hdfs1",
"clusterName" : "TestCluster"
},
"haStatus" : "ACTIVE"
}, {
"name" : "hdfs1-DATANODE-1",
"type" : "DATANODE",
"configStale" : false,
"hostRef" : {
"hostId" : "dn1.localdomain"
},
"healthSummary" : "GOOD",
"roleState" : "STARTED",
"serviceRef" : {
"serviceName" : "hdfs1",
"clusterName" : "TestCluster"
}
}, {
"name" : "hdfs1-DATANODE-6",
"type" : "DATANODE",
"configStale" : false,
"hostRef" : {
"hostId" : "dn6.localdomain"
},
"healthSummary" : "BAD",
"roleState" : "STOPPED", "serviceRef" : {
"serviceName" : "hdfs1",
"clusterName" : "TestCluster"
}
}, ]
}