<?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>The Lazy Sys Admin &#187; Sys Admin</title>
	<atom:link href="http://www.thelazysysadmin.net/category/sysadmin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thelazysysadmin.net</link>
	<description>Why do things the hard way?</description>
	<lastBuildDate>Tue, 11 Oct 2011 05:31:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Commvault Simpana 9.0 with Granular File Recovery for Linux under VMWare</title>
		<link>http://www.thelazysysadmin.net/2011/07/commvault-simpana-9-0-with-granular-file-recovery-for-linux-under-vmware/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=commvault-simpana-9-0-with-granular-file-recovery-for-linux-under-vmware</link>
		<comments>http://www.thelazysysadmin.net/2011/07/commvault-simpana-9-0-with-granular-file-recovery-for-linux-under-vmware/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 05:28:27 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Commvault]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=848</guid>
		<description><![CDATA[I am currently going through the process of installing a brand new Commvault installation. One thing I am evaluating is doing most of my backups via the Virtual Server iDataAgent, this will give me &#8220;bare metal&#8221; recovery of my VM&#8217;s &#8230; <a href="http://www.thelazysysadmin.net/2011/07/commvault-simpana-9-0-with-granular-file-recovery-for-linux-under-vmware/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am currently going through the process of installing a brand new Commvault installation. One thing I am evaluating is doing most of my backups via the Virtual Server iDataAgent, this will give me &#8220;bare metal&#8221; recovery of my VM&#8217;s as well as cover my individual file restore requirements. As at Simpana 8 granular file level recovery was only supported for NTFS volumes but with the release of Simpana 9 the documentation has been updated to remove the NTFS requirement. Also a nice little line that also says &#8220;Granular file-level recoveries are now supported for Linux-based VMware virtual machines.&#8221; under the new features in the documentation for Simpana 9.</p>
<p>So testing begins, and you would imagine given the above information that file-level recoveries for Linux would just work. Problem is it just doesn&#8217;t work out of the box, after hours of playing with settings and tick boxes and reading forum posts I finally found the solution I needed to get file-level recovery working.</p>
<p>Ok, so to get Linux backup working you need to add a registry entry on the Virtual Server iDataAgent proxy server (the documentation for which can be found <a href="http://documentation.commvault.com/commvault/release_9_0_0/books_online_1/english_us/prod_info/features.htm?var1=http://documentation.commvault.com/commvault/release_9_0_0/books_online_1/english_us/features/registry_keys/registry_keys.htm#LinuxMetadataSupport" target="_blank">here</a>).</p>
<pre>HKEY_LOCAL_MACHINE\SOFTWARE\CommVault Systems\Galaxy\Instance001\VirtualServer</pre>
<p>Then add the following DWORD value</p>
<pre>LinuxMetadataSupport    REG_DWORD    0x00000001</pre>
<p>Restart the Commvault agent on the VMWare server for good measure and now take your backup.</p>
<p>As for file system support it seems very limited. I have tested the following setups:</p>
<p>Ubuntu Host<br />
sda1 /boot ext3<br />
sda3 / reiserfs<br />
sda4 /data ext4</p>
<p>Centos Host<br />
LVM2 with partition formatted in ext3</p>
<p>The only file systems that backed up were the EXT3 file systems, LVM appears to be supported as well. One can only assume that EXT2 would be supported, but I haven&#8217;t tested this.</p>
<p>Overall this solution can only get better, as more file systems are supported and the option to backup the linux systems on a file level are brought into the GUI it can only get easier from here. Personally I plan on moving forward using the Virtual Server iDataAgent to backup all my VM&#8217;s that don&#8217;t have special applications on them (ie, database, AD, and Exchange).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2011/07/commvault-simpana-9-0-with-granular-file-recovery-for-linux-under-vmware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updated snapadm.pl file for ZFS Snapshots</title>
		<link>http://www.thelazysysadmin.net/2010/06/updated-snapadm-pl-file-for-zfs-snapshots/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=updated-snapadm-pl-file-for-zfs-snapshots</link>
		<comments>http://www.thelazysysadmin.net/2010/06/updated-snapadm-pl-file-for-zfs-snapshots/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 22:24:09 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Bugfix]]></category>
		<category><![CDATA[snapadm.pl]]></category>
		<category><![CDATA[Snapshot]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=828</guid>
		<description><![CDATA[In my post OpenSolaris Backup Solution with Rsync and ZFS Snapshots I provided a link to a script from Sun &#8211; snapadm.pl. I found a bug where if you were using the recursive function then the old snapshots would never &#8230; <a href="http://www.thelazysysadmin.net/2010/06/updated-snapadm-pl-file-for-zfs-snapshots/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my post <a href="http://www.thelazysysadmin.net/2010/06/opensolaris-backup-solution-with-rsync-and-zfs-snapshots/" target="_blank">OpenSolaris Backup Solution with Rsync and ZFS Snapshots</a> I provided a link to a script from Sun &#8211; snapadm.pl. I found a bug where if you were using the recursive function then the old snapshots would never be destroyed as they were incorrectly named.</p>
<p>I have updated the snapadm.pl file contained in my post and have also provided a download link here.</p>
<p><strong>Download</strong>:</p>
<ul>
<li><a href="http://www.thelazysysadmin.net/wp-content/uploads/2010/06/snapadm.pl_1.txt">snapadm.pl</a></li>
</ul>
<p>Read on for more details:<span id="more-828"></span></p>
<pre class="brush: plain; title: ; notranslate">
diff snapadm.pl_.txt snapadm.pl_1.txt
181c181
&lt;               my $result = `/sbin/zfs snapshot -r $SnapFS@_$class_name_$ztimestamp`;
---
&gt;               my $result = `/sbin/zfs snapshot -r $SnapFS@$class_name_$ztimestamp`;
</pre>
<p>The snapshot being taken for the recursive option was incorrectly adding an _ (underscore) to the classname. This meant that when the isExpired method performs a regex search on the snapshot name then no match returns and therefore no snapshot gets destroyed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2010/06/updated-snapadm-pl-file-for-zfs-snapshots/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OpenSolaris Backup Solution with Rsync and ZFS Snapshots</title>
		<link>http://www.thelazysysadmin.net/2010/06/opensolaris-backup-solution-with-rsync-and-zfs-snapshots/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=opensolaris-backup-solution-with-rsync-and-zfs-snapshots</link>
		<comments>http://www.thelazysysadmin.net/2010/06/opensolaris-backup-solution-with-rsync-and-zfs-snapshots/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 10:37:32 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[RSync]]></category>
		<category><![CDATA[Snapshot]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=787</guid>
		<description><![CDATA[I have recently been forced to learn how to admin an OpenSolaris machine with ZFS filesystems. After doing some reading on ZFS, I realised how using snapshots with an rsync server would make an excellent backup solution. Using several scripts &#8230; <a href="http://www.thelazysysadmin.net/2010/06/opensolaris-backup-solution-with-rsync-and-zfs-snapshots/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have recently been forced to learn how to admin an OpenSolaris machine with ZFS filesystems. After doing some reading on ZFS, I realised how using snapshots with an rsync server would make an excellent backup solution.</p>
<p>Using several scripts to control rsync and the snapshots has allowed me to setup a system that has data retention periods applied and only uses the space on disk required to keep the changed files. Cloning a ZFS snapshot from a week ago (or even six months ago) allows you to create a synthetic full backup from the point in time the backup was taken.</p>
<p><span id="more-787"></span>To create my backup solution I had a spare Sun Thor x4540 storage system (the next model in line released after the Thumper storage systems). This system has 48 * 500gb SATA harddrives (with a fairly conservative disk setup gives about 16TB of usable disk space), the following solution could easily be implemented with any system that will support OpenSolaris as well as have enough disk space to fullfil the requirements.</p>
<p>I have created a Backup ZFS pool using all of the Thor&#8217;s 48 disks. This pools root ZFS system is mounted at /backup on the filesystem. Within this ZFS filesystem I created another filesystem /backup/rsync this will be where we will create all of the individual filesystems as our backup targets. You can do this with any pool, the important fact is having a ZFS filesystem called rsync (or whatever you wish really) and have ZFS filesystems under this point for each backup target.</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
root@backup-01:/# zpool list
NAME     SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
backup  19.0T  6.81T  12.2T    35%  ONLINE  -
rpool   14.9G  5.49G  9.38G    36%  ONLINE  -
root@backup-01:/#
root@backup-01:/#
root@backup-01:/#
root@backup-01:/# zfs list
NAME                                 USED  AVAIL  REFER  MOUNTPOINT
backup                              5.65T  9.90T  36.5K  /backup
backup/rsync                        3.29T  9.90T  53.1K  /backup/rsync
backup/rsync/dvc                    2.23T  9.90T  1.97T  /backup/rsync/dvc
backup/rsync/library                3.04G  9.90T   392M  /backup/rsync/library
backup/rsync/grp-core-cifs           451G  9.90T   436G  /backup/rsync/grp-core-cifs
backup/rsync/grp-web-frontend       7.56G  9.90T  7.50G  /backup/rsync/grp-web-frontend
backup/rsync/grp-web-mysql           632M  9.90T   254M  /backup/rsync/grp-web-mysql
rpool                               9.83G  4.82G  81.5K  /rpool
rpool/ROOT                          3.06G  4.82G    19K  legacy
rpool/ROOT/opensolaris              8.79M  4.82G  2.87G  /
rpool/ROOT/opensolaris-20100520-01  3.05G  4.82G  2.89G  /
rpool/dump                          2.22G  4.82G  2.22G  -
rpool/export                         122M  4.82G    21K  /export
rpool/export/home                    122M  4.82G    21K  /export/home
rpool/export/home/smithj             122M  4.82G   122M  /export/home/smithj
rpool/swap                          4.43G  9.15G   101M  -
root@backup-01:/#
</pre>
<p>Next step is creating the rsyncd.conf file for rsync and import the manifest for running the rsync service under OpenSolaris.</p>
<p>The rsyncd.conf file needs to be placed in /etc for rsync to automatically pickup the settings. You may use the following as a sample for your own rsyncd.conf</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
read only = yes
list = yes
uid = root
gid = root

[host-one]
path = /backup/rsync/host-one
read only = no
hosts allow = &lt;&lt;host-one IP Address&gt;&gt;
hosts deny = *

[host-two]
path = /backup/rsync/host-two
read only = no
hosts allow = &lt;&lt;host-two IP Address&gt;&gt;
hosts deny = *
</pre>
<p>I found the original manifest for rsync at <a href="http://hub.opensolaris.org/bin/view/Community+Group+smf/manifests">http://hub.opensolaris.org/bin/view/Community+Group+smf/manifests</a>, then made minor modifications to work out of the box. Download the modified rsync.xml file from the end of this article and put it in the /var/svc/manifests/network folder on your OpenSolaris server. Once you have done this you need to run a service import.</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
root@backup-01:/# svccfg import /var/svc/manifest/network/rsync.xml
root@backup-01:/# svcadm enable svc:/network/rsync:default
</pre>
<p>Then run the following to ensure there are no issues with the service</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
root@backup-01:/# svcs -x
</pre>
<p>When you want to add a new target for a host to backup remember to create a ZFS filesystem for that host and also add an entry into the rsyncd.conf file. Once you have updated your rsyncd.conf file you need to restart the service</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
root@backup-01:/# svcadm restart svc:/network/rsync:default
</pre>
<p>You can now rsync anything to your backup targets, a basic backup script for linux could be as simple as</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
rsync -a -v -v --progress --stats --delete --exclude &quot;/proc&quot; --exclude &quot;/dev&quot; --exclude &quot;/sys&quot; / backup-01::host-one
</pre>
<p>The final step is to implement a rotation/retention scheme using ZFS snapshots. <a href="http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/managed_rolling_sna&amp;cid=e8776">The original download of snapadm.pl script came from Sun</a>. I found a bug in this version of the script, the fixed version can be downloaded from the bottom of this article. Copy the snapadm.pl file to /usr/sbin and make the file executable.</p>
<p>The retention policy I have put into place is keep:</p>
<ul>
<li>14 Daily Backups</li>
<li>4 Weekly Backups</li>
<li>6 Monthly Backups</li>
</ul>
<p>To do this add the following to your root crontab</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# Daily Backup - Keep 14 Days
0 12 * * * /usr/sbin/snapadm.pl -ret=14:0:0 -filesystem=backup/rsync -rec -cl=daily

# Weekly Backup - Keep 4 Weeks
0 13 * * 0 /usr/sbin/snapadm.pl -ret=28:0:0 -filesystem=backup/rsync -rec -cl=weekly

# Monthly Backup - Keep 6 Months
0 14 1 * * /usr/sbin/snapadm.pl -ret=182:0:0 -filesystem=backup/rsync -rec -cl=monthly
</pre>
<p>Each line contains a different backup type. Daily with a retention of 14 days. Weekly each Sunday with a retention of 28 days (4 weeks). Monthly on the first of the month with a retention of 182 days (half a year).</p>
<p>The Options for snapadm.pl used for the script</p>
<ul>
<li>-ret=Days:Hours:Minutes</li>
<li>-filesystem=ZFS File System Path</li>
<li>-rec &#8211; Recursively snapshot down the tree</li>
<li>-cl &#8211; Class, just a way to label the backup type</li>
</ul>
<p>The end result is the following list of snapshots</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
root@backup-01:~# zfs list -t snapshot
NAME                                                        USED  AVAIL  REFER  MOUNTPOINT
backup/rsync@daily_Thu_20100520_1445                      26.6K      -  33.2K  -
backup/rsync@daily_Fri_20100521_1200                          0      -  41.5K  -
backup/rsync@daily_Sat_20100522_1200                          0      -  41.5K  -
backup/rsync@daily_Sun_20100523_1200                          0      -  41.5K  -
backup/rsync@weekly_Sun_20100523_1300                         0      -  41.5K  -
backup/rsync@daily_Mon_20100524_1200                      28.2K      -  46.5K  -
backup/rsync@daily_Tue_20100525_1200                      26.6K      -  48.1K  -
backup/rsync@daily_Wed_20100526_1200                      26.6K      -  48.1K  -
backup/rsync@daily_Thu_20100527_1200                          0      -  48.1K  -
backup/rsync@daily_Fri_20100528_1200                          0      -  48.1K  -
backup/rsync@daily_Sat_20100529_1200                          0      -  53.1K  -
backup/rsync@daily_Sun_20100530_1200                          0      -  53.1K  -
backup/rsync@weekly_Sun_20100530_1300                         0      -  53.1K  -
backup/rsync@daily_Mon_20100531_1200                          0      -  53.1K  -
backup/rsync@daily_Tue_20100601_1200                          0      -  53.1K  -
backup/rsync@monthly_Tue_20100601_1400                        0      -  53.1K  -
backup/rsync@daily_Wed_20100602_1200                          0      -  53.1K  -
backup/rsync/dvc@daily_Tue_20100525_1200                   287K      -  2.06T  -
backup/rsync/dvc@daily_Wed_20100526_1200                  5.75G      -  2.07T  -
backup/rsync/dvc@daily_Thu_20100527_1200                  26.5G      -  2.02T  -
backup/rsync/dvc@daily_Fri_20100528_1200                  17.2G      -  2.00T  -
backup/rsync/dvc@daily_Sat_20100529_1200                  3.72M      -  1.97T  -
backup/rsync/dvc@daily_Sun_20100530_1200                      0      -  2.00T  -
backup/rsync/dvc@weekly_Sun_20100530_1300                     0      -  2.00T  -
backup/rsync/dvc@daily_Mon_20100531_1200                  27.3G      -  2.03T  -
backup/rsync/dvc@daily_Tue_20100601_1200                      0      -  1.97T  -
backup/rsync/dvc@monthly_Tue_20100601_1400                    0      -  1.97T  -
backup/rsync/dvc@daily_Wed_20100602_1200                   184K      -  1.96T  -
backup/rsync/library@daily_Fri_20100521_1200                  0      -  31.5K  -
backup/rsync/library@daily_Sat_20100522_1200                  0      -  31.5K  -
backup/rsync/library@daily_Sun_20100523_1200                  0      -  31.5K  -
backup/rsync/library@weekly_Sun_20100523_1300                 0      -  31.5K  -
backup/rsync/library@daily_Mon_20100524_1200              24.9K      -  31.5K  -
backup/rsync/library@daily_Tue_20100525_1200               390M      -   390M  -
backup/rsync/library@daily_Wed_20100526_1200               389M      -   389M  -
backup/rsync/library@daily_Thu_20100527_1200               384M      -   384M  -
backup/rsync/library@daily_Fri_20100528_1200               388M      -   388M  -
backup/rsync/library@daily_Sat_20100529_1200               388M      -   388M  -
backup/rsync/library@daily_Sun_20100530_1200                  0      -   389M  -
backup/rsync/library@weekly_Sun_20100530_1300                 0      -   389M  -
backup/rsync/library@daily_Mon_20100531_1200               391M      -   391M  -
backup/rsync/library@daily_Tue_20100601_1200                  0      -   392M  -
backup/rsync/library@monthly_Tue_20100601_1400                0      -   392M  -
backup/rsync/library@daily_Wed_20100602_1200              24.9K      -   391M  -
backup/rsync/grp-core-cifs@daily_Fri_20100521_1200        13.7M      -   301G  -
backup/rsync/grp-core-cifs@daily_Sat_20100522_1200         278M      -   435G  -
backup/rsync/grp-core-cifs@daily_Sun_20100523_1200            0      -   436G  -
backup/rsync/grp-core-cifs@weekly_Sun_20100523_1300           0      -   436G  -
backup/rsync/grp-core-cifs@daily_Mon_20100524_1200         373M      -   435G  -
backup/rsync/grp-core-cifs@daily_Tue_20100525_1200         501M      -   434G  -
backup/rsync/grp-core-cifs@daily_Wed_20100526_1200         486M      -   434G  -
backup/rsync/grp-core-cifs@daily_Thu_20100527_1200         492M      -   434G  -
backup/rsync/grp-core-cifs@daily_Fri_20100528_1200         439M      -   436G  -
backup/rsync/grp-core-cifs@daily_Sat_20100529_1200         500M      -   436G  -
backup/rsync/grp-core-cifs@daily_Sun_20100530_1200            0      -   436G  -
backup/rsync/grp-core-cifs@weekly_Sun_20100530_1300           0      -   436G  -
backup/rsync/grp-core-cifs@daily_Mon_20100531_1200         381M      -   436G  -
backup/rsync/grp-core-cifs@daily_Tue_20100601_1200            0      -   436G  -
backup/rsync/grp-core-cifs@monthly_Tue_20100601_1400          0      -   436G  -
backup/rsync/grp-core-cifs@daily_Wed_20100602_1200        38.1M      -   437G  -
backup/rsync/grp-web-frontend@daily_Fri_20100521_1200     4.57M      -  7.49G  -
backup/rsync/grp-web-frontend@daily_Sat_20100522_1200     4.95M      -  7.49G  -
backup/rsync/grp-web-frontend@daily_Sun_20100523_1200         0      -  7.49G  -
backup/rsync/grp-web-frontend@weekly_Sun_20100523_1300        0      -  7.49G  -
backup/rsync/grp-web-frontend@daily_Mon_20100524_1200     5.44M      -  7.49G  -
backup/rsync/grp-web-frontend@daily_Tue_20100525_1200     5.59M      -  7.49G  -
backup/rsync/grp-web-frontend@daily_Wed_20100526_1200     5.45M      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Thu_20100527_1200     5.43M      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Fri_20100528_1200     5.57M      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Sat_20100529_1200     5.56M      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Sun_20100530_1200         0      -  7.50G  -
backup/rsync/grp-web-frontend@weekly_Sun_20100530_1300        0      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Mon_20100531_1200     5.56M      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Tue_20100601_1200         0      -  7.50G  -
backup/rsync/grp-web-frontend@monthly_Tue_20100601_1400       0      -  7.50G  -
backup/rsync/grp-web-frontend@daily_Wed_20100602_1200      179K      -  7.50G  -
backup/rsync/grp-web-mysql@daily_Thu_20100520_1445        35.7M      -   257M  -
backup/rsync/grp-web-mysql@daily_Fri_20100521_1200        29.4M      -   251M  -
backup/rsync/grp-web-mysql@daily_Sat_20100522_1200        29.6M      -   251M  -
backup/rsync/grp-web-mysql@daily_Sun_20100523_1200            0      -   251M  -
backup/rsync/grp-web-mysql@weekly_Sun_20100523_1300           0      -   251M  -
backup/rsync/grp-web-mysql@daily_Mon_20100524_1200        29.8M      -   251M  -
backup/rsync/grp-web-mysql@daily_Tue_20100525_1200        30.1M      -   251M  -
backup/rsync/grp-web-mysql@daily_Wed_20100526_1200        30.4M      -   252M  -
backup/rsync/grp-web-mysql@daily_Thu_20100527_1200        30.6M      -   252M  -
backup/rsync/grp-web-mysql@daily_Fri_20100528_1200        32.9M      -   254M  -
backup/rsync/grp-web-mysql@daily_Sat_20100529_1200        33.1M      -   254M  -
backup/rsync/grp-web-mysql@daily_Sun_20100530_1200            0      -   254M  -
backup/rsync/grp-web-mysql@weekly_Sun_20100530_1300           0      -   254M  -
backup/rsync/grp-web-mysql@daily_Mon_20100531_1200        33.3M      -   254M  -
backup/rsync/grp-web-mysql@daily_Tue_20100601_1200            0      -   254M  -
backup/rsync/grp-web-mysql@monthly_Tue_20100601_1400          0      -   254M  -
backup/rsync/grp-web-mysql@daily_Wed_20100602_1200        79.7K      -   254M  -
rpool/ROOT/opensolaris-20100520-01@install                  148M      -  2.82G  -
rpool/ROOT/opensolaris-20100520-01@2010-05-19-21:49:46     13.8M      -  2.87G  -
root@backup-01:~#
</pre>
<p>To do a file restore you need to make a ZFS Clone of the snapshot, this will allow you to copy the files required. The most important thing is that you MUST destroy the clone once you have finished the restore, failure to do so will result in the snapshot being unable to be deleted by the retention policy.</p>
<p>I certainly recommend reading the <a href="http://docs.sun.com/app/docs/doc/819-5461">Solaris ZFS Administrators Guide</a> and the <a href="http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide">ZFS Best Practices Guide</a>. Both these guide certainly helped me understand ZFS and how to manage it.</p>
<p><strong>Download</strong>:</p>
<ul>
<li>Rsync Manifest &#8211; <a href="http://www.thelazysysadmin.net/wp-content/uploads/2010/06/rsync.xml_.txt">rsync.xml</a></li>
<li>Snapshot Admin Script &#8211; <a href="http://www.thelazysysadmin.net/wp-content/uploads/2010/06/snapadm.pl_1.txt">snapadm.pl</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2010/06/opensolaris-backup-solution-with-rsync-and-zfs-snapshots/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Exchange System Manager Tools on Windows 7 &#8211; The Easy Way</title>
		<link>http://www.thelazysysadmin.net/2010/01/exchange-system-manager-tools-on-windows-7/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exchange-system-manager-tools-on-windows-7</link>
		<comments>http://www.thelazysysadmin.net/2010/01/exchange-system-manager-tools-on-windows-7/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 23:27:36 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Manager]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=773</guid>
		<description><![CDATA[Since my migration to Windows 7 there have still been a few things missing that would be nice to have. One of those is the Exchange System Manager tools. There are ways and methods out there to getting this to &#8230; <a href="http://www.thelazysysadmin.net/2010/01/exchange-system-manager-tools-on-windows-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since my migration to Windows 7 there have still been a few things missing that would be nice to have. One of those is the Exchange System Manager tools. There are ways and methods out there to getting this to work but most will involve uninstalling outlook and reinstalling after you have installed ESM tools.</p>
<p>I have been waiting for the ESM tools for Exchange 2010 to hopefully work with Exchange 2003 but that hasn&#8217;t happened either. Although I did find a really quick and easy solution this morning after reading the following posts on TechNet (<a href="http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/ed4efa69-f8ae-41f4-a308-7a187b4085d7/" target="_blank">Exchange System Manager for exchange 2003</a>)</p>
<p>You will need to download the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=3403d74e-8942-421b-8738-b3664559e46f&amp;displaylang=en" target="_blank">Exchange System Manager for Windows Vista</a> then use something like WinRAR to extract the contents.</p>
<p>You will also need to make sure you already have the RSAT tools installed (Remote Server Admin Tools)</p>
<p>Finally open up a Command Prompt as Administrator. Browse to the directory that contains the ESMVISTA.MSI file. Run the following:</p>
<pre class="brush: plain; title: ; notranslate">
ESMVISTA.MSI /q
</pre>
<p>Once this is done you should be able to open the &#8220;Active Directory and Computers&#8221; and edit an Exchange User with all the required email tabs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2010/01/exchange-system-manager-tools-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>60</slash:comments>
		</item>
		<item>
		<title>BMC Updating&#8230; Please Do Not Shutdown or PowerCycle System!</title>
		<link>http://www.thelazysysadmin.net/2009/10/bmc-updating-hp-dl160/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bmc-updating-hp-dl160</link>
		<comments>http://www.thelazysysadmin.net/2009/10/bmc-updating-hp-dl160/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 04:56:43 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[BIOS]]></category>
		<category><![CDATA[BMC]]></category>
		<category><![CDATA[DL160]]></category>
		<category><![CDATA[Firmware]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[Updating]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=660</guid>
		<description><![CDATA[Error on HP DL160 G5 System boot taking 40 minutes - BMC Updating... Please Do Not Shutdown or PowerCycle System! <a href="http://www.thelazysysadmin.net/2009/10/bmc-updating-hp-dl160/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have been having an issue with our HP DL160 G5 servers lately. After a BIOS update (and on one occasion it occurred without any other updates, just a power outage and a reboot) when the server boots the system fans spin at top speed (sounds like a jet engine) and the server screen shows</p>
<p>BMC Updating&#8230; Please Do No Shutdown or PowerCycle System!</p>
<p><span id="more-660"></span>It would sit on this screen for 40 minutes before finally booting, you can imagine the frustration when you are trying to do work on a server and know that rebooting the thing will take 40 minutes.</p>
<p>Googling the problem didn&#8217;t yield many useful results.</p>
<p>After further investigation is was found the iLO software was causing the problem. We are now running on BIOS version O12 7/27/2009 one of the affected servers was running iLO firmware version 3.06. The latest version as of writing this is 3.11b and can be found on the <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&amp;cc=us&amp;prodNameId=3580695&amp;prodTypeId=15351&amp;prodSeriesId=3580694&amp;swLang=8&amp;taskId=135&amp;swEnvOID=1005#2926" target="_blank">DL160 G5 drivers page</a>.</p>
<p>The update requires a bootable USB Key. Once the software has been downloaded and installed you should be presented with a webpage for Proliant Flash Update. For sanity it is best to open the folder location holding the HPQUSB.exe executable found in C:SWSetupSP44084ROMPaq USB Key. The reason for this is if you run the app from a webpage it will save to a temporary location then run the setup (what the setup does is format the USB key and put the bootable files on it and then copies everything else from the same directory onto the USB key) leaving undesired results.</p>
<p>Once the server was updated with the USB the next server boot took about 5 minutes and had the same message on the screen, you need to be patient at this point (cause I know I wanted to throw the server out the window). Then all of a sudden the fans spin down to normal operating speeds and all is well. Next reboot the server is happy and operational <img src='http://www.thelazysysadmin.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/10/bmc-updating-hp-dl160/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pg_standby triggering unexpectedly</title>
		<link>http://www.thelazysysadmin.net/2009/08/pg_standby-triggering-unexpectedly/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pg_standby-triggering-unexpectedly</link>
		<comments>http://www.thelazysysadmin.net/2009/08/pg_standby-triggering-unexpectedly/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 05:57:10 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Log Shipping]]></category>
		<category><![CDATA[pg_standby]]></category>
		<category><![CDATA[RSync]]></category>
		<category><![CDATA[WAL Logging]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=629</guid>
		<description><![CDATA[I have been having a problem with my redundant PostgreSQL setup over the last couple of weeks. I run two Postgres servers with a WAL Logging Warm Standby system using pg_standby from 8.3. When the master server is under heavy &#8230; <a href="http://www.thelazysysadmin.net/2009/08/pg_standby-triggering-unexpectedly/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been having a problem with my redundant PostgreSQL setup over the last couple of weeks. I run two Postgres servers with a WAL Logging Warm Standby system using pg_standby from 8.3. When the master server is under heavy load and generating a lot of WAL traffic the secondary server has been tripping and going active.</p>
<p>After checking all the logs and putting pg_standby in debug mode there was still no clue as to why this was happening.</p>
<p><span id="more-629"></span>The archive_command on my master server was using</p>
<pre class="brush: plain; title: ; notranslate">cp -i &quot;%p&quot; /var/lib/pgsql/slave/pg_logrestore/&quot;%f&quot;</pre>
<p>I have read somewhere (I can&#8217;t remember where or when) that when you use cp to copy the WAL log the file appears in the destination without it being a complete copy so this got me to wondering if this was causing my problem. Knowing that RSync will use a temp file when copying and then rename the file once completed I thought I would give that a go.</p>
<p>My new archive_command is</p>
<pre class="brush: plain; title: ; notranslate">rsync -q &quot;%p&quot; /var/lib/pgsql/slave/pg_logrestore/&quot;%f&quot;</pre>
<p>Since making this change the standby server hasn&#8217;t triggered without reason and the problem appears to be fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/08/pg_standby-triggering-unexpectedly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfix/SASL/Courier AuthDaemon Cannot connect to Courier authdaemond: No such file or directory</title>
		<link>http://www.thelazysysadmin.net/2009/08/cannot-connect-to-courier-authdaemond-no-such-file-or-directory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cannot-connect-to-courier-authdaemond-no-such-file-or-directory</link>
		<comments>http://www.thelazysysadmin.net/2009/08/cannot-connect-to-courier-authdaemond-no-such-file-or-directory/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 23:34:49 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Authdaemon]]></category>
		<category><![CDATA[Courier]]></category>
		<category><![CDATA[SASL]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=619</guid>
		<description><![CDATA[I have a Ubuntu Virtual Server handling all my mail, recently after an apt-get upgrade I was unable to send email using my Postfix Virtual User setup through Courier and SASL. I kept getting the following error in my logs: &#8230; <a href="http://www.thelazysysadmin.net/2009/08/cannot-connect-to-courier-authdaemond-no-such-file-or-directory/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have a Ubuntu Virtual Server handling all my mail, recently after an apt-get upgrade I was unable to send email using my Postfix Virtual User setup through Courier and SASL.</p>
<p>I kept getting the following error in my logs:</p>
<pre class="brush: plain; title: ; notranslate">Aug 18 07:53:53 marvin postfix/smtpd[23938]: warning: SASL authentication
  failure: cannot connect to Courier authdaemond: No such file or directory
Aug 18 07:53:53 marvin postfix/smtpd[23938]: warning: localhost[127.0.0.1]:
  SASL LOGIN authentication failed: generic failure</pre>
<p>After consulting with Google for at least an hour i finally hit upon a page that helped me.</p>
<p><span id="more-619"></span>I found the answer in the following howto <a href="http://wiki.tolien.co.uk/Postfix_w/o_Maildrop" target="_blank">Postfix w/o Maildrop</a>. The authdaemon socket setup described on this page was slightly different to the usual suggestions (most help I found online suggested to create a hardlink to the socket file inside the Postfix chroot, this doesn&#8217;t work for Ubuntu cause the /var/run is on a different filesystem and a symlink didn&#8217;t work for me either). The following commands were taken directly from the howto listed above (all credit should go to the writer of that page).</p>
<pre class="brush: plain; title: ; notranslate">/etc/init.d/courier-authdaemon stop
rm -rf /var/run/courier/authdaemon/
 /var/spool/postfix/var/run/courier/authdaemon/
mkdir -p /var/spool/postfix/var/run/courier/authdaemon/
ln -s /var/spool/postfix/var/run/courier/authdaemon/
 /var/run/courier/authdaemon
/etc/init.d/courier-authdaemon start
postfix reload</pre>
<p>The end result is that Postfix is not reading/accessing a symlinked version of the authdaemon socket and everything works as expected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/08/cannot-connect-to-courier-authdaemond-no-such-file-or-directory/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PgFouine Automatic Report Setup with PostgreSQL &amp; Logrotate</title>
		<link>http://www.thelazysysadmin.net/2009/08/pgfouine-automatic-report-setup-with-postgresql-logrotate/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pgfouine-automatic-report-setup-with-postgresql-logrotate</link>
		<comments>http://www.thelazysysadmin.net/2009/08/pgfouine-automatic-report-setup-with-postgresql-logrotate/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 04:49:06 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Logrotate]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[PgFouine]]></category>
		<category><![CDATA[Syslog]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=605</guid>
		<description><![CDATA[Monitoring &#38; analysing your PostgreSQL server logs with PgFouine provides you with a way to see which queries are performing badly and need optimisation. It can also provide insight into busy periods and give some basic query stats such as &#8230; <a href="http://www.thelazysysadmin.net/2009/08/pgfouine-automatic-report-setup-with-postgresql-logrotate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Monitoring &amp; analysing your PostgreSQL server logs with PgFouine provides you with a way to see which queries are performing badly and need optimisation. It can also provide insight into busy periods and give some basic query stats such as the number of INSERT, DELETE, UPDATE, and SELECT operations.</p>
<p><span id="more-605"></span><strong>Requirements</strong></p>
<ul>
<li><a title="PgFouine" href="http://pgfouine.projects.postgresql.org/" target="_blank">PgFouine</a></li>
<li>php</li>
<li>Logrotate</li>
<li>PostgreSQL setup to log to syslog (Tested with PostgreSQL 8.3 but should work with earlier versions)</li>
</ul>
<p><strong>PostgreSQL Setup</strong></p>
<p>First you need to setup PostgreSQL to log to syslog. Set the following in your postgresql.conf</p>
<pre class="brush: plain; title: ; notranslate">log_destination = 'syslog'

# Ensure that the following lines are REMMED out
#
# logging_collector
# log_directory
# log_filename
# log_truncate_on_rotation</pre>
<p>You may set the &#8220;syslog_facility&#8221; and &#8220;syslog_ident&#8221; options if you wish, but i handle these items in the syslog-ng.conf file.</p>
<p>You will also need to tell Postgres what to log</p>
<pre class="brush: plain; title: ; notranslate">client_min_messages = notice            # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   log
                                        #   notice
                                        #   warning
                                        #   error

log_min_messages = notice               # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   info
                                        #   notice
                                        #   warning
                                        #   error
                                        #   log
                                        #   fatal
                                        #   panic

log_error_verbosity = default           # terse, default, or verbose messages

log_min_error_statement = debug2        # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   info
                                        #   notice
                                        #   warning
                                        #   error
                                        #   log
                                        #   fatal
                                        #   panic (effectively off)

log_min_duration_statement = 200        # -1 is disabled, 0 logs all statements
                                        # and their durations, &amp;gt; 0 logs only
                                        # statements running at least this time.
log_line_prefix = '%t %d %u %h '</pre>
<p>I have a fairly busy DB server so I am only interested in queries that take longer then 200ms. You will need to set this value to suit your needs, set it to low and you will produce many log lines, set it to high and you wont produce anything.</p>
<p><strong>Syslog Setup</strong></p>
<p>Next you need to setup syslog to log PostgreSQL to a different file (the following instruction will work for Syslog-ng on an OpenSUSE box, your milage may vary).</p>
<p>Setup a filter:</p>
<pre class="brush: plain; title: ; notranslate">filter f_postgres   { match('^postgres'); };</pre>
<p>And a Destination:</p>
<pre class="brush: plain; title: ; notranslate"># PostgreSQL messages
destination postgres { file(&quot;/var/log/pgsql/postgresql.log&quot;); };
log { source(src); filter(f_postgres); destination(postgres); flags(final); };</pre>
<p><strong>Scripts</strong></p>
<p>Create the following as a script for bash. Ensure you setup the execute bit on the file ie &#8220;chmod +x pgfouine_process&#8221;.</p>
<pre class="brush: plain; title: ; notranslate">#!/bin/bash

PGFOUINE=&quot;/srv/www/htdocs/pgfouine/pgfouine.php&quot;
DATESTAMP=$(date +%G%m%d)
YEAR=$(date +%G)
MONTH=$(date +%m)
REPORTDIR=&quot;/srv/www/htdocs/reports&quot;
PGSQLLOG=&quot;/var/log/pgsql/postgresql.log&quot;

mkdir $REPORTDIR/$YEAR/$MONTH -p

php $PGFOUINE -file $PGSQLLOG &amp;gt; $REPORTDIR/$YEAR/$MONTH/$DATESTAMP.htm</pre>
<p>You may customise this script to suit your needs depending on where you put the PgFouine files and where you want to store/serve your reports from. You may also with to send the report via email once it is generated, the sky is the limit (ok, sorry for the cliche).</p>
<p><strong>Logrotate</strong></p>
<p>To execute this script each time the log file is rotated put the following file into your /etc/logrotate.d directory.</p>
<pre class="brush: plain; title: ; notranslate">/var/log/pgsql/postgresql.log {
    compress
    dateext
    rotate 99
    daily
    notifempty
    missingok
    create 640 postgres users
    copytruncate
    prerotate
        /var/lib/pgsql/bin/pgfouine_process
    endscript
}</pre>
<p>The important thing for this is the prerotate section. This will run the script first before rotating the log file.</p>
<p>If you don&#8217;t have Logrotate setup you could easily run the pgfouine script on a daily basis with Cron.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/08/pgfouine-automatic-report-setup-with-postgresql-logrotate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mitel Bandwidth Management Graphs for Cacti</title>
		<link>http://www.thelazysysadmin.net/2009/08/mitel-bandwidth-management-graphs-for-cacti/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mitel-bandwidth-management-graphs-for-cacti</link>
		<comments>http://www.thelazysysadmin.net/2009/08/mitel-bandwidth-management-graphs-for-cacti/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 05:43:07 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Cacti]]></category>
		<category><![CDATA[Mitel]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[Graphing]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[PABX]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=592</guid>
		<description><![CDATA[When running a cluster of Mitel PABX&#8217;s it is likely that you will have them interconnecting in one way or another. If you send calls over your WAN connection then these graphs are for you. There are two graphs added: &#8230; <a href="http://www.thelazysysadmin.net/2009/08/mitel-bandwidth-management-graphs-for-cacti/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When running a cluster of Mitel PABX&#8217;s it is likely that you will have them interconnecting in one way or another. If you send calls over your WAN connection then these graphs are for you.</p>
<p>There are two graphs added:</p>
<p>Bandwidth &#8211; Shows the current set bandwidth limit and usage figures for a Zone Access Point<br />
Calls &#8211; Shows the number of calls both accepted or rejected by Bandwidth Management</p>
<p><span id="more-592"></span>To install just copy the &#8220;mitel_bwmgt_stats.xml&#8221; file into your cacti &#8220;resource/snmp_queries&#8221; directory. Then import the host template file into Cacti (Minimum Ver 0.8.7d). Once that is done you should be able to add the Mitel graphs to your monitored Mitel hosts.</p>
<p><a href="http://www.thelazysysadmin.net/wp-content/uploads/2009/08/MitelBandwidthManagement_bandwidth.png"><img class="alignnone size-full wp-image-595" title="Mitel Bandwidth Management Bandwidth Graph" src="http://www.thelazysysadmin.net/wp-content/uploads/2009/08/MitelBandwidthManagement_bandwidth.png" alt="Mitel Bandwidth Management Bandwidth Graph" width="587" height="247" /></a></p>
<p><a href="http://www.thelazysysadmin.net/wp-content/uploads/2009/08/MitelBandwidthManagement_calls.png"><img class="alignnone size-full wp-image-594" title="Mitel Bandwidth Management Calls Graph" src="http://www.thelazysysadmin.net/wp-content/uploads/2009/08/MitelBandwidthManagement_calls.png" alt="Mitel Bandwidth Management Calls Graph" width="587" height="247" /></a></p>
<p><strong>Requirements</strong></p>
<ul>
<li>Cacti &#8211; 0.8.7d</li>
<li>SNMP Enabled on the Mitel Controller</li>
</ul>
<p><strong>Download</strong></p>
<ul>
<li><a href="http://www.thelazysysadmin.net/wp-content/uploads/2009/08/MitelBandwidthManagementCactiGraphs.zip">Mitel Bandwidth Management Cacti Graphs</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/08/mitel-bandwidth-management-graphs-for-cacti/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Monitor Mitel 3300 ICP with Nagios</title>
		<link>http://www.thelazysysadmin.net/2009/07/monitor-mitel-3300-icp-with-nagios/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monitor-mitel-3300-icp-with-nagios</link>
		<comments>http://www.thelazysysadmin.net/2009/07/monitor-mitel-3300-icp-with-nagios/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 09:01:04 +0000</pubDate>
		<dc:creator>Jon Smith</dc:creator>
				<category><![CDATA[Mitel]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Alarms]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[PABX]]></category>
		<category><![CDATA[SNMP]]></category>

		<guid isPermaLink="false">http://www.thelazysysadmin.net/?p=578</guid>
		<description><![CDATA[I have a cluster of Mitel 3300 ICP PABX&#8217;s across several offices internationally and have been looking for a monitoring solution that can send alerts whenever an alarm is triggered on any one of the PABX controllers. Mitel already have &#8230; <a href="http://www.thelazysysadmin.net/2009/07/monitor-mitel-3300-icp-with-nagios/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have a cluster of Mitel 3300 ICP PABX&#8217;s across several offices internationally and have been looking for a monitoring solution that can send alerts whenever an alarm is triggered on any one of the PABX controllers. Mitel already have a monitoring solution called Enterprise Manager, but this didn&#8217;t do what I wanted it to do. Enterprise Manager will send out emails based on certain policies and allow for issue escalation but its features are a little limited. I already have an extensive Nagios setup that will SMS and email for alerts, so I looked at integrating with this system.</p>
<p><span id="more-578"></span>I have developed a script that will check the Mitel system via SNMP to check the current alarm level, if there is an alarm it will then make another SNMP call to the alarm categories table and list the current list of alarms as part of the alert. The script requires the perl module Net::SNMP and can be downloaded from the download section at the bottom of this post.</p>
<p>Usage:</p>
<pre class="brush: plain; title: ; notranslate">Usage: ./check_mitel.pl hostname [snmp community: Defaults to &quot;public&quot;]
            [snmp port: Defaults to &quot;161&quot;]</pre>
<p>Check Command Definition:</p>
<pre class="brush: plain; title: ; notranslate">define command{
        command_name    mitelalarm
        command_line    $USER1$/check_mitel.pl $HOSTADDRESS$ $ARG1$
}</pre>
<p>Service Template Definition:</p>
<pre class="brush: plain; title: ; notranslate">define service {
        name mitelalarm
        use base
        check_command mitelalarm
        register 0
}</pre>
<p>Service Definition (replace &#8220;public&#8221; with the SNMP Community set on your Mitel controller):</p>
<pre class="brush: plain; title: ; notranslate">define service {
        use base
        service_description Mitel Alarm Check
        check_command mitelalarm!public
        host_name mitelcontroller1
}</pre>
<p><strong>Download</strong>:</p>
<ul>
<li><a href="http://www.thelazysysadmin.net/wp-content/uploads/2009/07/check_mitel.pl">check_mitel.pl</a></li>
</ul>
<p>I have also been working on Cacti graphs of the Bandwidth management details, more on that early next month <img src='http://www.thelazysysadmin.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thelazysysadmin.net/2009/07/monitor-mitel-3300-icp-with-nagios/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

