<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Custom ambari alerts error &amp;quot;test_alert_disk_space.py&amp;quot; in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190167#M73551</link>
    <description>&lt;P&gt;
	Sorry to come to this party so late, but the script as presented at&lt;/P&gt;&lt;P&gt;
	&lt;A href="https://community.hortonworks.com/articles/38149/how-to-create-and-register-custom-ambari-alerts.html" target="_blank"&gt;https://community.hortonworks.com/articles/38149/how-to-create-and-register-custom-ambari-alerts.html&lt;/A&gt; doesn't work on CentOS7 + Python 2.7 + Ambari 2.6.2.2.  I can write a mean bash script, but I'm not a Python coder.  In spite of my deficiencies, I got things working.&lt;/P&gt;&lt;P&gt;
	As Dmitro implies, the script by default tries to asses utilization of &lt;EM&gt;all &lt;/EM&gt;mounts, not just mounted block devices - and when you're looking at shared memory or proc objects and similar, that quickly becomes problematic.  The solution posted here - a custom list of mount points - works, but isn't flexible.  Without extensive rewriting of the script, it would be better to just strip out things like '/sys', '/proc', '/dev', and '/run'.  We also need to strip out net_prio and cpuacct.  &lt;/P&gt;&lt;P&gt;
	So, with the understanding that there's almost certainly a better way to do this, I changed:&lt;/P&gt;&lt;PRE&gt;	print "mountPoints = " + mountPoints
	
	  mountPointsList = mountPoints.split(",")
	  print  mountPointsList
	  for l in mountPointsList:&lt;/PRE&gt;&lt;P&gt;to:&lt;/P&gt;&lt;PRE&gt;	print "mountPoints = " + mountPoints
	
	  mountPointsList = mountPoints.split(",")
	
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('net_pri')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('cpuacc')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/sys')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/proc')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/run')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/dev')]
	
	  print  mountPointsList
	  for l in mountPointsList:&lt;/PRE&gt;&lt;P&gt;And it works.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;It's perhaps also worth noting that to get the script to run from the command line, you'll need to link several library directory structures, similar to:&lt;/P&gt;&lt;PRE&gt;ln -s /usr/lib/ambari-server/lib/resource_management /usr/lib/python2.7/site-packages/
ln -s /usr/lib/ambari-server/lib/ambari_commons /usr/lib/python2.7/site-packages/
ln -s /usr/lib/ambari-server/lib/ambari_simplejson /usr/lib/python2.7/site-packages/&lt;/PRE&gt;&lt;P&gt;After that, you can do like so:&lt;/P&gt;&lt;PRE&gt;# python test_alert_disk_space.py
mountPoints = ,/sys,/proc,/dev,/sys/kernel/security,/dev/shm,/dev/pts,/run,/sys/fs/cgroup,/sys/fs/cgroup/systemd,/sys/fs/pstore,/sys/fs/cgroup/cpu,cpuacct,/sys/fs/cgroup/net_cls,net_prio,/sys/fs/cgroup/hugetlb,/sys/fs/cgroup/blkio,/sys/fs/cgroup/devices,/sys/fs/cgroup/perf_event,/sys/fs/cgroup/freezer,/sys/fs/cgroup/cpuset,/sys/fs/cgroup/memory,/sys/fs/cgroup/pids,/sys/kernel/config,/,/sys/fs/selinux,/proc/sys/fs/binfmt_misc,/dev/mqueue,/sys/kernel/debug,/dev/hugepages,/data,/boot,/proc/sys/fs/binfmt_misc,/run/user/1000,/run/user/0
['', '/', '/data', '/boot']
---------- l :
FINAL finalResultCode  CODE .....
---------- l : /
/
disk_usage.total
93365735424
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
---------- l : /data
/data
disk_usage.total
1063256064
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
---------- l : /boot
/boot
disk_usage.total
1063256064
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
&lt;/PRE&gt;</description>
    <pubDate>Thu, 11 Oct 2018 01:20:49 GMT</pubDate>
    <dc:creator>jarnold</dc:creator>
    <dc:date>2018-10-11T01:20:49Z</dc:date>
    <item>
      <title>Custom ambari alerts error "test_alert_disk_space.py"</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190163#M73547</link>
      <description>&lt;P&gt;How to limit mount point or resolve error : OSError: [Errno 2] No such file or directory: 'net_prio'  ?&lt;/P&gt;&lt;P&gt;Ambari Version 2.5.0.3 (HDP-2.6.3.0)&lt;/P&gt;&lt;PRE&gt;[root@serv03 host_scripts]# python test_alert_disk_space.py
mountPoints = ,/sys,/proc,/dev,/sys/kernel/security,/dev/shm,/dev/pts,/run,/sys/fs/cgroup,/sys/fs/cgroup/systemd,/sys/fs/pstore,/sys/fs/cgroup/pids,/sys/fs/cgroup/net_cls,net_prio,/sys/fs/cgroup/perf_event,/sys/fs/cgroup/cpu,cpuacct,/sys/fs/cgroup/devices,/sys/fs/cgroup/hugetlb,/sys/fs/cgroup/blkio,/sys/fs/cgroup/memory,/sys/fs/cgroup/cpuset,/sys/fs/cgroup/freezer,/sys/kernel/config,/,/usr,/proc/sys/fs/binfmt_misc,/dev/mqueue,/sys/kernel/debug,/dev/hugepages,/hadoop,/var,/var/lib,/home,/boot,/proc/sys/fs/binfmt_misc,/run/user/1015,/run/user/1012,/run/user/1031,/run/user/0,/run/user/1029,/run/user/1010,/run/user/1037,/run/user/1013,/run/user/1018,/run/user/1040,/run/user/1022,/run/user/1039
['', '/sys', '/proc', '/dev', '/sys/kernel/security', '/dev/shm', '/dev/pts', '/run', '/sys/fs/cgroup', '/sys/fs/cgroup/systemd', '/sys/fs/pstore', '/sys/fs/cgroup/pids', '/sys/fs/cgroup/net_cls', 'net_prio', '/sys/fs/cgroup/perf_event', '/sys/fs/cgroup/cpu', 'cpuacct', '/sys/fs/cgroup/devices', '/sys/fs/cgroup/hugetlb', '/sys/fs/cgroup/blkio', '/sys/fs/cgroup/memory', '/sys/fs/cgroup/cpuset', '/sys/fs/cgroup/freezer', '/sys/kernel/config', '/', '/usr', '/proc/sys/fs/binfmt_misc', '/dev/mqueue', '/sys/kernel/debug', '/dev/hugepages', '/hadoop', '/var', '/var/lib', '/home', '/boot', '/proc/sys/fs/binfmt_misc', '/run/user/1015', '/run/user/1012', '/run/user/1031', '/run/user/0', '/run/user/1029', '/run/user/1010', '/run/user/1037', '/run/user/1013', '/run/user/1018', '/run/user/1040', '/run/user/1022', '/run/user/1039']
---------- l :
FINAL finalResultCode  CODE .....
---------- l : /sys
/sys
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /proc
/proc
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /dev
/dev
disk_usage.total
134933655552
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/kernel/security
/sys/kernel/security
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /dev/shm
/dev/shm
disk_usage.total
134944870400
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /dev/pts
/dev/pts
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /run
/run
disk_usage.total
134944870400
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/fs/cgroup
/sys/fs/cgroup
disk_usage.total
134944870400
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/fs/cgroup/systemd
/sys/fs/cgroup/systemd
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/fs/pstore
/sys/fs/pstore
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/fs/cgroup/pids
/sys/fs/cgroup/pids
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : /sys/fs/cgroup/net_cls
/sys/fs/cgroup/net_cls
disk_usage.total = 0
=&amp;gt;WARNING
FINAL finalResultCode  CODE .....WARNING
---------- l : net_prio
net_prio
Traceback (most recent call last):
  File "test_alert_disk_space.py", line 241, in &amp;lt;module&amp;gt;
    execute()
  File "/usr/lib/python2.6/site-packages/ambari_commons/os_family_impl.py", line 89, in thunk
    return fn(*args, **kwargs)
  File "test_alert_disk_space.py", line 90, in execute
    disk_usage = _get_disk_usage(mountPath)
  File "/usr/lib/python2.6/site-packages/ambari_commons/os_family_impl.py", line 89, in thunk
    return fn(*args, **kwargs)
  File "test_alert_disk_space.py", line 179, in _get_disk_usage
    disk_stats = os.statvfs(path)
OSError: [Errno 2] No such file or directory: 'net_prio'
[root@serv03 host_scripts]#
 
&lt;/PRE&gt;</description>
      <pubDate>Tue, 16 Jan 2018 15:17:36 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190163#M73547</guid>
      <dc:creator>Kyivstar</dc:creator>
      <dc:date>2018-01-16T15:17:36Z</dc:date>
    </item>
    <item>
      <title>Re: Custom ambari alerts error "test_alert_disk_space.py"</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190164#M73548</link>
      <description>&lt;A rel="user" href="https://community.cloudera.com/users/14716/dbca.html" nodeid="14716"&gt;@Dmitro Vasilenko&lt;/A&gt;&lt;P&gt;Did you get chance to check these URL's?&lt;/P&gt;&lt;P&gt;&lt;A href="https://discuss.pivotal.io/hc/en-us/articles/217537028-How-to-update-thresholds-for-the-Ambari-alert-Ambari-Agent-Disk-Usage-" target="_blank"&gt;https://discuss.pivotal.io/hc/en-us/articles/217537028-How-to-update-thresholds-for-the-Ambari-alert-Ambari-Agent-Disk-Usage-&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.hortonworks.com/articles/27763/how-to-change-ambari-alert-threshold-values-for-di.html" target="_blank"&gt;https://community.hortonworks.com/articles/27763/how-to-change-ambari-alert-threshold-values-for-di.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2018 04:34:38 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190164#M73548</guid>
      <dc:creator>bandarusridhar1</dc:creator>
      <dc:date>2018-01-17T04:34:38Z</dc:date>
    </item>
    <item>
      <title>Re: Custom ambari alerts error "test_alert_disk_space.py"</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190165#M73549</link>
      <description>&lt;P&gt;We need monitoring not only :&lt;/P&gt;&lt;P&gt; STACK_HOME_DIR = "/usr/hdp"    or   STACK_HOME_LEGACY_DIR = "/usr/lib"&lt;/P&gt;&lt;P&gt;but and another directories on all nodes cluster.&lt;/P&gt;&lt;P&gt;In Ambari I see same errors :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="51400-ambari-custom-host-mount-point-usage.png" style="width: 1920px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/18521i2227C3F170EF4937/image-size/medium?v=v2&amp;amp;px=400" role="button" title="51400-ambari-custom-host-mount-point-usage.png" alt="51400-ambari-custom-host-mount-point-usage.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 18 Aug 2019 07:38:31 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190165#M73549</guid>
      <dc:creator>Kyivstar</dc:creator>
      <dc:date>2019-08-18T07:38:31Z</dc:date>
    </item>
    <item>
      <title>Re: Custom ambari alerts error "test_alert_disk_space.py"</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190166#M73550</link>
      <description>&lt;P&gt;Working after add in test_alert_disk_space.py  next lines :&lt;/P&gt;&lt;PRE&gt;custom_mount_point = ['/usr','/hadoop','/var','/var/lib','/home','/boot']
# for l in mountPointsList:
  for l in custom_mount_point:
        print "---------- l : " + l
        if  l:

&lt;/PRE&gt;</description>
      <pubDate>Thu, 18 Jan 2018 20:56:34 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190166#M73550</guid>
      <dc:creator>Kyivstar</dc:creator>
      <dc:date>2018-01-18T20:56:34Z</dc:date>
    </item>
    <item>
      <title>Re: Custom ambari alerts error "test_alert_disk_space.py"</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190167#M73551</link>
      <description>&lt;P&gt;
	Sorry to come to this party so late, but the script as presented at&lt;/P&gt;&lt;P&gt;
	&lt;A href="https://community.hortonworks.com/articles/38149/how-to-create-and-register-custom-ambari-alerts.html" target="_blank"&gt;https://community.hortonworks.com/articles/38149/how-to-create-and-register-custom-ambari-alerts.html&lt;/A&gt; doesn't work on CentOS7 + Python 2.7 + Ambari 2.6.2.2.  I can write a mean bash script, but I'm not a Python coder.  In spite of my deficiencies, I got things working.&lt;/P&gt;&lt;P&gt;
	As Dmitro implies, the script by default tries to asses utilization of &lt;EM&gt;all &lt;/EM&gt;mounts, not just mounted block devices - and when you're looking at shared memory or proc objects and similar, that quickly becomes problematic.  The solution posted here - a custom list of mount points - works, but isn't flexible.  Without extensive rewriting of the script, it would be better to just strip out things like '/sys', '/proc', '/dev', and '/run'.  We also need to strip out net_prio and cpuacct.  &lt;/P&gt;&lt;P&gt;
	So, with the understanding that there's almost certainly a better way to do this, I changed:&lt;/P&gt;&lt;PRE&gt;	print "mountPoints = " + mountPoints
	
	  mountPointsList = mountPoints.split(",")
	  print  mountPointsList
	  for l in mountPointsList:&lt;/PRE&gt;&lt;P&gt;to:&lt;/P&gt;&lt;PRE&gt;	print "mountPoints = " + mountPoints
	
	  mountPointsList = mountPoints.split(",")
	
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('net_pri')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('cpuacc')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/sys')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/proc')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/run')]
	  mountPointsList = [ x for x in mountPointsList if not x.startswith('/dev')]
	
	  print  mountPointsList
	  for l in mountPointsList:&lt;/PRE&gt;&lt;P&gt;And it works.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;It's perhaps also worth noting that to get the script to run from the command line, you'll need to link several library directory structures, similar to:&lt;/P&gt;&lt;PRE&gt;ln -s /usr/lib/ambari-server/lib/resource_management /usr/lib/python2.7/site-packages/
ln -s /usr/lib/ambari-server/lib/ambari_commons /usr/lib/python2.7/site-packages/
ln -s /usr/lib/ambari-server/lib/ambari_simplejson /usr/lib/python2.7/site-packages/&lt;/PRE&gt;&lt;P&gt;After that, you can do like so:&lt;/P&gt;&lt;PRE&gt;# python test_alert_disk_space.py
mountPoints = ,/sys,/proc,/dev,/sys/kernel/security,/dev/shm,/dev/pts,/run,/sys/fs/cgroup,/sys/fs/cgroup/systemd,/sys/fs/pstore,/sys/fs/cgroup/cpu,cpuacct,/sys/fs/cgroup/net_cls,net_prio,/sys/fs/cgroup/hugetlb,/sys/fs/cgroup/blkio,/sys/fs/cgroup/devices,/sys/fs/cgroup/perf_event,/sys/fs/cgroup/freezer,/sys/fs/cgroup/cpuset,/sys/fs/cgroup/memory,/sys/fs/cgroup/pids,/sys/kernel/config,/,/sys/fs/selinux,/proc/sys/fs/binfmt_misc,/dev/mqueue,/sys/kernel/debug,/dev/hugepages,/data,/boot,/proc/sys/fs/binfmt_misc,/run/user/1000,/run/user/0
['', '/', '/data', '/boot']
---------- l :
FINAL finalResultCode  CODE .....
---------- l : /
/
disk_usage.total
93365735424
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
---------- l : /data
/data
disk_usage.total
1063256064
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
---------- l : /boot
/boot
disk_usage.total
1063256064
=&amp;gt;OK
FINAL finalResultCode  CODE .....OK
&lt;/PRE&gt;</description>
      <pubDate>Thu, 11 Oct 2018 01:20:49 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Custom-ambari-alerts-error-quot-test-alert-disk-space-py/m-p/190167#M73551</guid>
      <dc:creator>jarnold</dc:creator>
      <dc:date>2018-10-11T01:20:49Z</dc:date>
    </item>
  </channel>
</rss>

