Repository: ambari Updated Branches: refs/heads/trunk 8ae56643b -> 4481ac249
AMBARI-5600. NameNode/ResourceManager/HBase Master CPU Utilization with disabled SNMP (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4481ac24 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4481ac24 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4481ac24 Branch: refs/heads/trunk Commit: 4481ac2495c9da2ae50d7f86ff9eebdfae8e9348 Parents: 8ae5664 Author: Nate Cole <[email protected]> Authored: Mon Apr 28 15:43:16 2014 -0400 Committer: Nate Cole <[email protected]> Committed: Wed Apr 30 09:32:15 2014 -0400 ---------------------------------------------------------------------- .../scripts/shared_initialization.py | 8 +- .../1.3.2/hooks/before-START/scripts/hook.py | 1 - .../1.3.2/hooks/before-START/scripts/params.py | 5 - .../scripts/shared_initialization.py | 9 +- .../before-START/templates/health_check-v2.j2 | 28 ----- .../before-START/templates/health_check.j2 | 28 ----- .../HDP/1.3.2/services/NAGIOS/metainfo.xml | 4 - .../services/NAGIOS/package/files/check_cpu.php | 109 +++++++++++++++++++ .../NAGIOS/package/scripts/functions.py | 27 ++++- .../package/scripts/nagios_server_config.py | 1 + .../services/NAGIOS/package/scripts/params.py | 5 +- .../package/templates/hadoop-commands.cfg.j2 | 5 +- .../package/templates/hadoop-services.cfg.j2 | 27 +++-- .../scripts/shared_initialization.py | 9 +- .../2.0.6/hooks/before-START/scripts/hook.py | 1 - .../2.0.6/hooks/before-START/scripts/params.py | 5 - .../scripts/shared_initialization.py | 17 --- .../before-START/templates/health_check-v2.j2 | 28 ----- .../before-START/templates/health_check.j2 | 27 ----- .../HDP/2.0.6/services/NAGIOS/metainfo.xml | 4 - .../services/NAGIOS/package/files/check_cpu.php | 109 +++++++++++++++++++ .../NAGIOS/package/scripts/functions.py | 27 ++++- .../package/scripts/nagios_server_config.py | 1 + .../services/NAGIOS/package/scripts/params.py | 5 +- .../package/templates/hadoop-commands.cfg.j2 | 7 +- .../package/templates/hadoop-services.cfg.j2 | 20 ++-- .../stacks/1.3.2/NAGIOS/test_nagios_server.py | 4 + .../hooks/before-INSTALL/test_before_install.py | 3 +- .../hooks/before-START/test_before_start.py | 14 +-- .../stacks/2.0.6/NAGIOS/test_nagios_server.py | 4 + .../hooks/before-INSTALL/test_before_install.py | 1 - .../hooks/before-START/test_before_start.py | 14 --- 32 files changed, 328 insertions(+), 229 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py index 98b5dea..4a0669b 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py @@ -145,10 +145,4 @@ def setup_java(): ) def install_packages(): - packages = {"redhat": ["net-snmp-utils", "net-snmp"], - "suse": ["net-snmp"], - "all": ["unzip"] - } - - Package(packages['all']) - Package(packages[System.get_instance().os_family]) + Package(['unzip']) http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/hook.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/hook.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/hook.py index 31f70bb..d413371 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/hook.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/hook.py @@ -34,7 +34,6 @@ class BeforeConfigureHook(Hook): setup_database() setup_configs() create_javahome_symlink() - init_services() if __name__ == "__main__": BeforeConfigureHook().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/params.py index 61e04f8..897e669 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/params.py @@ -32,11 +32,6 @@ hdfs_user = config['configurations']['global']['hdfs_user'] user_group = config['configurations']['global']['user_group'] -#snmp -snmp_conf_dir = "/etc/snmp/" -snmp_source = "0.0.0.0/0" -snmp_community = "hadoop" - #hosts hostname = config["hostname"] rm_host = default("/clusterHostInfo/rm_host", []) http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/shared_initialization.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/shared_initialization.py index 35f22ba..3fa511a 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/shared_initialization.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/scripts/shared_initialization.py @@ -171,11 +171,4 @@ def create_javahome_symlink(): Execute("mkdir -p /usr/jdk64/") Execute("ln -s /usr/jdk/jdk1.6.0_31 /usr/jdk64/jdk1.6.0_31") -def init_services(): - import params - File(os.path.join(params.snmp_conf_dir, 'snmpd.conf'), - content=Template("snmpd.conf.j2")) - # enable snmpd - Execute( "service snmpd start; chkconfig snmpd on", - path = "/usr/local/bin/:/bin/:/sbin/" - ) + http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check-v2.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check-v2.j2 b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check-v2.j2 index 7382621..0a03d17 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check-v2.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check-v2.j2 @@ -58,35 +58,7 @@ function check_disks { } -function check_link { - snmp=/usr/bin/snmpwalk - if [ -e $snmp ] ; then - $snmp -t 5 -Oe -Oq -Os -v 1 -c public localhost if | \ - awk ' { - split($1,a,".") ; - if ( a[1] == "ifIndex" ) { ifIndex[a[2]] = $2 } - if ( a[1] == "ifDescr" ) { ifDescr[a[2]] = $2 } - if ( a[1] == "ifType" ) { ifType[a[2]] = $2 } - if ( a[1] == "ifSpeed" ) { ifSpeed[a[2]] = $2 } - if ( a[1] == "ifAdminStatus" ) { ifAdminStatus[a[2]] = $2 } - if ( a[1] == "ifOperStatus" ) { ifOperStatus[a[2]] = $2 } - } - END { - up=0; - for (i in ifIndex ) { - if ( ifType[i] == 6 && ifAdminStatus[i] == 1 && ifOperStatus[i] == 1 && ifSpeed[i] == 1000000000 ) { - up=i; - } - } - if ( up == 0 ) { print "check link" ; exit 2 } - else { print ifDescr[up],"ok" } - }' - exit $? ; - fi -} - # Run all checks -# Disabled 'check_link' for now... for check in disks ; do msg=`check_${check}` ; if [ $? -eq 0 ] ; then http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check.j2 b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check.j2 index e659a5a..43be7bc 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-START/templates/health_check.j2 @@ -85,35 +85,7 @@ function check_jetty { fi } -function check_link { - snmp=/usr/bin/snmpwalk - if [ -e $snmp ] ; then - $snmp -t 5 -Oe -Oq -Os -v 1 -c public localhost if | \ - awk ' { - split($1,a,".") ; - if ( a[1] == "ifIndex" ) { ifIndex[a[2]] = $2 } - if ( a[1] == "ifDescr" ) { ifDescr[a[2]] = $2 } - if ( a[1] == "ifType" ) { ifType[a[2]] = $2 } - if ( a[1] == "ifSpeed" ) { ifSpeed[a[2]] = $2 } - if ( a[1] == "ifAdminStatus" ) { ifAdminStatus[a[2]] = $2 } - if ( a[1] == "ifOperStatus" ) { ifOperStatus[a[2]] = $2 } - } - END { - up=0; - for (i in ifIndex ) { - if ( ifType[i] == 6 && ifAdminStatus[i] == 1 && ifOperStatus[i] == 1 && ifSpeed[i] == 1000000000 ) { - up=i; - } - } - if ( up == 0 ) { print "check link" ; exit 2 } - else { print ifDescr[up],"ok" } - }' - exit $? ; - fi -} - # Run all checks -# Disabled 'check_link' for now... for check in disks taskcontroller jetty; do msg=`check_${check}` ; if [ $? -eq 0 ] ; then http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml index a90b33a..398e6e9 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml @@ -74,10 +74,6 @@ </package> <package> <type>rpm</type> - <name>perl-Net-SNMP</name> - </package> - <package> - <type>rpm</type> <name>nagios-plugins-1.4.9</name> </package> <package> http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/files/check_cpu.php ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/files/check_cpu.php b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/files/check_cpu.php new file mode 100755 index 0000000..0744e38 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/files/check_cpu.php @@ -0,0 +1,109 @@ +<?php +/* + * 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. + */ + + include "hdp_nagios_init.php"; + + $options = getopt ("h:p:w:c:k:r:t:u:e"); + if (!array_key_exists('h', $options) || !array_key_exists('p', $options) || !array_key_exists('w', $options) + || !array_key_exists('c', $options)) { + usage(); + exit(3); + } + + $hosts=$options['h']; + $port=$options['p']; + $warn=$options['w']; $warn = preg_replace('/%$/', '', $warn); + $crit=$options['c']; $crit = preg_replace('/%$/', '', $crit); + $keytab_path=$options['k']; + $principal_name=$options['r']; + $kinit_path_local=$options['t']; + $security_enabled=$options['u']; + $ssl_enabled=$options['e']; + + /* Kinit if security enabled */ + $status = kinit_if_needed($security_enabled, $kinit_path_local, $keytab_path, $principal_name); + $retcode = $status[0]; + $output = $status[1]; + + if ($output != 0) { + echo "CRITICAL: Error doing kinit for nagios. $output"; + exit (2); + } + + $protocol = ($ssl_enabled == "true" ? "https" : "http"); + + + foreach (preg_split('/,/', $hosts) as $host) { + /* Get the json document */ + + $ch = curl_init(); + $username = rtrim(`id -un`, "\n"); + curl_setopt_array($ch, array( CURLOPT_URL => $protocol."://".$host.":".$port."/jmx?qry=java.lang:type=OperatingSystem", + CURLOPT_RETURNTRANSFER => true, + CURLOPT_HTTPAUTH => CURLAUTH_ANY, + CURLOPT_USERPWD => "$username:", + CURLOPT_SSL_VERIFYPEER => FALSE )); + $json_string = curl_exec($ch); + $info = curl_getinfo($ch); + if (intval($info['http_code']) == 401){ + logout(); + $json_string = curl_exec($ch); + } + $info = curl_getinfo($ch); + curl_close($ch); + $json_array = json_decode($json_string, true); + + $object = $json_array['beans'][0]; + + if (count($object) == 0) { + echo "CRITICAL: Data inaccessible, Status code = ". $info['http_code'] ."\n"; + exit(2); + } + + $cpu_load = $object['SystemCpuLoad']; + + if (!isset($object['SystemCpuLoad']) || $cpu_load < 0.0) { + echo "WARNING: Data unavailable, SystemCpuLoad is not set\n"; + exit(1); + } + + $cpu_count = $object['AvailableProcessors']; + + $cpu_percent = $cpu_load*100; + } + + $out_msg = $cpu_count . " CPU, load " . number_format($cpu_percent, 1, '.', '') . '%'; + + if ($cpu_percent > $crit) { + echo $out_msg . ' > ' . $crit . "% : CRITICAL\n"; + exit(2); + } + if ($cpu_percent > $warn) { + echo $out_msg . ' > ' . $warn . "% : WARNING\n"; + exit(1); + } + + echo $out_msg . ' < ' . $warn . "% : OK\n"; + exit(0); + + /* print usage */ + function usage () { + echo "Usage: $0 -h <host> -p port -w <warn%> -c <crit%> -k keytab_path -r principal_name -t kinit_path -u security_enabled -e ssl_enabled\n"; + } +?> http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/functions.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/functions.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/functions.py index f997993..295f42a 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/functions.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/functions.py @@ -25,4 +25,29 @@ def get_port_from_url(address): if not is_empty(address): return address.split(':')[-1] else: - return address \ No newline at end of file + return address + +# Gets if the java version is greater than 6 +def is_jdk_greater_6(java64_home): + import os + import re + java_bin = os.path.join(java64_home, 'bin', 'java') + ver_check = shell.call([java_bin, '-version']) + + ver = '' + if 0 != ver_check[0]: + # java is not local, try the home name as a fallback + ver = java64_home + else: + ver = ver_check[1] + + regex = re.compile('"1\.([0-9]*)\.0_([0-9]*)"', re.IGNORECASE) + r = regex.search(ver) + if r: + strs = r.groups() + if 2 == len(strs): + minor = int(strs[0]) + if minor > 6: + return True + + return False http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py index 1f75057..4089b2e 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/nagios_server_config.py @@ -49,6 +49,7 @@ def nagios_server_config(): ) nagios_server_check( 'check_cpu.pl') + nagios_server_check( 'check_cpu.php') nagios_server_check( 'check_datanode_storage.php') nagios_server_check( 'check_aggregate.php') nagios_server_check( 'check_hdfs_blocks.php') http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py index ef034d1..3b713c6 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/scripts/params.py @@ -21,6 +21,7 @@ Ambari Agent """ from functions import get_port_from_url +from functions import is_jdk_greater_6 from resource_management import * import status_params @@ -65,7 +66,8 @@ flume_port = "4159" hive_metastore_port = config['configurations']['global']['hive_metastore_port'] #"9083" hive_server_port = "10000" templeton_port = config['configurations']['webhcat-site']['templeton.port'] #"50111" -hbase_rs_port = "60030" +hbase_master_port = config['configurations']['hbase-site']['hbase.master.info.port'] #"60010" +hbase_rs_port = config['configurations']['hbase-site']['hbase.regionserver.info.port'] #"60030" # this 4 is different for HDP2 jtnode_port = get_port_from_url(config['configurations']['mapred-site']['mapred.job.tracker.http.address']) @@ -79,6 +81,7 @@ clientPort = config['configurations']['global']['clientPort'] #ZK java64_home = config['hostLevelParams']['java_home'] +check_cpu_on = is_jdk_greater_6(java64_home) _authentication = config['configurations']['core-site']['hadoop.security.authentication'] security_enabled = ( not is_empty(_authentication) and _authentication == 'kerberos') http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 index 79f88f0..10250c8 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 @@ -38,11 +38,12 @@ # # -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} # 'check_cpu' check remote cpu load define command { command_name check_cpu - command_line $USER1$/check_wrapper.sh $USER1$/check_cpu.pl -H $HOSTADDRESS$ -C hadoop -w $ARG1$ -c $ARG2$ +# command_line $USER1$/check_wrapper.sh $USER1$/check_cpu.pl -H $HOSTADDRESS$ -C hadoop -w $ARG1$ -c $ARG2$ + command_line $USER1$/check_wrapper.sh php $USER1$/check_cpu.php -h $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -e $ARG4$ -k $ARG5$ -r $ARG6$ -t $ARG7$ -u $ARG8$ } {% endif %} http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-services.cfg.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-services.cfg.j2 b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-services.cfg.j2 index b45d110..80c64f1 100644 --- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-services.cfg.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/package/templates/hadoop-services.cfg.j2 @@ -250,13 +250,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { host_name {{ namenode_hostname }} use hadoop-service service_description NAMENODE::NameNode host CPU utilization on {{ namenode_hostname }} servicegroups HDFS - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ namenode_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -345,13 +346,14 @@ define service { retry_check_interval 1 max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { hostgroup_name jobtracker use hadoop-service service_description JOBTRACKER::JobTracker CPU utilization servicegroups MAPREDUCE - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ jtnode_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -433,13 +435,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { hostgroup_name resourcemanager use hadoop-service service_description RESOURCEMANAGER::ResourceManager CPU utilization servicegroups YARN - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ rm_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -517,13 +520,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { hostgroup_name historyserver2 use hadoop-service service_description JOBHISTORY::HistoryServer CPU utilization servicegroups MAPREDUCE - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ hs_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -637,14 +641,15 @@ define service { # retry_check_interval 1 # max_check_attempts 3 # #} -{% for hbasemaster in hbase_master_hosts %} -{% if env.system.os_family != "suse" %} +{% for hbasemaster in hbase_master_hosts %} +{% if check_cpu_on %} define service { host_name {{ hbasemaster }} use hadoop-service service_description HBASEMASTER::HBase Master CPU utilization on {{ hbasemaster }} servicegroups HBASE - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ hbase_master_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py index 0ae8b19..8affb55 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py @@ -163,11 +163,4 @@ def setup_java(): ) def install_packages(): - packages = {"redhat": ["net-snmp-utils", "net-snmp"], - "suse": ["net-snmp"], - "debian": ["snmp", "snmpd"], - "all": ["unzip", "curl"] - } - - Package(packages['all']) - Package(packages[System.get_instance().os_family]) + Package(['unzip', 'curl']) http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py index 979c628..a9c7474 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py @@ -32,7 +32,6 @@ class BeforeConfigureHook(Hook): setup_hadoop() setup_configs() create_javahome_symlink() - init_services() if __name__ == "__main__": BeforeConfigureHook().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py index 8b342f7..91c06f5 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py @@ -34,11 +34,6 @@ yarn_user = config['configurations']['global']['yarn_user'] user_group = config['configurations']['global']['user_group'] -#snmp -snmp_conf_dir = "/etc/snmp/" -snmp_source = "0.0.0.0/0" -snmp_community = "hadoop" - #hosts hostname = config["hostname"] rm_host = default("/clusterHostInfo/rm_host", []) http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py index f71b76c..b91b1a0 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py @@ -178,20 +178,3 @@ def create_javahome_symlink(): Execute("mkdir -p /usr/jdk64/") Execute("ln -s /usr/jdk/jdk1.6.0_31 /usr/jdk64/jdk1.6.0_31") -def init_services(): - import params - File(os.path.join(params.snmp_conf_dir, 'snmpd.conf'), - content=Template("snmpd.conf.j2")) - # enable snmpd - Execute( "service snmpd start", - ) - - if System.get_instance().os_family == "debian": - Execute( "update-rc.d snmpd defaults", - ) - else: - Execute( "chkconfig snmpd on", - ) - - - http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check-v2.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check-v2.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check-v2.j2 index 7382621..0a03d17 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check-v2.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check-v2.j2 @@ -58,35 +58,7 @@ function check_disks { } -function check_link { - snmp=/usr/bin/snmpwalk - if [ -e $snmp ] ; then - $snmp -t 5 -Oe -Oq -Os -v 1 -c public localhost if | \ - awk ' { - split($1,a,".") ; - if ( a[1] == "ifIndex" ) { ifIndex[a[2]] = $2 } - if ( a[1] == "ifDescr" ) { ifDescr[a[2]] = $2 } - if ( a[1] == "ifType" ) { ifType[a[2]] = $2 } - if ( a[1] == "ifSpeed" ) { ifSpeed[a[2]] = $2 } - if ( a[1] == "ifAdminStatus" ) { ifAdminStatus[a[2]] = $2 } - if ( a[1] == "ifOperStatus" ) { ifOperStatus[a[2]] = $2 } - } - END { - up=0; - for (i in ifIndex ) { - if ( ifType[i] == 6 && ifAdminStatus[i] == 1 && ifOperStatus[i] == 1 && ifSpeed[i] == 1000000000 ) { - up=i; - } - } - if ( up == 0 ) { print "check link" ; exit 2 } - else { print ifDescr[up],"ok" } - }' - exit $? ; - fi -} - # Run all checks -# Disabled 'check_link' for now... for check in disks ; do msg=`check_${check}` ; if [ $? -eq 0 ] ; then http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check.j2 index e659a5a..1e47a3c 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/health_check.j2 @@ -85,35 +85,8 @@ function check_jetty { fi } -function check_link { - snmp=/usr/bin/snmpwalk - if [ -e $snmp ] ; then - $snmp -t 5 -Oe -Oq -Os -v 1 -c public localhost if | \ - awk ' { - split($1,a,".") ; - if ( a[1] == "ifIndex" ) { ifIndex[a[2]] = $2 } - if ( a[1] == "ifDescr" ) { ifDescr[a[2]] = $2 } - if ( a[1] == "ifType" ) { ifType[a[2]] = $2 } - if ( a[1] == "ifSpeed" ) { ifSpeed[a[2]] = $2 } - if ( a[1] == "ifAdminStatus" ) { ifAdminStatus[a[2]] = $2 } - if ( a[1] == "ifOperStatus" ) { ifOperStatus[a[2]] = $2 } - } - END { - up=0; - for (i in ifIndex ) { - if ( ifType[i] == 6 && ifAdminStatus[i] == 1 && ifOperStatus[i] == 1 && ifSpeed[i] == 1000000000 ) { - up=i; - } - } - if ( up == 0 ) { print "check link" ; exit 2 } - else { print ifDescr[up],"ok" } - }' - exit $? ; - fi -} # Run all checks -# Disabled 'check_link' for now... for check in disks taskcontroller jetty; do msg=`check_${check}` ; if [ $? -eq 0 ] ; then http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml index da06b24..62b7372 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml @@ -88,10 +88,6 @@ </package> <package> <type>rpm</type> - <name>perl-Net-SNMP</name> - </package> - <package> - <type>rpm</type> <name>nagios-plugins-1.4.9</name> </package> <package> http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/files/check_cpu.php ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/files/check_cpu.php b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/files/check_cpu.php new file mode 100755 index 0000000..0744e38 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/files/check_cpu.php @@ -0,0 +1,109 @@ +<?php +/* + * 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. + */ + + include "hdp_nagios_init.php"; + + $options = getopt ("h:p:w:c:k:r:t:u:e"); + if (!array_key_exists('h', $options) || !array_key_exists('p', $options) || !array_key_exists('w', $options) + || !array_key_exists('c', $options)) { + usage(); + exit(3); + } + + $hosts=$options['h']; + $port=$options['p']; + $warn=$options['w']; $warn = preg_replace('/%$/', '', $warn); + $crit=$options['c']; $crit = preg_replace('/%$/', '', $crit); + $keytab_path=$options['k']; + $principal_name=$options['r']; + $kinit_path_local=$options['t']; + $security_enabled=$options['u']; + $ssl_enabled=$options['e']; + + /* Kinit if security enabled */ + $status = kinit_if_needed($security_enabled, $kinit_path_local, $keytab_path, $principal_name); + $retcode = $status[0]; + $output = $status[1]; + + if ($output != 0) { + echo "CRITICAL: Error doing kinit for nagios. $output"; + exit (2); + } + + $protocol = ($ssl_enabled == "true" ? "https" : "http"); + + + foreach (preg_split('/,/', $hosts) as $host) { + /* Get the json document */ + + $ch = curl_init(); + $username = rtrim(`id -un`, "\n"); + curl_setopt_array($ch, array( CURLOPT_URL => $protocol."://".$host.":".$port."/jmx?qry=java.lang:type=OperatingSystem", + CURLOPT_RETURNTRANSFER => true, + CURLOPT_HTTPAUTH => CURLAUTH_ANY, + CURLOPT_USERPWD => "$username:", + CURLOPT_SSL_VERIFYPEER => FALSE )); + $json_string = curl_exec($ch); + $info = curl_getinfo($ch); + if (intval($info['http_code']) == 401){ + logout(); + $json_string = curl_exec($ch); + } + $info = curl_getinfo($ch); + curl_close($ch); + $json_array = json_decode($json_string, true); + + $object = $json_array['beans'][0]; + + if (count($object) == 0) { + echo "CRITICAL: Data inaccessible, Status code = ". $info['http_code'] ."\n"; + exit(2); + } + + $cpu_load = $object['SystemCpuLoad']; + + if (!isset($object['SystemCpuLoad']) || $cpu_load < 0.0) { + echo "WARNING: Data unavailable, SystemCpuLoad is not set\n"; + exit(1); + } + + $cpu_count = $object['AvailableProcessors']; + + $cpu_percent = $cpu_load*100; + } + + $out_msg = $cpu_count . " CPU, load " . number_format($cpu_percent, 1, '.', '') . '%'; + + if ($cpu_percent > $crit) { + echo $out_msg . ' > ' . $crit . "% : CRITICAL\n"; + exit(2); + } + if ($cpu_percent > $warn) { + echo $out_msg . ' > ' . $warn . "% : WARNING\n"; + exit(1); + } + + echo $out_msg . ' < ' . $warn . "% : OK\n"; + exit(0); + + /* print usage */ + function usage () { + echo "Usage: $0 -h <host> -p port -w <warn%> -c <crit%> -k keytab_path -r principal_name -t kinit_path -u security_enabled -e ssl_enabled\n"; + } +?> http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/functions.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/functions.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/functions.py index f997993..295f42a 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/functions.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/functions.py @@ -25,4 +25,29 @@ def get_port_from_url(address): if not is_empty(address): return address.split(':')[-1] else: - return address \ No newline at end of file + return address + +# Gets if the java version is greater than 6 +def is_jdk_greater_6(java64_home): + import os + import re + java_bin = os.path.join(java64_home, 'bin', 'java') + ver_check = shell.call([java_bin, '-version']) + + ver = '' + if 0 != ver_check[0]: + # java is not local, try the home name as a fallback + ver = java64_home + else: + ver = ver_check[1] + + regex = re.compile('"1\.([0-9]*)\.0_([0-9]*)"', re.IGNORECASE) + r = regex.search(ver) + if r: + strs = r.groups() + if 2 == len(strs): + minor = int(strs[0]) + if minor > 6: + return True + + return False http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py index 1f75057..4089b2e 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/nagios_server_config.py @@ -49,6 +49,7 @@ def nagios_server_config(): ) nagios_server_check( 'check_cpu.pl') + nagios_server_check( 'check_cpu.php') nagios_server_check( 'check_datanode_storage.php') nagios_server_check( 'check_aggregate.php') nagios_server_check( 'check_hdfs_blocks.php') http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py index e8f0150..2e41c23 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/scripts/params.py @@ -21,6 +21,7 @@ Ambari Agent """ from functions import get_port_from_url +from functions import is_jdk_greater_6 from resource_management import * import status_params @@ -65,7 +66,8 @@ flume_port = "4159" hive_metastore_port = config['configurations']['global']['hive_metastore_port'] #"9083" hive_server_port = "10000" templeton_port = config['configurations']['webhcat-site']['templeton.port'] #"50111" -hbase_rs_port = "60030" +hbase_master_port = config['configurations']['hbase-site']['hbase.master.info.port'] #"60010" +hbase_rs_port = config['configurations']['hbase-site']['hbase.regionserver.info.port'] #"60030" storm_ui_port = config['configurations']['storm-site']['ui.port'] drpc_port = config['configurations']['storm-site']['drpc.port'] nimbus_port = config['configurations']['storm-site']['nimbus.thrift.port'] @@ -80,6 +82,7 @@ clientPort = config['configurations']['global']['clientPort'] #ZK java64_home = config['hostLevelParams']['java_home'] +check_cpu_on = is_jdk_greater_6(java64_home) _authentication = config['configurations']['core-site']['hadoop.security.authentication'] security_enabled = ( not is_empty(_authentication) and _authentication == 'kerberos') http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 index da37d73..ff03bf9 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-commands.cfg.j2 @@ -38,11 +38,12 @@ # # -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} # 'check_cpu' check remote cpu load define command { command_name check_cpu - command_line $USER1$/check_wrapper.sh $USER1$/check_cpu.pl -H $HOSTADDRESS$ -C hadoop -w $ARG1$ -c $ARG2$ +# command_line $USER1$/check_wrapper.sh $USER1$/check_cpu.pl -H $HOSTADDRESS$ -C hadoop -w $ARG1$ -c $ARG2$ + command_line $USER1$/check_wrapper.sh php $USER1$/check_cpu.php -h $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -e $ARG4$ -k $ARG5$ -r $ARG6$ -t $ARG7$ -u $ARG8$ } {% endif %} @@ -74,7 +75,7 @@ define command{ define command{ command_name check_nagios - command_line $USER1$/check_nagios -e $ARG1$ -F $ARG2$ -C $ARG3$ + command_line $USER1$/check_wrapper.sh $USER1$/check_nagios -e $ARG1$ -F $ARG2$ -C $ARG3$ } define command{ http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-services.cfg.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-services.cfg.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-services.cfg.j2 index b77e77b..e7fda1a 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-services.cfg.j2 +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/package/templates/hadoop-services.cfg.j2 @@ -360,13 +360,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { host_name {{ namenode_hostname }} use hadoop-service service_description NAMENODE::NameNode host CPU utilization on {{ namenode_hostname }} servicegroups HDFS - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ namenode_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -448,13 +449,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { hostgroup_name resourcemanager use hadoop-service service_description RESOURCEMANAGER::ResourceManager CPU utilization servicegroups YARN - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ rm_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -532,13 +534,14 @@ define service { max_check_attempts 3 } -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { hostgroup_name historyserver2 use hadoop-service service_description JOBHISTORY::HistoryServer CPU utilization servicegroups MAPREDUCE - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ hs_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 @@ -676,13 +679,14 @@ define service { # max_check_attempts 3 # #} {% for hbasemaster in hbase_master_hosts %} -{% if env.system.os_family != "suse" %} +{% if check_cpu_on %} define service { host_name {{ hbasemaster }} use hadoop-service service_description HBASEMASTER::HBase Master CPU utilization on {{ hbasemaster }} servicegroups HBASE - check_command check_cpu!200%!250% +# check_command check_cpu!200%!250% + check_command check_cpu!{{ hbase_master_port }}!200%!250%!{{ str(hadoop_ssl_enabled).lower() }}!{{ nagios_keytab_path }}!{{ nagios_principal_name }}!{{ kinit_path_local }}!{{ str(security_enabled).lower() }} normal_check_interval 5 retry_check_interval 2 max_check_attempts 5 http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py b/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py index 547e3d9..a71e74f 100644 --- a/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py +++ b/ambari-server/src/test/python/stacks/1.3.2/NAGIOS/test_nagios_server.py @@ -161,6 +161,10 @@ class TestNagiosServer(RMFTestCase): content=StaticFile('check_cpu.pl'), mode=0755 ) + self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_cpu.php', + content=StaticFile('check_cpu.php'), + mode=0755 + ) self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_datanode_storage.php', content=StaticFile('check_datanode_storage.php'), http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/1.3.2/hooks/before-INSTALL/test_before_install.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/1.3.2/hooks/before-INSTALL/test_before_install.py b/ambari-server/src/test/python/stacks/1.3.2/hooks/before-INSTALL/test_before_install.py index fb1c134..0215ba2 100644 --- a/ambari-server/src/test/python/stacks/1.3.2/hooks/before-INSTALL/test_before_install.py +++ b/ambari-server/src/test/python/stacks/1.3.2/hooks/before-INSTALL/test_before_install.py @@ -104,5 +104,4 @@ class TestHookBeforeInstall(RMFTestCase): gid = 'hadoop', ) self.assertResourceCalled('Package', 'unzip',) - self.assertResourceCalled('Package', 'net-snmp',) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py b/ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py index 35061f7..09d277d 100644 --- a/ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py +++ b/ambari-server/src/test/python/stacks/1.3.2/hooks/before-START/test_before_start.py @@ -87,12 +87,6 @@ class TestHookBeforeStart(RMFTestCase): owner = 'hdfs', group = 'hadoop', ) - self.assertResourceCalled('File', '/etc/snmp/snmpd.conf', - content = Template('snmpd.conf.j2'), - ) - self.assertResourceCalled('Execute', 'service snmpd start; chkconfig snmpd on', - path = ['/usr/local/bin/:/bin/:/sbin/'], - ) self.assertNoMoreResources() def test_hook_secured(self, mockHook): @@ -153,10 +147,4 @@ class TestHookBeforeStart(RMFTestCase): owner = 'hdfs', group = 'hadoop', ) - self.assertResourceCalled('File', '/etc/snmp/snmpd.conf', - content = Template('snmpd.conf.j2'), - ) - self.assertResourceCalled('Execute', 'service snmpd start; chkconfig snmpd on', - path = ['/usr/local/bin/:/bin/:/sbin/'], - ) - self.assertNoMoreResources() \ No newline at end of file + self.assertNoMoreResources() http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py b/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py index 0839995..145b443 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py +++ b/ambari-server/src/test/python/stacks/2.0.6/NAGIOS/test_nagios_server.py @@ -160,6 +160,10 @@ class TestNagiosServer(RMFTestCase): content=StaticFile('check_cpu.pl'), mode=0755 ) + self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_cpu.php', + content=StaticFile('check_cpu.php'), + mode=0755 + ) self.assertResourceCalled('File', '/usr/lib64/nagios/plugins/check_datanode_storage.php', content=StaticFile('check_datanode_storage.php'), http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/2.0.6/hooks/before-INSTALL/test_before_install.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-INSTALL/test_before_install.py b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-INSTALL/test_before_install.py index 0c1babd..60c9704 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-INSTALL/test_before_install.py +++ b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-INSTALL/test_before_install.py @@ -30,7 +30,6 @@ class TestHookBeforeInstall(RMFTestCase): ) self.assertResourceCalled('Package', 'unzip', ) self.assertResourceCalled('Package', 'curl', ) - self.assertResourceCalled('Package', 'net-snmp', ) self.assertResourceCalled('Execute', 'mkdir -p /tmp/HDP-artifacts/ ; curl -kf --retry 10 http://c6401.ambari.apache.org:8080/resources//jdk-7u45-linux-x64.tar.gz -o /tmp/HDP-artifacts//jdk-7u45-linux-x64.tar.gz', not_if = 'test -e /usr/jdk64/jdk1.7.0_45/bin/java', http://git-wip-us.apache.org/repos/asf/ambari/blob/4481ac24/ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py index c49bb53..e57a53c 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py +++ b/ambari-server/src/test/python/stacks/2.0.6/hooks/before-START/test_before_start.py @@ -96,13 +96,6 @@ class TestHookBeforeStart(RMFTestCase): owner = 'hdfs', group = 'hadoop', ) - self.assertResourceCalled('File', '/etc/snmp/snmpd.conf', - content = Template('snmpd.conf.j2'), - ) - self.assertResourceCalled('Execute', 'service snmpd start', - ) - self.assertResourceCalled('Execute', 'chkconfig snmpd on', - ) self.assertNoMoreResources() def test_hook_secured(self): @@ -178,11 +171,4 @@ class TestHookBeforeStart(RMFTestCase): owner = 'hdfs', group = 'hadoop', ) - self.assertResourceCalled('File', '/etc/snmp/snmpd.conf', - content = Template('snmpd.conf.j2'), - ) - self.assertResourceCalled('Execute', 'service snmpd start', - ) - self.assertResourceCalled('Execute', 'chkconfig snmpd on', - ) self.assertNoMoreResources()
