Ambari経由でNagiosを使う場合の注意点
Ambari経由でHDPをインストールしてその際にNagiosも入れた場合は注意点があります。
ここで入れたNagiosはNameNodeやResourceManagerやJobHistoryのようなマスター系のコンポーネントのCPUのチェックにSNMPを使います。
そのため/etc/snmp/snmpd.confをいじっていて下記のようになっていると思います。SNMPのコミュニティ名としてhadoopを使っています。
#/* # * 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. # */ com2sec notConfigUser 0.0.0.0/0 hadoop group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1 access notConfigGroup "" any noauth exact systemview none none syslocation Hadoop syscontact HadoopMaster dontLogTCPWrappersConnects yes ############################################################################### # disk checks disk / 10000 ############################################################################### # load average checks # # load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0] # # 1MAX: If the 1 minute load average is above this limit at query # time, the errorFlag will be set. # 5MAX: Similar, but for 5 min average. # 15MAX: Similar, but for 15 min average. # Check for loads: #load 12 14 14
コミュニティ名hadoopに対して下記のようにスクリプトを実行してCPU情報を取得します。内部的にはPerlのNet::SNMPを使っています。
/usr/lib64/nagios/plugins/check_cpu.pl -H NameNodeのホスト名 -C hadoop -w 200% -c 250%
AmbariでHDPをセットアップすると最初にNagiosで「CPU utilization show as UNKNOWN」と言われるのは、
/etc/snmp/snmpd.confを修正しているのにsnmpdを再起動してないからコミュニティ名hadoopが有効にならずにcheck_cpu.plのチェックが失敗するからだと思います。
なのでsnmpdを再起動すればこのエラーは消えるはず。
NameNodeのようなマスター系のコンポーネントのCPUのチェック以外にはSNMPを使っていないので他の、例えばNodeManagerのチェックとかは問題無いと思う。
CloudForecastを使ってモニタリングする場合は/etc/snmp/snmpd.confをいじる可能性があるのでNagiosのチェックとバッティングする可能性があるので注意。
なおAmbari経由でNagiosを再起動すると/etc/snmp/snmpd.confが上記のものに戻ります。
なのでCloudForecast用にいじっている場合は再度手動でいじってsnmpdを再起動しないとCloudForecastでエラーになります。オーマイゴッド。
AmbariのNagiosチェックは微妙な点もあって、例えばyarn.nodemanager.webapp.address(defaultは0.0.0.0:8042)をAdd propertyで追加して変更してもNagiosが追随してくれないので偽アラートが出るはめになります。
既存のもの、例えばdfs.namenode.http-addressを変更した場合はNagiosが追随してくれて偽アラート出ないです。Add propertyで追加したものにはNagiosが追随してくれないのかも。
まあ、そんな感じです。