<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LiveAverage &#187; Infrastructure Management</title>
	<atom:link href="http://liveaverage.com/category/features/infrastructure-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://liveaverage.com</link>
	<description>I can&#039;t afford to live any other way.</description>
	<lastBuildDate>Tue, 08 May 2012 21:40:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Nagios Plugin: Windows Server DHCP Scopes Usage Monitoring</title>
		<link>http://liveaverage.com/news/nagios-plugin-windows-server-dhcp-scopes-usage-monitoring/</link>
		<comments>http://liveaverage.com/news/nagios-plugin-windows-server-dhcp-scopes-usage-monitoring/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 16:03:59 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Infrastructure Management]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://liveaverage.com/?p=460</guid>
		<description><![CDATA[<p>I&#8217;ve stumbled on a <a title="Link to original check_dhcp_pool plug-in from Lars Michelsen" href="http://nagios.larsmichelsen.com/check_dhcp_pool/" target="_blank">useful plug-in from Lars Michelsen</a> that easily monitors a single Windows Server DHCP scope for usage using SNMPv2, but found this fell short of what I needed for monitoring several scopes at once. I&#8217;ve modified Lars&#8217; original plugin/script to accommodate all [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve stumbled on a <a title="Link to original check_dhcp_pool plug-in from Lars Michelsen" href="http://nagios.larsmichelsen.com/check_dhcp_pool/" target="_blank">useful plug-in from Lars Michelsen</a> that easily monitors a single Windows Server DHCP scope for usage using SNMPv2, but found this fell short of what I needed for monitoring several scopes at once. I&#8217;ve modified Lars&#8217; original plugin/script to accommodate all available DHCP scopes on your monitored Windows server. You no longer need to add separate service definitions to monitor all available scopes. It&#8217;s worth noting a couple of important details:</p>
<ul>
<li>Nagios 3.x or above is <strong>required</strong> for the multi-line output generated by this command.</li>
<li>This service check will alarm if<strong> any</strong> scope is nearing the critical or warning threshold(s) specified command call.</li>
<ul>
<li>If you require per-scope or per-pool alarm configuration, you should use the original plugin created by Lars Michelsen.</li>
</ul>
<li>Performance Data has been commented out, but is available if you&#8217;d like to add it.</li>
<li>Scopes that exist but are not in use (e.g. scopes exclusively used for reservations) are left out of this check. There is a conditional statement commented below that can report these scopes as being available, but with zero (0) free or used addresses, equaling zero (0) MAX available amount of addresses. This information isn&#8217;t really relevant, so I omitted it from being returned; however,  there is a count returned of configured and shown scopes (located at the bottom).</li>
</ul>
<p>Feel free to use, reuse, or modify the script the suit your needs. There are other, similar plugins to accomplish the same thing, but most of these rely on NRPE, NSClient++, and netsh.</p>
<pre class="brush: bash; title: ; notranslate">
#! /bin/bash
# ##############################################################################
# check_dhcp_all_pools.sh - Nagios plugin
#
# This script querys a MS Windows DHCP-Server via SNMP v2 to fetch information about ALL available DHCP-Pools.
#
# Copyright (C) 2006, 2007 Lars Michelsen &lt;lars@vertical-visions.de&gt;,
# Modified 2012 by JRM
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
#
# GNU General Public License: http://www.gnu.org/licenses/gpl-2.0.txt
#
# Report bugs to: lars@vertical-visions.de
#
# 2006-07-05 Version 0.2
# 2007-10-27 Version 0.3
#
# ##############################################################################

if [ $# -lt 2 ]; then
echo &quot;check_dhcp_all_pools&quot;
echo &quot;Usage: $0 &lt;host&gt; &lt;community&gt; [&lt;warn=10&gt;] [&lt;crit=5&gt;]&quot;
exit 3
fi

IP=&quot;$1&quot;
COMMUNITY=&quot;$2&quot;
WARN=&quot;$4&quot;
CRIT=&quot;$5&quot;
RET=0
RETW=0
RETC=0
STAT=( )
i=0

if [ ${#WARN} -lt 1 ]
then
WARN=10
fi

if [ ${#CRIT} -lt 1 ]
then
CRIT=5
fi

#Get the list of all scopes/subnets from the server:
TEMP=($( snmpwalk -c $COMMUNITY $IP .1.3.6.1.4.1.311.1.3.2.1.1.1 | cut -d &quot; &quot; -f4 ))

#Traverse array and get usage information per scope:
for i  in ${!TEMP[*]};do

POOL=${TEMP[$i]}

FREEOID=&quot;.1.3.6.1.4.1.311.1.3.2.1.1.3.$POOL&quot;
USEDOID=&quot;.1.3.6.1.4.1.311.1.3.2.1.1.2.$POOL&quot;

SNMP_RESULT=`snmpget -v 2c -c $COMMUNITY $IP $FREEOID`
FREE=`echo $SNMP_RESULT|cut -d &quot; &quot; -f4`

SNMP_RESULT=`snmpget -v 2c -c $COMMUNITY $IP $USEDOID`
USED=`echo $SNMP_RESULT|cut -d &quot; &quot; -f4`

MAX=`echo &quot;$FREE+$USED&quot; |bc`

if [ &quot;$MAX&quot; -ne 0 ]; then

PERCFREE=`echo &quot;$FREE*100/$MAX&quot; |bc`
PERCUSED=`echo &quot;$USED*100/$MAX&quot; |bc`

#DEBUG: echo &quot;FREE: $FREE USED: $USED MAX: $MAX PERC: $PERCFREE,$PERCUSED&quot;

if [ &quot;$FREE&quot; -le &quot;$WARN&quot; -a &quot;$FREE&quot; -gt &quot;$CRIT&quot; ]; then
STAT=( &quot;${STAT[@]}&quot; &quot;Warning:\t$POOL - $PERCFREE free&quot; )
RETW+=1
elif [ &quot;$FREE&quot; -le &quot;$CRIT&quot; ]; then
STAT=( &quot;${STAT[@]}&quot; &quot;Critical:\t$POOL - $PERCFREE free&quot; )
RETC+=2
else
STAT=( &quot;${STAT[@]}&quot; &quot;OK:\t$POOL\t$PERCUSED% used&quot; )
RET+=0
fi

#elif [ &quot;$MAX&quot; -eq 0 ]; then

#Debug for detecting 100% excluded ranges (reservations only):
#STAT=( &quot;${STAT[@]}&quot; &quot;OK:\t$POOL\tNothing used, could be excluded&quot; )

fi

# Performance-Data
#echo &quot; | 'Scope Usage'=$PERCUSED%;$WARN;$CRIT;0;$MAX&quot;
#echo -e &quot; | $POOL OK - Usage: $PERCUSED% ($FREE Addresses of $MAX in pool free) \n&quot;

done

#Evaluate return code:

if [ &quot;$RET&quot; -eq 0 ]; then
RET=0
echo -e &quot;OK:\tAll scopes fine&quot;
elif [ &quot;$RETC&quot; -gt 0 ]; then
RET=2
echo  -e &quot;Critical: One or more scopes is nearing capacity&quot;
elif [ &quot;$RETW&quot; -gt 0 ]; then
RET=1
echo -e &quot;Warning: One or more scopes is nearing capacity&quot;
fi

###### Second loop for long service output:

for I in ${!STAT[*]};do
echo -e ${STAT[$I]}
done

#Echo the total amount of scopes available vs those shown:
echo -e &quot;\nShowing ${#STAT[@]} of ${#TEMP[@]} configured scopes&quot;

exit $RET
</pre>
]]></content:encoded>
			<wfw:commentRss>http://liveaverage.com/news/nagios-plugin-windows-server-dhcp-scopes-usage-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenFiler errors that only I seemed to experience&#8230;</title>
		<link>http://liveaverage.com/features/coding/openfiler-errors-that-only-i-seemed-to-experience/</link>
		<comments>http://liveaverage.com/features/coding/openfiler-errors-that-only-i-seemed-to-experience/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 16:51:03 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Infrastructure Management]]></category>

		<guid isPermaLink="false">http://liveaverage.com/?p=378</guid>
		<description><![CDATA[<p>Well, I&#8217;ve finally deployed some production Openfiler ESA 2.99.1 machines as home-brew iSCSI boxes, primarily used for backups or low-stress virtual storage. Yes, they&#8217;re great &#8212; my basic write speeds on a Core 2 Duo box (recycled Dell Precision 390 workstation with 2GB of RAM and a single 1TB drive *no* RAID):</p> <p>I&#8217;m pretty happy with [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve finally deployed some production Openfiler ESA 2.99.1 machines as home-brew iSCSI boxes, primarily used for backups or low-stress virtual storage. Yes, they&#8217;re great &#8212; my basic write speeds on a Core 2 Duo box (recycled Dell Precision 390 workstation with 2GB of RAM and a single 1TB drive *no* RAID):</p>
<pre class="brush: bash; title: ; notranslate">
administrator@mail:/backup-iscsi$ sudo dd if=/dev/zero of=garbage bs=131072 count=20000
20000+0 records in
20000+0 records out
2621440000 bytes (2.6 GB) copied, 40.8493 s, 64.2 MB/s
</pre>
<p>I&#8217;m pretty happy with that. What I&#8217;m not please with is a 56MB log (/var/log/secure) filled with strange messages:</p>
<pre class="brush: bash; title: ; notranslate">Jul 26 12:25:46 e0-002 sudo: openfiler : TTY=unknown ; PWD=/opt/openfiler/var/www/htdocs ; USER=root ; COMMAND=/usr/bin/uptime
Jul 26 12:25:46 e0-002 sudo: PAM unable to dlopen(/lib64/security/pam_gnome_keyring.so)
Jul 26 12:25:46 e0-002 sudo: PAM [error: /lib64/security/pam_gnome_keyring.so: cannot open shared object file: No such file or directory]
Jul 26 12:25:46 e0-002 sudo: PAM adding faulty module: /lib64/security/pam_gnome_keyring.so</pre>
<p>Okay, so the first message isn&#8217;t strange. In fact, it&#8217;s normal. But I couldn&#8217;t figure out why a non-GUI (yes, it has a web interface, but no default window manager) distro was trying to load the Gnome keyring shared object. I still don&#8217;t know why. What I do know is how to get rid of this message:</p>
<ol>
<li>Verify which PAM files reference this shared object:</li>
<ol>
<li>
<pre class="brush: bash; title: ; notranslate">[root@e0-002 pam.d]# cd /etc/pam.d/
[root@e0-002 pam.d]# grep -i -n 'pam_gnome_keyring.so' *
system-auth:5:# FL: Have (patched) pam_gnome_keyring.so grab the password before pam_unix.so
system-auth:6:auth        optional      pam_gnome_keyring.so
system-auth:16:password    optional      pam_gnome_keyring.so</pre>
</li>
</ol>
<li>In this instance, the &#8216;system-auth&#8217; file contained these troublesome pam_gnome_keyring.so entries.</li>
<li>Fire-up your favorite text editor and comment those lines.</li>
<li>Reboot &amp; enjoy a log without an absurd amount of irrelevant errors.</li>
</ol>
<div><a title="The original thread mentioning the problem." href="https://lists.openfiler.com/viewtopic.php?id=6228" target="_blank">I found this referenced <em>once</em> on the OpenFiler forums</a>, but no answer or explanation. I hope this helps someone else that might experience a similar problem.</div>
<div>I&#8217;ll also be doing a write-up related to OpenFiler volume backups with LVM snapshots.</div>
]]></content:encoded>
			<wfw:commentRss>http://liveaverage.com/features/coding/openfiler-errors-that-only-i-seemed-to-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New fun with old toys: Adtran Atlas 550 + Free 411</title>
		<link>http://liveaverage.com/features/infrastructure-management/new-fun-with-old-toys-adtran-atlas-550-free-411/</link>
		<comments>http://liveaverage.com/features/infrastructure-management/new-fun-with-old-toys-adtran-atlas-550-free-411/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 21:10:26 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Infrastructure Management]]></category>

		<guid isPermaLink="false">http://liveaverage.com/?p=174</guid>
		<description><![CDATA[<p></p> <p>As a result of my frugality, I got my hands on an Adtran Atlas 550 to be used for partitioning a single PRI into two PRIs at my workplace. In addition to the partitioning, this system provides the added bonus of dynamic number substitution. What&#8217;s this mean for me? Substituting costly 411 directory service [...]]]></description>
			<content:encoded><![CDATA[<p><img src="file:///C:/DOCUME~1/ADMIN~1.IT0/LOCALS~1/Temp/moz-screenshot-11.jpg" alt="" /><img class="alignleft" style="margin: 10px;" title="Goog-411" src="http://www.google.com/images/logos/goog-411_logo.png" alt="Goog-411 is a spectacular, free alternative to traditional directory svc." width="209" height="40" /></p>
<p>As a result of my frugality, I got my hands on an Adtran Atlas 550 to be used for partitioning a single PRI into two PRIs at my workplace. In addition to the partitioning, this system provides the added bonus of dynamic number substitution. What&#8217;s this mean for me? Substituting costly 411 directory service for free Goog-411 service (which I prefer over traditional 411). I&#8217;m also able to create a number rejection list to block those NSFW 900* calls [or variation thereof], but the number substitution templates seem much more interesting&#8230;</p>
<p>How to do it:</p>
<blockquote>
<ul>
<li>Telnet to <strong>yohost.yodomain </strong>and log-in</li>
<li><em>Dial Plan</em> &gt; <em>Network Term</em> &gt; <em>Interface # </em>(1 in my case) &gt; Enter</li>
<li>Select <em>Substitution Template</em></li>
<li>Enter the Original DNIS number (the phone number originally dialed)</li>
<li>Enter the Substitution DNIS number (the phone number you&#8217;d like to dial)</li>
<li>Go back to the main menu and log-out</li>
</ul>
</blockquote>
<p>Remember, this change is transparent (and instant &#8212; no need to write/commit the config to startup), so the next time callers decide to hit up the 411 directory service, their call should be automagically routed to 1-800-goog411 (1-800-4664411). Since we&#8217;re a fairly small office I don&#8217;t think this number substituion presents a problem with Googles Terms of Service, but if you&#8217;re considering this change on a massive scale  I&#8217;d consider reading over <a title="Review Google's Terms of Service" href="http://www.google.com/accounts/TOS" target="_blank">Google&#8217;s TOS agreement</a> (particularly section 5.3).</p>
]]></content:encoded>
			<wfw:commentRss>http://liveaverage.com/features/infrastructure-management/new-fun-with-old-toys-adtran-atlas-550-free-411/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shuttle PC MyKover Template</title>
		<link>http://liveaverage.com/features/infrastructure-management/shuttle-pc-mykover-template/</link>
		<comments>http://liveaverage.com/features/infrastructure-management/shuttle-pc-mykover-template/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 16:34:16 +0000</pubDate>
		<dc:creator>JR</dc:creator>
				<category><![CDATA[Infrastructure Management]]></category>

		<guid isPermaLink="false">http://liveaverage.com/?p=25</guid>
		<description><![CDATA[<p>After deploying a few <a title="Looking for Shuttle KPC K45 Systems? Look no further than Newegg." href="http://www.newegg.com/Product/Product.aspx?Item=N82E16856101069" target="_blank">Shuttle KPC K45 systems</a> for UTM (Unified Threat Management) appliances using Untangle 5.42 and 6.00 I got tired of fussing with Shuttle&#8217;s MyKover JPEG template(s) and opted to create my own to-scale Word Document template. Feel free to [...]]]></description>
			<content:encoded><![CDATA[<p>After deploying a few <a title="Looking for Shuttle KPC K45 Systems? Look no further than Newegg." href="http://www.newegg.com/Product/Product.aspx?Item=N82E16856101069" target="_blank">Shuttle KPC K45 systems</a> for UTM (Unified Threat Management) appliances using Untangle 5.42 and 6.00 I got tired of fussing with Shuttle&#8217;s MyKover JPEG template(s) and opted to create my own to-scale Word Document template. Feel free to change the included background image and text, I just left that on there for reference. And yes, the screw hole markings are correctly (or nearly correctly) placed.</p>
<p>I enjoyed the coffee cover included with the barebone system, but opted for something customized that would allow remote clients to phone in service-calls with all the important information (Local/WAN IP, MAC, FQDN, etc.) required for troubleshooting. Hope this helps someone out who might be looking for a better template than the one provided by Shuttle&#8217;s site.</p>
<p><a title="Click Here to start downloading the MyKover Shuttle Word Template" href="http://www.averageanalogs.com/v2/images/mykover_shuttle_template_public.doc" target="_self">DOWNLOAD MyKover Word Document Template</a> (.DOC &#8211; Created w/ Microsoft Office 2003)</p>
]]></content:encoded>
			<wfw:commentRss>http://liveaverage.com/features/infrastructure-management/shuttle-pc-mykover-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

