<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Port 25: The Open Source Community at Microsoft : Community, Management</title><link>http://port25.technet.com/archive/tags/Community/Management/default.aspx</link><description>Tags: Community, Management</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Part 1: Lessons I Learned as a Project Manager Converting to Agile</title><link>http://port25.technet.com/archive/2009/10/19/lessons-i-learned-as-a-project-manager-converting-to-agile.aspx</link><pubDate>Mon, 19 Oct 2009 19:16:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:28086</guid><dc:creator>saraford</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=28086</wfw:commentRss><comments>http://port25.technet.com/archive/2009/10/19/lessons-i-learned-as-a-project-manager-converting-to-agile.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Before I became the Program Manager for &lt;A href="http://www.codeplex.com/" target=_blank&gt;CodePlex.com&lt;/A&gt;, Microsoft's open source project hosting site, I worked on the Visual Studio team on four different product cycles. Since Visual Studio uses traditional Microsoft product lifecycle releases, I had to learn about Agile development alongside learning about open source development when I joined the CodePlex.com team. &amp;nbsp;Making the switch from releasing every three years to every three weeks didn't happen overnight!&lt;/P&gt;
&lt;P&gt;One of the things I discovered is that Agile is used a lot in open source communities. In fact, many of the people who I've worked with personally on learning Agile have strong roots in OSS. Also, the fact that Microsoft is starting to adopt Agile philosophies shows how the company&amp;nbsp;is changing, becoming more transparent, finding more ways to connect with the community, and embracing other schools of thought. And this is why I am here, to be on the inside to push for these cultural changes within Microsoft. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Although Agile is the single greatest thing a team could do to significantly improve the user experience and quality of their website, I believe it can be quite challenging for anyone not in a developer role to get accustomed to. I hope that by sharing my experiences, I can help others in non-developer disciplines on an Agile team.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;In this series of blog posts, you'll discover how I learned to program manage an Agile team after six years of waterfall (the traditional method of software development).&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;B&gt;Three&amp;nbsp;Major Takeaways&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;If I could go back in time, here are the three things I would tell myself about Agile. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;B&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/B&gt;&lt;B&gt;Design and plan for the very next step&lt;/B&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;It's not about reaching the moon, but getting out of your front door. Sure, you can design the perfect feature, but if it is going to take you six months to get there, it is useless to an Agile team. It's about designing the journey towards the perfect feature that matters. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/B&gt;&lt;B&gt;Break down work into the smallest possible functional sets. &lt;/B&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Adding work is fun and rewarding, but removing incomplete work due to a lack of development time&amp;nbsp;is painful and risky. But, you can't deploy a half-written feature either. First, break down the work into the smallest pieces. Then, put together the smallest functional sets that have to be deployed together for the feature to make sense. Your development team will tell you how many sets they can do per release. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/B&gt;&lt;B&gt;Design and plan only 80% of the way. &lt;/B&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Not designing the full 100% is a true blessing in disguise. Since you have another release right around the corner, you have the time to collect user feedback and incorporate it into the next design. Not only does this solve the remaining 20% (getting you closer to the perfect design with less cost), but also allows your customers to be virtual members of your team. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;The Program Manager Release Cycle&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;To begin, here's an Agile release cycle from the point of view of the Program Manager. For simplicity, this illustration only depicts a single release cycle, without any overlap of previous or future cycles.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://port25.technet.com/images/port25/ProgramManagementReleaseCycle.png"&gt;&lt;IMG style="WIDTH: 517px; HEIGHT: 363px" border=0 src="http://port25.technet.com/images/port25/ProgramManagementReleaseCycle.png" width=605 height=394&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Ratings and Reviews: An Example&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;To further illustrate, consider the &lt;A href="http://blogs.msdn.com/codeplex/archive/2008/08/01/ratings-and-reviews-for-codeplex-projects.aspx" target=_blank mce_href="http://blogs.msdn.com/codeplex/archive/2008/08/01/ratings-and-reviews-for-codeplex-projects.aspx"&gt;ratings and reviews &lt;/A&gt;feature on CodePlex.com as an example. Users can rate a release and write a review for projects on CodePlex. &lt;/P&gt;
&lt;P mce_keep="true"&gt;One quick aside about ratings and reviews: CodePlex users rate an individual release instead the entire project. For example, consider Stephen King as an author. What does it mean for me to rate Stephen King 4 out of 5 stars? I find some of his books to be awful, like the &lt;A href="http://en.wikipedia.org/wiki/The_Tommyknockers" target=_blank mce_href="http://en.wikipedia.org/wiki/The_Tommyknockers"&gt;Tommyknockers&lt;/A&gt;. I want those 7 hours of my life back. 1 out of 5 stars. Yet, for me, some of his other books are incredible, like &lt;A href="http://en.wikipedia.org/wiki/The_Dark_Tower_VII:_The_Dark_Tower" target=_blank mce_href="http://en.wikipedia.org/wiki/The_Dark_Tower_VII:_The_Dark_Tower"&gt;The Dark Tower&lt;/A&gt;. 5 out of 5 stars. Hence, we allow users to rate an individual release to provide more relevant information to potential downloaders of the project.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Let's explore the ratings and reviews feature step-by-step in the Program Manager shoes.&lt;/P&gt;
&lt;P mce_keep="true"&gt;1. &lt;B&gt;Design Phase Part 1: &lt;/B&gt;Limit the scope to designing the minimum to make the feature useful and meaningful. For ratings and reviews, the feature must have the following:&lt;/P&gt;
&lt;P mce_keep="true"&gt;a. User can rate a release. User can view the rating.&lt;/P&gt;
&lt;P&gt;b. User can write a review. User can read the review.&lt;/P&gt;
&lt;P&gt;c. User can sort by highest rated releases in project directory.&lt;/P&gt;
&lt;P mce_keep="true"&gt;2. &lt;B&gt;Design Phase Part 2: &lt;/B&gt;Bucket into smallest deployable functional sets. For me, personally, I use sticky notes to illustrate the "must have" pieces for each set. &lt;/P&gt;
&lt;P mce_keep="true"&gt;a. Sticky Note #1: Rate releases / View rating&lt;/P&gt;
&lt;P&gt;b. Sticky Note #2: Write a review / read review&lt;/P&gt;
&lt;P&gt;c. Sticky Note #2: Sort by highest rated releases&lt;/P&gt;
&lt;P mce_keep="true"&gt;3. &lt;B&gt;Iteration Planning Meeting: &lt;/B&gt;To start the development cycle, meet with the development team to discuss costing.&lt;/P&gt;
&lt;P mce_keep="true"&gt;a. In the case of ratings and reviews, my devs said they could do Sticky Notes #1 and #2, but the project directory sorting feature would have to wait for the next release.&lt;/P&gt;
&lt;P&gt;4. &lt;B&gt;Dev Cycle: &lt;/B&gt;Because the designs are closer to 1-page specifications rather than fully-documented implementations, questions will come up from the dev team. This is where you, the Program Manager, will:&lt;/P&gt;
&lt;P mce_keep="true"&gt;a. Answer any questions about the missing 20% of the specifications / wireframes&lt;/P&gt;
&lt;P&gt;b. "Course correct" (more on that later) &lt;/P&gt;
&lt;P&gt;c. Add more feature work if time allows&lt;/P&gt;
&lt;P mce_keep="true"&gt;5. &lt;B&gt;Deployment&lt;/B&gt;: The release goes live. Now you can collect user feedback and incorporate it into the next development cycle.&lt;/P&gt;
&lt;P mce_keep="true"&gt;a. The very first tweet I saw regarding the ratings and reviews feature was "Sara, is there a way to sort by highest rated?" Here, I was able to ask the user questions about how this feature should work to confirm our designs. Most of the time we don't inform users what's coming up next (we like surprises.) But in this case, it was pretty obvious.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here's the visual representation of the ratings and reviews feature in the Program Management agile release cycle:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;B&gt;&lt;A href="http://port25.technet.com/images/port25/RatingsAndReviewsReleaseCycleExample.png"&gt;&lt;IMG style="WIDTH: 567px; HEIGHT: 352px" border=0 src="http://port25.technet.com/images/port25/RatingsAndReviewsReleaseCycleExample.png" width=645 height=401&gt;&lt;/A&gt;&lt;A href="http://port25.technet.com/images/port25/RatingsAndReviewsReleaseCycleExample.png"&gt;&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&amp;nbsp;&lt;/B&gt;&lt;B&gt;Conclusion of Part 1: The Agile Program Management Cycle&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;This concludes my first post on Program Managing an Agile team. Since I could go on endlessly writing about topics I'm passionate about (and those who know me will confirm this is not an exaggeration), I'm going to pause here to conclude this initial train of thought. &lt;/P&gt;
&lt;P mce_keep="true"&gt;If you like what you see, let me know! And if you don't like what you see, please don't hesitate to let me know. Seriously, I &lt;B&gt;love&lt;/B&gt; discussing &lt;A href="http://blogs.msdn.com/saraford/archive/2009/03/16/how-i-learned-to-program-manage-an-agile-team-after-6-years-of-waterfall.aspx" target=_blank mce_href="http://blogs.msdn.com/saraford/archive/2009/03/16/how-i-learned-to-program-manage-an-agile-team-after-6-years-of-waterfall.aspx"&gt;my Love / Hate Relationship with Agile development&lt;/A&gt;, as depicted on my personal blog. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;Up next: The concept of Course Correction.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=28086" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Sara+Ford/default.aspx">Sara Ford</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Dev+Center/default.aspx">Dev Center</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>GroundWork Open Source Joins Microsoft's System Center Alliance</title><link>http://port25.technet.com/archive/2009/09/24/groundwork-open-source-joins-microsoft-s-system-center-alliance.aspx</link><pubDate>Thu, 24 Sep 2009 13:31:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:27827</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=27827</wfw:commentRss><comments>http://port25.technet.com/archive/2009/09/24/groundwork-open-source-joins-microsoft-s-system-center-alliance.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;GroundWork Open Source, Inc., a commercial open source company that produces&amp;nbsp;&lt;A class="" href="http://www.groundworkopensource.com/about/news/pr/network-management-software.html" target=_blank mce_href="http://www.groundworkopensource.com/about/news/pr/network-management-software.html"&gt;network management software&lt;/A&gt;, last week&amp;nbsp;&lt;A href="http://www.groundworkopensource.com/about/news/pr/windows-monitoring.html" target=_blank mce_href="http://www.groundworkopensource.com/about/news/pr/windows-monitoring.html"&gt;announced&lt;/A&gt; the availability of the GroundWork Connector for Microsoft System Center Operations Manager. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The company has also become a&amp;nbsp;member of the &lt;A href="http://www.microsoft.com/systemcenter/en/us/alliance-program-overview.aspx" target=_blank mce_href="http://www.microsoft.com/systemcenter/en/us/alliance-program-overview.aspx"&gt;System Center Alliance&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;GroundWork Monitor,&amp;nbsp;which already has more than &lt;A class="" href="http://monitoringforge.org/plugins/" target=_blank mce_href="http://monitoringforge.org/plugins/"&gt;1,500 plugins available&lt;/A&gt;, integrates with &lt;A class="" href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx" target=_blank mce_href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx"&gt;System Center Operations Manager&lt;/A&gt; and extends monitoring and management coverage to non-Windows systems, applications and devices. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The new GroundWork Connector pulls information from System Center Operations Manager and displays it within &lt;A class="" href="http://www.groundworkopensource.com/products/enterprise/" target=_blank mce_href="http://www.groundworkopensource.com/products/enterprise/"&gt;GroundWork Monitor Enterprise&lt;/A&gt;, giving customers a deeper visibility into the availability and performance of all critical infrastructures on a single console. The connector gives insight into applications, databases, virtual machines and network devices that may be running on Linux, Unix, Windows or embedded operating systems.&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I talked to David Dennis, the company's senior director of marketing and business development this week about the move, which he&amp;nbsp;feels is&amp;nbsp;a great follow-up to the release of the &lt;A class="" href="http://port25.technet.com/archive/2008/11/18/two-years-and-counting.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/18/two-years-and-counting.aspx"&gt;System Center Cross Platform extensions&lt;/A&gt; earlier this year.&lt;/P&gt;
&lt;P mce_keep="true"&gt;That &lt;A class="" href="http://blogs.msdn.com/scxplat/archive/2008/04/29/announcing-system-center-operations-manager-2007-cross-platform-extensions-and-connectors.aspx" target=_blank mce_href="http://blogs.msdn.com/scxplat/archive/2008/04/29/announcing-system-center-operations-manager-2007-cross-platform-extensions-and-connectors.aspx"&gt;release&lt;/A&gt;&amp;nbsp;broke new ground for using System Center in heterogeneous environments. "In the field, we have more and more users asking about how they can integrate the management of Windows with open source tools for managing network infrastructure, Unix, Linux, and the applications that run on top of them," he told me.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The dialog also&amp;nbsp;no longer seems to be about choice between Windows or Open Source but rather "I want both - now how do I make them work together," &amp;nbsp;he says. Even though GroundWork Open Source is an &lt;A href="http://www.gwos.com/" target=_blank mce_href="http://www.gwos.com"&gt;open source company&lt;/A&gt;, about half of the operating systems managed by GroundWork Monitor are running Windows.&lt;/P&gt;
&lt;P mce_keep="true"&gt;"The combination of System Center Operations Manager and GroundWork Monitor provides a full-featured alternative to traditional systems management frameworks, but with greater openness and at a much lower price point," Dennis says.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=27827" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Peter+Galli/default.aspx">Peter Galli</category></item><item><title>Tuxera Signs File System IP Agreement with Microsoft </title><link>http://port25.technet.com/archive/2009/08/26/tuxera-signs-file-system-covenant-with-microsoft.aspx</link><pubDate>Wed, 26 Aug 2009 12:21:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:27362</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=27362</wfw:commentRss><comments>http://port25.technet.com/archive/2009/08/26/tuxera-signs-file-system-covenant-with-microsoft.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Tuxera, a Finnish company that&amp;nbsp;develops NTFS drivers, has entered into a file system&amp;nbsp;IP&amp;nbsp;agreement with Microsoft in the area of data portability for devices&lt;/P&gt;
&lt;P&gt;The agreement gives &lt;A class="" href="http://www.tuxera.com/" target=_blank mce_href="http://www.tuxera.com/"&gt;Tuxera&lt;/A&gt; access to the exFAT specifications and source code, as well as&amp;nbsp;testing and verification tools, and the company will develop exFAT drivers for host device manufacturers. The company will also join the &lt;A class="" href="http://interopvendoralliance.org/" target=_blank mce_href="http://interopvendoralliance.org/"&gt;Interoperability Vendor Alliance&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;While this&amp;nbsp;is also the first-ever file system IP agreement that Microsoft has signed with an independent software vendor, &lt;A class="" href="http://www.tuxera.com/about-us/news/837/" target=_blank mce_href="http://www.tuxera.com/about-us/news/837/"&gt;Tuxera&lt;/A&gt; joins a growing number of companies&amp;nbsp;entering into the exFAT Program. &lt;/P&gt;
&lt;P&gt;The &lt;A class="" href="http://msdn.microsoft.com/en-us/library/aa914353.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa914353.aspx"&gt;Extended File Allocation Table&lt;/A&gt; (exFAT) is a new file system that is better adapted to the growing needs of mobile personal storage. It&amp;nbsp;allows a common file system to be used across all platform and devices that implement exFAT, which&amp;nbsp;allows for data portability.&lt;/P&gt;
&lt;P&gt;It also handles not only large files, such as those used for media storage, but also enables seamless interoperability between desktop PCs and devices like portable media devices, cameras or even kitchen devices so that files can easily be copied between desktop and device. &lt;/P&gt;
&lt;P&gt;"Adding exFAT into our product portfolio is the logical step to help our customers to solve their interoperable file systems needs. Microsoft supports exFAT as the first-choice for many Windows interoperability needs including flash memories in consumer devices. exFAT is for example an integral part of &lt;A class="" href="http://www.sdcard.org/developers/tech/sdxc" target=_blank mce_href="http://www.sdcard.org/developers/tech/sdxc"&gt;&lt;FONT color=#ff4500&gt;SDXC formats&lt;/FONT&gt;&lt;/A&gt;, and the driver is good for flash drives, including devices that use SDXC&amp;nbsp;cards," says Tuxera CTO&amp;nbsp;Szabolcs Szakacsits&lt;/P&gt;
&lt;DIV class=entry-content sizset="40" sizcache="0"&gt;For his part, Mikko Välimäki, the company's CEO, believes that his company's ongoing collaboration with Microsoft ensures seamless file system interoperability into the future. &lt;/DIV&gt;
&lt;P&gt;"We were the first to offer exFAT drivers based on our first-hand access to specifications and source code.We are also&amp;nbsp;licensing exFAT drivers to device manufacturers, we are joining Microsoft's partner program, and have also announced a new product: &lt;A class="" href="http://www.tuxera.com/products/exfat-for-embedded-systems/" target=_blank mce_href="http://www.tuxera.com/products/exfat-for-embedded-systems/"&gt;Tuxera exFAT for Embedded Systems&lt;/A&gt;, which will be first available for Linux, but we can also port the product to proprietary platforms," he says.&lt;/P&gt;
&lt;P&gt;The IP agreement the company has signed with Microsoft is consistent with Tuxera's business model, which is to&amp;nbsp;integrate and license commercial, high-performance versions of its file system drivers to customers, as well as&amp;nbsp;to provide support, maintenance, and product updates, Välimäki says. &lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=27362" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Licenses/default.aspx">Licenses</category><category domain="http://port25.technet.com/archive/tags/Standards/default.aspx">Standards</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Peter+Galli/default.aspx">Peter Galli</category></item><item><title>Project Quant</title><link>http://port25.technet.com/archive/2009/04/15/project-quant.aspx</link><pubDate>Wed, 15 Apr 2009 22:54:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:25303</guid><dc:creator>Peter Galli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=25303</wfw:commentRss><comments>http://port25.technet.com/archive/2009/04/15/project-quant.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I noticed today that my colleague Jeff Jones in the security group is launching a metric project that appears to be leveraging some of the good bits of open techniques.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I touched base with him briefly and he gave me a little more information about &lt;A class="" href="http://securosis.com/projectquant" target=_blank mce_href="http://securosis.com/projectquant"&gt;Project Quant&lt;/A&gt;, which is being undertaken along with &lt;A class="" href="http://securosis.com/" target=_blank mce_href="http://securosis.com/"&gt;Securosis&lt;/A&gt;, an independent security research firm.&lt;/P&gt;
&lt;P&gt;Project Quant will be working on the metrics of patch management and is as much an experiment of a new research process as it is one of security metrics, said Securosis founder Rich Mogull in a &lt;A class="" href="http://securosis.com/projectquant" target=_blank mce_href="http://securosis.com/projectquant"&gt;blog post&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;"For this project Jeff wanted to be involved, but also asked for an open, unbiased model that will be useful to community-at-large (in other words, he didn't ask for a sales tool). Rather than us developing something back at the metrics lab, Jeff asked us to lead an open community project with as much involvement from the different corners of the industry as possible," Mogull said.&lt;/P&gt;
&lt;P mce_keep="true"&gt;While he also acknowledged that it is risky for Securosis&amp;nbsp;to allow direct involvement of the sponsor, the company is hoping that the process works the way it thinks it will and which also happens to match Microsoft's project goals.&lt;/P&gt;
&lt;P&gt;So, this is what's expected to happen: a project landing site has been set up at Securosis that will contain all material and research as it is developed; every piece of research will be posted for public comment and no comments will be filtered unless they are spam, totally off topic, or personal insults. &lt;/P&gt;
&lt;P mce_keep="true"&gt;All significant contributors will also be acknowledged in the final report, although there will be no financial compensation for contributors and the project itself will retain ownership rights. All material will also be released under a &lt;A class="" href="http://port25.technet.com/archive/2009/03/11/microsoft-makes-more-source-code-available.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/03/11/microsoft-makes-more-source-code-available.aspx"&gt;Creative Commons&lt;/A&gt; license, with spreadsheets released in both Excel and open formats. &lt;/P&gt;
&lt;P mce_keep="true"&gt;"In short, we are developing all research out in the open, soliciting community involvement at every stage, making all the materials public, acknowledging contributors, and eventually releasing the final results for free and public use. The end goal of the project is to deliver a metrics model for patch management response to help organizations assess their costs, optimize their process, and achieve their business goals. Let us know what you think, even if you think we're just full of it," Mogull said. &lt;/P&gt;
&lt;P mce_keep="true"&gt;For his part, Jones told me that while he has been zealous in past reports about using repeatable methodologies, pointing to his source of public data, and outlining his assumptions step-by-step, he would like to take transparency one step further by developing models and methodologies first, in an open and transparent manner, so that everyone can agree on the pros and cons before the methodologies are applied.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;"I think being completely open and transparent will help credibility since, similar to open source, everyone can scrutinize every step of the analysis ... creating open models and potentially getting community involvement just seems to be the right process," he says.&lt;/P&gt;
&lt;P&gt;I plan to interview him at greater length in the next few weeks, so look for a follow-up blog then.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=25303" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Security/default.aspx">Security</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>SMB2: a Complete Redesign of the Main Remote File Protocol for Windows</title><link>http://port25.technet.com/archive/2008/12/08/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx</link><pubDate>Mon, 08 Dec 2008 16:24:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:22337</guid><dc:creator>Peter Galli</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=22337</wfw:commentRss><comments>http://port25.technet.com/archive/2008/12/08/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;SMB (Server Message Block) is a remote file protocol commonly used by Microsoft Windows clients and servers that dates back to 1980's. &lt;/P&gt;
&lt;P&gt;Back when it was first used, LANs speeds were typically 10Mbps or less, WAN use was very limited and there were no Wireless LANs. Network security concerns like preventing man-in-the-middle attacks were non-existent at that time. &lt;/P&gt;
&lt;P&gt;Obviously, things have changed a lot since then. SMB did evolve over time, but it did so incrementally and with great care for keeping backward compatibility. It was only with SMB2 in 2007 that we had the first major redesign. &lt;/P&gt;
&lt;P&gt;In this blog Jose Barreto, a senior technical evangelist in Microsoft's Storage Solutions Division, explains some of the history behind the protocol and outlines important &lt;A class="" href="http://blogs.technet.com/josebda/archive/2008/12/05/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx" mce_href="http://blogs.technet.com/josebda/archive/2008/12/05/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx"&gt;improvements in SMB2&lt;/A&gt;, particularly in regards to reduced complexity, pipelining and compounding. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;B&gt;Introduction&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;SMB (Server Message Block) is a remote file protocol commonly used by Microsoft Windows clients and servers that dates back to 1980's. Back when it was first used, LANs speeds were typically 10Mbps or less, WAN use was very limited and there were no Wireless LANs. Network security concerns like preventing man-in-the-middle attacks were non-existent at that time. Obviously, things have changed a lot since then. SMB did evolve over time, but it did so incrementally and with great care for keeping backward compatibility. It was only with SMB2 in 2007 that we had the first major redesign.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;A History of SMB and CIFS&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;When it was first introduced to the public, the remote file protocol was called SMB (Server Message Block). SMB was used, for instance, by Microsoft LAN Manager in 1987 and by Windows for Workgroups in 1992. Later, a draft specification was submitted to the IETF under the name Common Internet File System (CIFS). The CIFS specification is a description of the protocol as it was implemented in 1996 as part of Microsoft Windows NT 4.0. A preliminary draft of the IETF CIFS 1.0 specification was published in 1997. Later, extensions were made to address other scenarios like domains, Kerberos, shadow copy, server to server copy and SMB signing. Windows 2000 (released in 2000) included those extensions. At that time, some people went back to calling the protocol SMB once again. CIFS/SMB has also been implemented on Unix, Linux and many other operating systems (either as part of the OS or as a server suite like Samba). A few times, those communities also extended the CIFS/SMB protocol to address their own specific requirements.&lt;/P&gt;
&lt;P&gt;One important limitation of SMB was its "chattiness" and lack of concern for network latency. It would take a series of synchronous round trips to accomplish many of the most common tasks. The protocol was not created with WAN or high-latency networks in mind and there was limited use of compounding (combining multiple commands in a single network packet) or pipelining (sending additional commands before the answer to a previous command arrives). This even led to products created to address the specific issues around SMB WAN acceleration. There were also limitations regarding the number of open files, shares and users. Due to the large number of commands and subcommands, the protocol was also difficult to extend, maintain and secure.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Introducing SMB2&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The first major redesign of SMB happened with the release of SMB2 by Microsoft. SMB2 was introduced with Windows Vista in 2007 and updated with the release of Windows Server 2008 and Windows Vista SP1 in 2008. &lt;/P&gt;
&lt;P&gt;SMB2 brought a number of improvements, including but not limited to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Reduced complexity, going from over 100 commands and subcommands to just 19 (see details below) &lt;/LI&gt;
&lt;LI&gt;General mechanisms for data pipelining and credit-based flow control (see details below) &lt;/LI&gt;
&lt;LI&gt;Request compounding, which allows multiple SMB requests to be sent as a single network request(see details below) &lt;/LI&gt;
&lt;LI&gt;Larger reads and writes make better use of faster networks, even with high latency &lt;/LI&gt;
&lt;LI&gt;Caching of folder and file properties, where clients keeps local copy of information on folders and files &lt;/LI&gt;
&lt;LI&gt;Durable handles allow an SMB2 connection to transparently reconnect to the server if there is a temporary loss of network connectivity &lt;/LI&gt;
&lt;LI&gt;Message signing improved (HMAC SHA-256 replaces MD5 as hashing algorithm) and configuration/interoperability issues simplified &lt;/LI&gt;
&lt;LI&gt;Improved scalability for file sharing (number of users, shares and open files per server greatly increased) &lt;/LI&gt;
&lt;LI&gt;Protocol works well with Network Address Translation (VC count is gone) &lt;/LI&gt;
&lt;LI&gt;Extension mechanism (for instance, create context or variable offsets) &lt;/LI&gt;
&lt;LI&gt;Support for symbolic links&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It is important to highlight that, to ensure interoperability, SMB2 uses the existing SMB1 connection setup mechanisms, and then advertises that it is capable of a new version of the protocol. Because of that, if the opposite end does not support SMB2, SMB1 will be used. &lt;/P&gt;
&lt;P&gt;The SMB2 protocol specification was published publicly by Microsoft and you can find the link at the end of this post.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Reduced Complexity&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;One of the ways to showcase the reduced complexity in SMB2 is to make a comparison to the commands and subcommands in the old version.&lt;/P&gt;
&lt;P&gt;Here is the complete list of the 19 opcodes (or commands) used by SMB2 in the message exchanges between the client and the server, grouped in three categories:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Protocol negotiation, user authentication and share access (NEGOTIATE, SESSION_SETUP, LOGOFF, TREE_CONNECT, TREE_DISCONNECT) &lt;/LI&gt;
&lt;LI&gt;File, directory and volume access (CANCEL, CHANGE_NOTIFY, CLOSE, CREATE, FLUSH, IOCTL, LOCK, QUERY_DIRECTORY, QUERY_INFO, READ, SET_INFO, WRITE) &lt;/LI&gt;
&lt;LI&gt;Other (ECHO, OPLOCK_BREAK)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;When you try to get a similar list for the old SMB, things get a little more complex. I tried to make a list of all commands and subcommands using only the documents linked below and came up with over 100: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Protocol negotiation, user authentication and share access (NEGOTIATE, SESSION_SETUP_ANDX, TRANS2_SESSION_SETUP, LOGOFF_ANDX, PROCESS_EXIT, TREE_CONNECT, TREE_CONNECT_ANDX, TREE_DISCONNECT) &lt;/LI&gt;
&lt;LI&gt;File, directory and volume access (CHECK_DIRECTORY, CLOSE, CLOSE_PRINT_FILE, COPY, CREATE, CREATE_DIRECTORY, CREATE_NEW, CREATE_TEMPORARY, DELETE, DELETE_DIRECTORY, FIND_CLOSE, FIND_CLOSE2, FIND_UNIQUE, FLUSH, GET_PRINT_QUEUE, IOCTL, IOCTL_SECONDARY, LOCK_AND_READ, LOCK_BYTE_RANGE, LOCKING_ANDX, MOVE, NT_CANCEL, NT_CREATE_ANDX, NT_RENAME, NT_TRANSACT, NT_TRANSACT_CREATE, NT_TRANSACT_IOCTL, NT_TRANSACT_NOTIFY_CHANGE, NT_TRANSACT_QUERY_QUOTA, NT_TRANSACT_QUERY_SECURITY_DESC, NT_TRANSACT_RENAME, NT_TRANSACT_SECONDARY, NT_TRANSACT_SET_QUOTA, NT_TRANSACT_SET_SECURITY_DESC, OPEN, OPEN_ANDX, OPEN_PRINT_FILE, QUERY_INFORMATION, QUERY_INFORMATION_DISK, QUERY_INFORMATION2, READ, READ_ANDX, READ_BULK, READ_MPX, READ_RAW, RENAME, SEARCH, SEEK, SET_INFORMATION, SET_INFORMATION2, TRANS2_CREATE_DIRECTORY, TRANS2_FIND_FIRST2, TRANS2_FIND_NEXT2, TRANS2_FIND_NOTIFY_FIRST, TRANS2_FIND_NOTIFY_NEXT, TRANS2_FSCTL , TRANS2_GET_DFS_REFERRAL, TRANS2_IOCTL2, TRANS2_OPEN2, TRANS2_QUERY_FILE_INFORMATION, TRANS2_QUERY_FS_INFORMATION, TRANS2_QUERY_PATH_INFORMATION, TRANS2_QUERY_PATH_INFORMATION, TRANS2_REPORT_DFS_INCONSISTENCY, TRANS2_SET_FILE_INFORMATION, TRANS2_SET_FS_INFORMATION, TRANS2_SET_PATH_INFORMATION, TRANSACTION, TRANSACTION_SECONDARY, TRANSACTION2, TRANSACTION2_SECONDARY, UNLOCK_BYTE_RANGE, WRITE, WRITE_AND_CLOSE, WRITE_AND_UNLOCK, WRITE_ANDX, WRITE_BULK, WRITE_BULK_DATA, WRITE_COMPLETE, WRITE_MPX, WRITE_MPX_SECONDARY, WRITE_PRINT_FILE, WRITE_RAW) &lt;/LI&gt;
&lt;LI&gt;Other (ECHO, TRANS_CALL_NMPIPE, TRANS_MAILSLOT_WRITE, TRANS_PEEK_NMPIPE, TRANS_QUERY_NMPIPE_INFO, TRANS_QUERY_NMPIPE_STATE, TRANS_RAW_READ_NMPIPE, TRANS_RAW_WRITE_NMPIPE, TRANS_READ_NMPIPE, TRANS_SET_NMPIPE_STATE, TRANS_TRANSACT_NMPIPE, TRANS_WAIT_NMPIPE, TRANS_WRITE_NMPIPE)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I make no claim that the list above for SMB is exact or complete, but it does make a point. As an interesting exercise, check the lists above to verify that, while SMB2 has a single WRITE operation, there are 14 distinct WRITE operations in the old protocol.&lt;/P&gt;
&lt;P&gt;SMB2 also requires TCP as a transport. SMB2 no longer supports NetBIOS over IPX, NetBIOS over UDP or NetBEUI (as SMB version 1 did). &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Pipelining&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;A key improvement in SMB2 is the way it makes it easy for clients to send a number of outstanding requests to a server. This allows the client to build a pipeline of requests instead of waiting for a response before sending the next request.&amp;nbsp; This is especially relevant when using a high latency network.&lt;/P&gt;
&lt;P&gt;SMB2 uses a credit based flow control, which allows the server to control a client's behavior. The server will start with a small number of credits and automatically scale up as needed. With this, the protocol can keep more data "in flight" and better utilize the available bandwidth.&lt;/P&gt;
&lt;P&gt;This is key to make a large transfer go from hours (in SMB) to minutes (in SMB2) in a "long and fat pipe" (high bandwidth, high latency network). &lt;/P&gt;
&lt;P&gt;For an example of how pipelining in SMB2 can improve performance, check out this &lt;A class="" href="http://blogs.technet.com/josebda/archive/2008/11/11/file-server-performance-improvements-with-the-smb2-protocol-in-windows-server-2008.aspx" target=_blank mce_href="http://blogs.technet.com/josebda/archive/2008/11/11/file-server-performance-improvements-with-the-smb2-protocol-in-windows-server-2008.aspx "&gt;blog post&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Compounding&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;When you look at the command set for the new SMB2 protocol, you notice that they are all simple operations. The old SMB1 protocol had some complex commands and subcommands that combined a set of simple operations as required in specific scenarios.&lt;/P&gt;
&lt;P&gt;One of the important changes in SMB2 is the ability to send an arbitrary set of commands in a single request (single network round trip). This is called compounding and it can be use to mimic the old complex operations in SMB1 without the added complexity of a larger command set.&lt;/P&gt;
&lt;P&gt;For instance, an old SMB1 RENAME command can be replaced by a single request in SMB2 that combines three commands: CREATE (which can create a new file or open an existing file), SET_INFO and CLOSE. The same can be done for many other complex SMB1 commands and subcommands like LOCK_AND_READ and WRITE_AND_UNLOCK.&lt;/P&gt;
&lt;P&gt;This compounding ability in SMB2 is very flexible and the chain of commands can be unrelated (executed separately, potentially in parallel) or related (executed in sequence, with the output of one command available to the next). The responses can also be compounded or sent separately. &lt;/P&gt;
&lt;P&gt;This new compounding feature in SMB2 can be used to perform a specific task in less time due to the reduced number of network round trips.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Conclusion&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;I hope this post has helped you understand some of the important improvements in SMB2, particularly in regards to reduced complexity, pipelining and compounding.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Reference&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Below is a list of important links that document SMB2, SMB and CIFS, including the latest protocol specifications published by Microsoft:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc212614.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc212614.aspx "&gt;Server Message Block (SMB) Version 2.0 Protocol Specification&lt;/A&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc212363.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc212363.aspx "&gt;Server Message Block (SMB) Protocol Specification&lt;/A&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://www.microsoft.com/about/legal/protocols/BSTD/CIFS/draft-leach-cifs-v1-spec-02.txt" target=_blank mce_href="http://www.microsoft.com/about/legal/protocols/BSTD/CIFS/draft-leach-cifs-v1-spec-02.txt "&gt;Common Internet File System (CIFS/1.0) Protocol 0 Preliminary Draft&lt;/A&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" href="http://www.microsoft.com/protocols" target=_blank mce_href="http://www.microsoft.com/protocols "&gt;Microsoft Protocol Programs&lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/A&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=22337" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Dev+Center/default.aspx">Dev Center</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Peter+Galli/default.aspx">Peter Galli</category></item><item><title>Two Years and Counting....</title><link>http://port25.technet.com/archive/2008/11/18/two-years-and-counting.aspx</link><pubDate>Wed, 19 Nov 2008 04:16:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:21853</guid><dc:creator>Peter Galli</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=21853</wfw:commentRss><comments>http://port25.technet.com/archive/2008/11/18/two-years-and-counting.aspx#comments</comments><description>&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;
&lt;P&gt;It is two years this month since Microsoft and Novell struck their ground-breaking technical collaboration &lt;A class="" href="http://www.microsoft.com/presspass/press/2006/nov06/11-02MSNovellPR.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/press/2006/nov06/11-02MSNovellPR.mspx"&gt;agreement&lt;/A&gt;, a move that has effectively ensured &lt;A class="" href="http://www.moreinterop.com/" target=_blank mce_href="http://www.moreinterop.com/"&gt;greater interoperability&lt;/A&gt; between Windows Server and SUSE Linux Enterprise Server.&lt;/P&gt;
&lt;P mce_keep="true"&gt;This technical collaboration has already resulted in a number of milestones, including two new offerings announced today: the availability in the first half of 2009 of an Advanced Management Pack for SUSE Linux Enterprise for &lt;A class="" href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx" target=_blank mce_href="http://www.microsoft.com/systemcenter/operationsmanager/en/us/default.aspx"&gt;Microsoft System Center Operations Manager 2007 R2&lt;/A&gt;, and a free beta download of Novell's Moonlight, a rich media application. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Some analysts, vendors and enterprises have said the company that develops effective cross-platform management tools will have an advantage and strategic differentiator over its competitors who do not. Microsoft is already doing that.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The Microsoft &lt;A class="" href="http://blogs.msdn.com/scxplat/archive/2008/04/29/announcing-system-center-operations-manager-2007-cross-platform-extensions-and-connectors.aspx" target=_blank mce_href="http://blogs.msdn.com/scxplat/archive/2008/04/29/announcing-system-center-operations-manager-2007-cross-platform-extensions-and-connectors.aspx"&gt;Operations Manger 2007 Cross Platform Extensions&lt;/A&gt; enable the assessment and management of Windows and Linux servers from a single, unified console, eliminating the costs and complexities of having multiple management consoles. The Advanced Management Pack extends this Linux monitoring capability.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Also, given the current tough economic environment, this solution helps reduce training costs since staff only need to be trained on one management tool for both Windows and Linux environments.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Attendees at the Microsoft TechEd EMEA conference in Barcelona earlier this month got to see a technical preview of the Advanced Management Pack, whose release will coincide with that of Microsoft System Center Operations Manager 2007 R2.&lt;/P&gt;
&lt;P mce_keep="true"&gt;A beta of &lt;A class="" href="http://www.mono-project.com/Moonlight" target=_blank mce_href="http://www.mono-project.com/Moonlight"&gt;Novell's Moonlight&lt;/A&gt;, an open source implementation of &lt;A class="" href="http://silverlight.net/" target=_blank mce_href="http://silverlight.net/"&gt;Microsoft Silverlight&lt;/A&gt;, will also be released going forward as an open source plug-in for the Firefox web browser.&amp;nbsp; Moonlight brings Linux-based users the same high-definition media capabilities currently available for the Windows and Apple environments.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So, expect to see a lot more solutions in the next year that promote interoperability and help ease customer pain-points&amp;nbsp; across their heterogeneous environments.&lt;BR&gt;&lt;BR&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=21853" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://port25.technet.com/archive/tags/Mono/default.aspx">Mono</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>ApacheCon and the Stonehenge Proposal</title><link>http://port25.technet.com/archive/2008/11/10/apachecon-and-the-stonehenge-proposal.aspx</link><pubDate>Mon, 10 Nov 2008 21:24:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:21719</guid><dc:creator>Kamaljit Bath</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=21719</wfw:commentRss><comments>http://port25.technet.com/archive/2008/11/10/apachecon-and-the-stonehenge-proposal.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;This is Kamaljit Bath, and I am in the Big Easy to experience my first &lt;A class="" href="http://www.apachecon.com/" target=_blank mce_href="http://www.apachecon.com"&gt;Apache Conference&lt;/A&gt;! I am a Principal Program Manager in the Interoperability Technical Strategy Team at Microsoft. We have been doing a lot of great interoperability work and have done quite a few Open Source projects to build bridging solutions etc., but this is the first time I am attending ApacheCon. This is a learning experience for me. &lt;/P&gt;
&lt;P&gt;Microsoft is certainly interested in expanding interoperability between Open Source solutions and Microsoft technologies, and is working with individuals and communities for that purpose. I think this is great because it will enable choice of solutions and create strong partnerships to promote growth for everyone in the industry.&lt;/P&gt;
&lt;P&gt;ApacheCon has been quite an experience for me so far. I have seen the energy and high quality decision making. It is amazing how people from many different backgrounds can come together and accomplish so much in so little time. &lt;/P&gt;
&lt;P&gt;I have also met some very interesting people and some that I have wanted to meet for a long time. Meeting motivated and driven people is what I like the most about conferences. I have learnt a lot from this experience and I will take back great memories from this trip.&lt;/P&gt;
&lt;P&gt;In his &lt;A class="" href="http://port25.technet.com/archive/2008/11/06/apachecon-keynote.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/06/apachecon-keynote.aspx"&gt;keynote&lt;/A&gt; today Sam Ramji, the Senior Director for Platform Strategy at Microsoft, gave an update on the many interoperability and Open Source projects that Microsoft is engaged in. I am sure that some of this was news to many of the attendees, but hopefully it gave them an idea of the breadth of work that Microsoft is doing in this area. &lt;/P&gt;
&lt;P&gt;Sam covered a lot of things, including our participation in Apache QPID project; the release of the &lt;A class="" href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx"&gt;'Oslo-M'&lt;/A&gt; language under the Open Source Promise; participation in the &lt;A class="" href="http://port25.technet.com/archive/2008/10/14/microsoft-s-powerset-team-resumes-hbase-contributions.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/10/14/microsoft-s-powerset-team-resumes-hbase-contributions.aspx"&gt;Apache HBase&lt;/A&gt; project; and support for the new Stonehenge proposal by WSO2. &lt;/P&gt;
&lt;P&gt;Sam also covered many other open source projects that Microsoft has used to build bridging technologies, while my manager, Jean Paoli, has covered these in detail in his&lt;A class="" href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx" target=_blank mce_href="http://port25.technet.com/archive/2008/11/07/open-source-interoperability-projects-at-microsoft.aspx"&gt; blog&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Sam is a well known figure in these avenues and needs no introduction - he has been representing Microsoft at many of these conferences. &lt;/P&gt;
&lt;P&gt;But&amp;nbsp;it is also important to have a more grass-root level developer and architecture presence from Microsoft, and we are now moving in that direction. Hopefully, we will see an increased Microsoft presence at such events.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Microsoft is also supportive of the new Apache incubation proposal - &lt;A href="http://wiki.apache.org/incubator/StonehengeProposal"&gt;Stonehenge&lt;/A&gt; - that was proposed by WSO2. It&amp;nbsp;will focus on building a set of sample applications based on approved W3C and OASIS standard protocols with goal of proving interoperability between different implementations on various platforms. &lt;/P&gt;
&lt;P&gt;I think these sample applications will provide developers a great starting place for their tasks by providing best practice guidelines and reference implementations on various platforms. They will also help find potential interoperability problems and hopefully develop into a great community to discuss the architecture of multi-tier SOA apps. We look forward to working with WS02 on the scope of this project, and having discussions with the community.&lt;/P&gt;
&lt;P&gt;These are exciting times for the software industry and we are seeing the co-existence of commercial and open source software and coming together of various forces to create solutions for the new heterogeneous IT environment. &lt;/P&gt;
&lt;P&gt;Onwards, with great faith and hope!&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=21719" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Partnerships/default.aspx">Partnerships</category><category domain="http://port25.technet.com/archive/tags/Industry+Conferences/default.aspx">Industry Conferences</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Port+25+News/default.aspx">Port 25 News</category><category domain="http://port25.technet.com/archive/tags/Standards/default.aspx">Standards</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>Systems Manageability Part 7 - Log Management and Analysis</title><link>http://port25.technet.com/archive/2007/08/07/part-7-log-management-and-analysis.aspx</link><pubDate>Tue, 07 Aug 2007 15:57:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4143</guid><dc:creator>kishi</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4143</wfw:commentRss><comments>http://port25.technet.com/archive/2007/08/07/part-7-log-management-and-analysis.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;Level-Set&lt;/strong&gt; &amp;ndash; &lt;strong&gt;Log Management:&lt;/strong&gt; This section includes open-source technology directed primarily on host-based logging, log file rotation and log file analysis.&amp;nbsp; Many of these tools are very common free and open-source software tools that are distributed and preconfigured with most of the major Linux systems, including major vendors such as RedHat and Novell.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;I. Logrotate&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;Logrotate&lt;/strong&gt; is a very popular application utilized in a number of Linux systems, including all RedHat and SUSE based systems.&amp;nbsp; The logrotate utility typically runs periodically via cron, a task scheduling application.&amp;nbsp; The utility will read a configuration file (/etc/logrotate.conf), and archive and compress log files according to the configuration.&amp;nbsp; Administrators can configure when log files should be rotated based on age and size, and how long backlogs should be maintained.&amp;nbsp; Older archived log files can then be swapped out and replaced with newer archives.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;II. Syslogd and klogd&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Typical Linux systems utilize a &lt;em&gt;syslog&lt;/em&gt; daemon to capture log messages from userspace applications and write them to text-based log files or send them to a logging host over the network.&amp;nbsp; The syslogd daemon is often accompanied by a klogd application which is designed to capture and log kernel messages.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The behavior of the syslog daemon can be configured via the &lt;em&gt;/etc/syslog.conf&lt;/em&gt; configuration file.&amp;nbsp; All messages captured by syslog are categorized by &lt;em&gt;facility&lt;/em&gt; and &lt;em&gt;priority&lt;/em&gt;.&amp;nbsp; Messages can then be sent to particular log files or logging hosts, or dropped completely based on their facility and priority attributes.&lt;/font&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="margin-left: 1.45in; border-collapse: collapse"&gt;&lt;tbody&gt;&lt;tr style="height: 28.75pt"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; background: #cccccc; padding-bottom: 0in; border-left: black 1pt solid; width: 145.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; height: 28.75pt" width="194"&gt;&lt;font face="Verdana"&gt;Facilities&lt;/font&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; background: #cccccc; padding-bottom: 0in; border-left: medium none; width: 142.75pt; padding-top: 0in; border-bottom: windowtext 1pt solid; height: 28.75pt" width="190"&gt;&lt;font face="Verdana"&gt;Priorities&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 180.4pt"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; background: #e0e0e0; padding-bottom: 0in; border-left: black 1pt solid; width: 145.25pt; padding-top: 0in; border-bottom: black 1pt solid; height: 180.4pt" valign="top" width="194"&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auth or security&lt;/font&gt; &lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; authpriv&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cron&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daemon&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kern&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lpr&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mail&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mark&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; news&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; syslog&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uucp&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local0 through local7&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: medium none; padding-left: 5.4pt; background: #e0e0e0; padding-bottom: 0in; border-left: medium none; width: 142.75pt; padding-top: 0in; border-bottom: black 1pt solid; height: 180.4pt" valign="top" width="190"&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug&lt;/font&gt; &lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; info&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notice&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warning or warn&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; err or error&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crit&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; emerg or panic&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;List of syslog facilities and priorities.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;III. Syslog-ng&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The &lt;strong&gt;syslog-ng&lt;/strong&gt; application aims to be an enhanced drop-in replacement for the traditional syslog daemon.&amp;nbsp; It provides many of the same features of the standard syslog daemon, but includes additional features such as advanced message filtering based on content, remote logging via UDP or TCP, and the ability to write log files to a database such as MySQL or PostgreSQL.&amp;nbsp; More recent SUSE-based systems such as SLES10 have switched to syslog-ng as the default syslog server.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;IV. Viewing Logs&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Most log files on a Linux system are stored in plain-text, which means they can be viewed and parsed using a number of different command-line tools.&amp;nbsp; Typical utilities such as &lt;em&gt;tail, head, grep, cat, less, more, sed&lt;/em&gt; and &lt;em&gt;awk&lt;/em&gt; can be used to view and filter log messages via the command line.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;There are also a myriad of utilities designed to parse and view log files via a GUI or web browser.&amp;nbsp; Some utilities are even designed to handle specific log formats, such as those generated by Linux&amp;rsquo;s Netfilter firewall subsystem.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="_Toc158034354" title="_Toc158034354"&gt;&lt;/a&gt;GNOME System Log Viewer&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The GNOME system includes a GTK-based system log viewing application that displays system logs via the GUI.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="_Toc158034356" title="_Toc158034356"&gt;&lt;/a&gt;YaST System Log Module&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;SUSE-based systems using YaST typically include a module called &lt;em&gt;View System Log&lt;/em&gt; (called internally as &lt;em&gt;view_anymsg&lt;/em&gt;).&amp;nbsp; Similar to the GNOME System Log viewer, the YaST module allows an administrator to view many of the various system logs without using the command-line.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;V. Log Analysis&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;&lt;em&gt;&lt;a name="_Toc158034359" title="_Toc158034359"&gt;&lt;/a&gt;LogWatch&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The &lt;em&gt;logwatch&lt;/em&gt; utility is designed to parse system logs and located any entries that might indicate security threat or system failure and send an email report to a designated address.&amp;nbsp; Logwatch is distributed with RedHat Enterprise Linux systems.&amp;nbsp; The following is an excerpt from the RPM description:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;&amp;ldquo;LogWatch is a customizable log analysis system. LogWatch parses through your system&amp;#39;s logs for a given period of time and creates a report analyzing areas that you specify, in as much detail as you require. LogWatch is easy to use and claims that it will work right out of the package on almost all systems. Note that LogWatch now analyzes Samba logs.&amp;rdquo;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;LogWatch is typically executed periodically via &lt;em&gt;cron&lt;/em&gt;, a task scheduling application.&amp;nbsp; &amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;&lt;em&gt;&lt;a name="_Toc158034361" title="_Toc158034361"&gt;&lt;/a&gt;LogCheck&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The &lt;em&gt;logcheck&lt;/em&gt; utility is a part of the &lt;strong&gt;Sentry Tools&lt;/strong&gt; project that also includes portsentry, a utility designed to detect port scans.&amp;nbsp; Similar to the LogWatch utility, the software is designed to parse system log files, find log entries that may indicate security problems and send an email to a preconfigured address.&amp;nbsp; Also similar to the LogWatch utility, logcheck relies on the standard &lt;em&gt;cron&lt;/em&gt; utility to be periodically executed.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;That does it for Log Management and Analysis section. We have one last blog to go and certainly hope that you found the information we have captured for you useful. If you&amp;rsquo;re running any special toolsets or customizable scripts for log management and analysis and would like to share your experience with us, please send us your feedback and as always, THANK YOU for tuning into Port25.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4143" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Systems Manageability Part 6:  Patch Management and Online Updates</title><link>http://port25.technet.com/archive/2007/06/29/systems-manageability-part-6-patch-management-and-online-updates.aspx</link><pubDate>Fri, 29 Jun 2007 17:44:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4088</guid><dc:creator>kishi</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4088</wfw:commentRss><comments>http://port25.technet.com/archive/2007/06/29/systems-manageability-part-6-patch-management-and-online-updates.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana"&gt;&lt;strong&gt;&lt;font size="2"&gt;Level-Set&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt; - Patch Management: Patch Management and Maintenance focuses on those solutions available to deploy and install software update on Linux systems, with a primary focus on Novell based Linux systems. This is going to be a very short blog because the only open source tool that I could find, which is used in a widespread manner, is YaST. I know there are tons of solutions out there, some proprietary like RHN and some custom built. YaST was the only common thread we could recognize. A deeper look at YaST and its online update abilities follows:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;YAST Online Update Utility&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Probably the most common and important modules in YaST are those related to software management (adding and removing software) and patch management.&amp;nbsp; Software and updates for a typical SUSE system are obtained from software repositories, which can be local or remote software inventories from which new software or updates may be obtained. At a deeper level, the SLES9 package management system utilizes the common &lt;em&gt;rpm&lt;/em&gt; utility to install, remove, and update packages and manage the package and dependency database.&amp;nbsp; Although this subsystem is similar to RedHat&amp;rsquo;s, Novell has chosen a very different approach to distributing its patches, choosing to utilize what are called &lt;em&gt;patch RPMs&lt;/em&gt;. With many RPM-based distributions, when a package needs to be updated for one reason or another the distributor will modify or patch the original source tree and recompile/repackage the software to produce a new RPM for that particular package.&amp;nbsp; Therefore in these cases the new RPM will simply be an updated version of the original RPM.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Novell has taken a slightly different approach with patching via RPMs.&amp;nbsp; Instead of updating and repacking the entire package, Novell updates the original source tree, recompiles, and then produces a &lt;em&gt;delta&lt;/em&gt; (or a &lt;em&gt;diff&lt;/em&gt;) between the original binaries in the package and the newly patched/recompiled binaries.&amp;nbsp; The &lt;em&gt;delta&lt;/em&gt; is a binary file that contains information about the differences between two binary files.&amp;nbsp; The deltas will then be packaged within an RPM and distributed to clients.&amp;nbsp; The &lt;em&gt;patch RPM&lt;/em&gt; can then be manually or automatically installed in the same way a standard RPM would be installed. An advantage to this technique is that patches are often smaller in size &amp;ndash; typically anywhere between 5KB and 8MB depending on the size of the package and the changes being applied.&amp;nbsp; This often allows the update process to progress far faster than it would otherwise when using full RPMs &amp;ndash; especially for large applications.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Major updates to the stable SLES9 branch are released as an installable &amp;ldquo;service pack&amp;rdquo;.&amp;nbsp; Novell typically recommends installing the service pack files via YaST2, from either a CDROM or network location that contains the service pack files.&amp;nbsp; One may also simply utilize the &lt;em&gt;Online Update&lt;/em&gt; module of YaST2 to update the system manually or automatically.&amp;nbsp; In this case, the service pack will be distributed as a large number of individual packages, similar to how RedHat distributes major updates (i.e. RHEL4 U4). Aside from a log file, SLES9 does not currently have an email mechanism to inform the administrator when a patch is automatically downloaded and installed (as RedHat does).&amp;nbsp; However, a log file that contains information about each automatic update is maintained in &lt;em&gt;/var/lib/YaST2/you/youlog&lt;/em&gt;.&amp;nbsp; This log is generally very easy for an administrator to read and discover when, or if, a patch RPM was downloaded and installed.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;There are other ways to find information about installed patches, however.&amp;nbsp; By default, SLES9 archives each patch RPM that is downloaded and installed.&amp;nbsp; Full RPMs will also be archived if they were installed via YaST2 after the original system installation.&amp;nbsp; This functionality can be disabled with YaST2, of course, although it can sometimes be useful to maintain the archive if a patch ever needs to be reinstalled.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;&lt;strong&gt;1.&amp;nbsp; &lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="_Toc158034342" title="_Toc158034342"&gt;&lt;/a&gt;&lt;font size="2"&gt;YaST Software/Update Repositories&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Software repositories are typically added manually via the Installation Source module in YaST or can be scanned using SLP (Service Location Protocol).&amp;nbsp; From this module, one may add references to locations from which to receive updates.&amp;nbsp; These references typically take the form of a URI or a directory path.&amp;nbsp; YaST supports the following software repository references:&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;FTP&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;HTTP(S)&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;SMB/CIFS&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;NFS&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;CD or DVD&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;Local Directory&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Using this methodology it is also quite common for an administrator to install a centralized repository for software and updates.&amp;nbsp; Updates may then be obtained from Novell by a single server, and other servers on the LAN may then pull patches from the central patch server using one of the above protocols.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &lt;em&gt;&lt;strong&gt;&amp;nbsp;2.&amp;nbsp; &lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="_Toc158034344" title="_Toc158034344"&gt;&lt;/a&gt;&lt;font size="2"&gt;YaST Security&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Although software repositories for SLES and SLED distributions are typically operated by Novell, it is quite possible to add third-party repositories to obtain software not offered by Novell, or even different versions of the same software packages.&amp;nbsp; Novell warns against this, however, since adding repositories not controlled by Novell can result in the installation of untested or possibly malicious software, which ultimately could compromise security, but more likely may result in software instability and RPM package conflicts.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;All official software and patches obtained by Novell are cryptographically signed, which can be verified with Novell&amp;rsquo;s public key.&amp;nbsp; The public keys used to verify these signatures are typically obtained via the official SLES/SLED CDs or DVDs, but may also be obtained via Novell&amp;rsquo;s website.&amp;nbsp; Once these public keys are accepted and imported, any software package or update obtained with an invalid signature will produce a warning and may not install without user intervention. &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;em&gt;&lt;a name="_Toc158034346" title="_Toc158034346"&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;strong&gt;3. &lt;/strong&gt;&amp;nbsp;&lt;/font&gt;&lt;strong&gt;&lt;font size="2"&gt;YaST Automatic Updates&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Automatic updates can be configured via YaST&amp;rsquo;s Online Update Setup module, which allows a user to schedule updates to occur at a particular time either daily or weekly.&amp;nbsp; On the backend, this module simply installs a new cron entry, a task scheduling application, which periodically runs another program to check for and install updates pushed out by Novell.&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;In earlier SUSE-based systems, YOU (YaST Online Update) had been used to automate the installation of updates packages.&amp;nbsp; The &lt;em&gt;cron&lt;/em&gt; utility would execute a shell script called &lt;em&gt;/usr/bin/online_update&lt;/em&gt; which would automate the patch installation process.&amp;nbsp; Newer versions of SUSE, including SLED10, utilize a similar process but instead of a shell script a utility called &lt;em&gt;rug&lt;/em&gt; is used.&amp;nbsp; The &lt;em&gt;rug&lt;/em&gt; utility is the command-line interface to the ZENworks management agent that is present on new SUSE systems.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;If you are running any open source based tools or applications in your environment to push patches and manage online update scenarios, we would REALLY like to hear what you have to say. As always THANK YOU for tuning into Port25&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4088" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Systems Manageability Part Five:  Monitoring</title><link>http://port25.technet.com/archive/2007/06/21/systems-manageability-part-five-monitoring.aspx</link><pubDate>Thu, 21 Jun 2007 14:16:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4070</guid><dc:creator>kishi</dc:creator><slash:comments>340</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4070</wfw:commentRss><comments>http://port25.technet.com/archive/2007/06/21/systems-manageability-part-five-monitoring.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;Background&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: This is Part 5, continuation of the series of 8 blogs I&amp;rsquo;m doing on &lt;a href="http://port25.technet.com/archive/2007/05/03/systems-manageability-part-3-provisioning-and-deployment.aspx" style="color: blue; text-decoration: underline; text-underline: single"&gt;Systems Manageability&lt;/a&gt;. In this specific blog, I will focus on and explain the third part of the &amp;ldquo;ontology&amp;rdquo; which is &amp;ldquo;&lt;strong&gt;Monitoring&lt;/strong&gt;&amp;rdquo;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;Level-Set &amp;ndash; Monitoring&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: Monitoring and other data collection tools are an essential component of any management strategy.&amp;nbsp; The proper collection and organization of host data allows for manual and sometimes automated reactive corrective measures.&amp;nbsp; This section outlines many of the open source and free software monitoring tools available on the Linux platform.&amp;nbsp; Much of the analysis in this section is focused on the inner workings of these tools as data collection systems, rather than feature comparisons between the various monitoring applications. The WBEM/CIM overview has been placed in this section due to its basis as a data collection and management system, even though its use is not limited the confines of this category.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;I.WBEM/CIM:&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt; The following section includes an overview of the WBEM initiative and the open-source CIM implementations that exist today. The Distributed Management Task Force (DMTF) classifies WBEM (&lt;strong&gt;W&lt;/strong&gt;eb &lt;strong&gt;B&lt;/strong&gt;ased &lt;strong&gt;E&lt;/strong&gt;nterprise &lt;strong&gt;M&lt;/strong&gt;anagement) as the following:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;font face="Arial" size="2"&gt;&amp;ldquo;[WBEM is] a set of management and Internet standard technologies developed to unify the management of distributed computing environments. WBEM provides the ability for the industry to deliver a well-integrated set of standard-based management tools, facilitating the exchange of data across otherwise disparate technologies and platforms.&amp;rdquo;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;Core components and industry standards used in WBEM include CIM, CIM-XML, CIM Query Language, SLP (&lt;strong&gt;S&lt;/strong&gt;ervice &lt;strong&gt;L&lt;/strong&gt;ocation&lt;strong&gt;P&lt;/strong&gt;rotocol, for WBEM Discovery) and WBEM URI (&lt;strong&gt;U&lt;/strong&gt;niversal &lt;strong&gt;R&lt;/strong&gt;esource &lt;strong&gt;I&lt;/strong&gt;dentifier) mapping.&amp;nbsp; The DMTF has also developed a WBEM Management profile template for the purpose of systems manageability.&amp;nbsp; WBEM has been designed to be compatible with all the major existing management protocols, including SNMP, DMI, and CMIP. There are several open source implementations of WBEM including OpenWBEM, WBEM Services, OpenPegasus and SBLIM.&amp;nbsp; These are discussed in more detail below.&amp;nbsp; Additionally, there are both client and server implementations available for the WBEM standard:&lt;/font&gt;&lt;/p&gt;&lt;ul style="margin-bottom: 0in" type="square"&gt;&lt;li class="MsoNormal" style="color: black"&gt;&lt;font face="Arial" size="2"&gt;WBEM clients include PyWBEM, an open-source WBEM library written in Python, and the Purgos open-source management client for Windows written in C++. &lt;/font&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="color: black"&gt;&lt;font face="Arial" size="2"&gt;WBEM server implementations include OpenPegasus and OpenWBEM, an open-source client and server written in C++ (Novell has adopted this and added it to SLES9/10). &lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;&amp;nbsp;The following is an explanation of CIM, or Common Information Model, from the &lt;a href="http://www.dmtf.org/standards/cim/" style="color: blue; text-decoration: underline; text-underline: single"&gt;DMTF documentation&lt;/a&gt;:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;font face="Arial" size="2"&gt;&amp;ldquo;provides a common definition of management information for systems, networks, applications and services, and allows for vendor extensions. CIM&amp;rsquo;s common definitions enable vendors to exchange semantically rich management information between systems throughout the network. It is a conceptual information model for describing management that is not bound to a particular implementation. This allows for the interchange of management information between management systems and applications. This can be either &amp;quot;agent to manager&amp;quot; or &amp;quot;manager to manager&amp;quot; communications that provides for Distributed System Management.&amp;rdquo;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;CIM includes two components; a specification and a Schema.&lt;/font&gt;&lt;/p&gt;&lt;ol start="1"&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;CIM Specification: This describes the language, naming, Meta Schema and mapping techniques to other management models such as SNMP MIBs, and DMTF MIFs etc. The Meta Schema is a formal definition of the model. It defines the terms used to express the model and their usage and semantics. The elements of the Meta Schema are Classes, Properties, and Methods. The Meta Schema also supports Indications and Associations as types of Classes and References as types of Properties. Essentially, the CIM specification&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;CIM Schema: This provides the actual model descriptions. The CIM Schema supplies a set of classes with properties and associations that provide a well-understood conceptual framework within which it is possible to organize the available information about the managed environment.&amp;nbsp; The CIM Schema itself is structured into three distinct layers:&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;The &lt;strong&gt;Core Schema&lt;/strong&gt; is an information model that captures notions that are applicable to all areas of management.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;Common Schemas&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt; are information models that capture notions that are common to particular management areas, but independent of a particular technology or implementation. The common areas are systems, devices, networks, applications, metrics, databases, the physical environment, event definition and handling, management of a CIM infrastructure (the Interoperability Model), users and security, policy and trouble ticketing/ knowledge exchange (the Support Model). These models define classes addressing each of the management areas in a vendor-neutral manner.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;Extension Schemas&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt; represent organizational or vendor-specific extensions of the Common Schema. These schemas can be specific to environments, such as operating systems (for example, UNIX&amp;reg; or Microsoft Windows&amp;reg;). Extension Schema fall into two categories, Technology-Specific areas such UNIX98 or Product-Specific areas that are unique to a particular product such as Windows.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img border="0" height="361" src="http://port25.technet.com/photos/images/images/4066/original.aspx" width="314" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;WBEM (CIM) Architecture Diagram&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;a name="_Toc158034287" title="_Toc158034287"&gt;&lt;/a&gt;&lt;font size="2"&gt;OpenPegasus&lt;/font&gt;&lt;font size="2"&gt;:&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;em&gt;&lt;font size="2"&gt;OpenPegasus&lt;/font&gt;&lt;/em&gt;&lt;font size="2"&gt; is an open-source implementation of the DMTF CIM and WBEM standards being driven under the auspices of The Open Group.&amp;nbsp; OpenPegasus is open source and is licensed under the MIT open-source license. The distribution is available via CVS, and as snapshot images in tar, zip, and (self-extracting) exe file formats on the OpenPegasus web site. Based on documentation posted on the site, simply put, Pegasus is an open-source CIM Server for DMTF CIM objects. It is written in C++ and includes the Object manager (CIMOM), a set of defined interfaces, an implementation of the CIM Operations over HTTP operations and their cimxml HTTP encodings, and Interface libraries for both clients and providers.&amp;nbsp; It is maintained to be compliant with the DMTF CIM and WBEM specifications with exceptions noted in the documentation. It is designed to be portable and modular. It is coded in C++ and translates the object concepts of the CIM objects into a programming model. Pegasus is designed to be inherently portable and builds and runs today on most versions of UNIX(R), Linux, and Windows. OpenPegasus includes the following components:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;&amp;nbsp;A DMTF compliant CIM Server that processes CIM operations, CIM Indications, and includes class and instance repositories and interfaces for creating CIM Providers and CIM Clients. &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Provider interfaces so that providers may be build in multiple languages (i.e. C++, C, Java). &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;A number of CIM Providers. &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;A MOF compiler. &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;A number of CIM Clients to provide usage examples, CIM Server test functions, and administrative functions &lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;a name="_Toc158034288" title="_Toc158034288"&gt;&lt;/a&gt;&lt;font size="2"&gt;OpenWBEM On SLES10&lt;/font&gt;&lt;font size="2"&gt;:&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;OpenWBEM is included in SUSE Linux Enterprise Server 9 and 10, allowing any WBEM enabled management console to access configuration information on the system.&amp;nbsp; A CIM schema and a MOF compiler are also included as packages in SLES9 and 10, which can be used to create and import the schema.&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;## Create the namespace called /root/cimv2&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;SLES10:/etc/openwbem # &lt;strong&gt;owcreatenamespace -n /root/cimv2&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Creating namespace (/root/cimv2)&lt;/span&gt;&lt;/p&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;## Import the CIM schema.&lt;/span&gt;&lt;/p&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;SLES10:/etc/openwbem # owmofc /usr/share/mof/cimv2.12/cimv212.mof&lt;/span&gt;&lt;/p&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;[ ... Lots of Output ... ]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Compilation finished.&amp;nbsp; 0 errors occurred.&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Compiling and Importing the CIM Schema&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;## Start the OpenWBEM Daemon.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;SLES10:~ # &lt;strong&gt;/etc/init.d/owcimomd start&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Using common server certificate /etc/ssl/servercerts/servercert.pem&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Starting the OpenWBEM CIMOM Daemon&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;## Check the status of the OpenWBEM service.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;SLES10:~ # &lt;strong&gt;/etc/init.d/owcimomd status&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Checking for service OpenWBEM CIMOM Daemon&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; running&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Starting the OpenWBEM Service on SLES10&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;II. NAGIOS&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: Nagios is a system monitoring application designed to monitor remote hosts and applications over a network.&amp;nbsp; The application provides a web-based graphical display that allows one to view the status of nodes and particular applications running on the nodes.&amp;nbsp; The following is an excerpt from the Nagios documentation listing some of Nagios&amp;rsquo; feature set: Some of the many features of Nagios include:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Monitoring of host resources (processor load, disk usage, etc.) &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Simple plugin design that allows users to easily develop their own service checks &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Parallelized service checks &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Ability to define network host hierarchy using &amp;quot;parent&amp;quot; hosts, allowing detection of and distinction between hosts that are down and those that are unreachable &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method) &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Ability to define event handlers to be run during service or host events for proactive problem resolution &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Automatic log file rotation &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Support for implementing redundant monitoring hosts &lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Optional web interface for viewing current network status, notification and problem history, log file, etc. &lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;Nagios can poll servers and obtain data in a number of different ways.&amp;nbsp; The most straight-forward method is to connect to a remote system directly and test to see if the host is available or if a particular service is running.&amp;nbsp; Data internal to the host, such as free memory or processor usage, however, must be gathered using the Nagios agent, SNMP, another custom script or program or a Nagios plug-in called &lt;strong&gt;check_by_ssh&lt;/strong&gt; - which is a standard plug-in designed to run a command on a remote machine and collect the output. The configuration of Nagios is done entirely via text-based configuration files.&amp;nbsp; Hosts and other resources are defined in&lt;em&gt;blocks&lt;/em&gt;, which can also inherit information from other pre-defined blocks, making complex configurations possible and more manageable.&amp;nbsp; There are several third-party applications available that provide a web or other GUI interface to assist one with configuring Nagios, but these were not tested for this project. The following configuration block defines a generic host template called &amp;ldquo;linux-server&amp;rdquo;.&amp;nbsp; Many of the configuration values such as &amp;ldquo;24x7&amp;rdquo; and &amp;ldquo;workhours&amp;rdquo; are actually defined in other configuration blocks within the Nagios configuration.&amp;nbsp; This allows administrators to define custom names to a specific time period, such as &amp;ldquo;workhours&amp;rdquo;, and use that definition in other parts of the configuration.&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;define host {&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux-server&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-host&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; check_period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24x7&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; max_check_attempts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; check_command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check-host-alive&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; notification_period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; workhours&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 120&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; notification_options&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d,u,r&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; contact_groups&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admins&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; register&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Nagios Host Definition Template&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;Individual hosts are defined in configuration blocks.&amp;nbsp; Below is a sample configuration for an individual host called management.&amp;nbsp; Notice the use statement is inheriting other definitions from the previously defined generic template mentioned above called &amp;ldquo;linux-server&amp;rdquo;.&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;define host&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux-server ;Name of host template to use.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; host_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; management&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Management Server&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10.197.173.100&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;Finally, hosts may be organized into logical groups for easier management.&amp;nbsp; The following is a hostgroup that defines a group that includes five hosts.&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;define hostgroup&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; hostgroup_name test&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Test Servers&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp; members&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost,management,www,rhel4-production2,network&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;Nagios is distributed with a wide assortment of &lt;em&gt;plug-ins&lt;/em&gt; that can be used to obtain data or check a particular service.&amp;nbsp; Plug-ins are distributed as a separate package which must be installed with both the server and the agent if an agent is to be used.&amp;nbsp; The Nagios plug-ins are simply stand-alone executable programs, each of which can perform a particular task and&amp;nbsp;return&amp;nbsp;a result code&amp;nbsp;for each service or subsystem being tested. Since plug-ins are individual scripts or binary programs, they often will accept different arguments to change their behavior and what information they return.&amp;nbsp; The command usage of each plug-in must be defined individually within the configuration files using the &lt;em&gt;define command&lt;/em&gt; syntax.&amp;nbsp; Some plug-ins can accept multiple options which can be customized when writing the configuration for a particular system.&amp;nbsp; The &lt;em&gt;define command&lt;/em&gt; definition provides a sort of usage template so that Nagios will know how to run the command later.&amp;nbsp; Luckily for new users, the default sample configuration files already provide accurate definitions for the default plug-ins.&amp;nbsp; Once one is familiar with how commands are defined, however, new commands or custom scripts can also be defined here as well.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;NRPE&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: is the Nagios Remote Plugin Executor that is installed on a remote host.&amp;nbsp; It is designed simply to execute Nagios plugins on behalf of the Nagios server and return the results.&amp;nbsp; The same plugins that are installed on the server must then be installed on the remote host for NRPE to utilize.&amp;nbsp; A new plug-in called check_nrpe is also distributed with the NRPE agent and is used to query the NRPE daemon from the Nagios server. NRPE utilizes a rudimentary access control system to assure that only particular Nagios hosts will be allowed to contact the NRPE client.&amp;nbsp; A configuration directive such as the following within NRPE&amp;rsquo;s configuration file will only allow communication with a particular host:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Lucida Console" size="2"&gt;allows_hosts=10.197.173.100&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;It is possible to configure NRPE run nearly any command with any arguments, although one is warned against doing this in the documentation.&amp;nbsp; By default, NRPE will only run specific commands and their arguments as specified in its own configuration file (located on the host itself).&amp;nbsp; Meaning that the Nagios server can tell NRPE to execute only specific commands specified in the remote host&amp;rsquo;s &lt;em&gt;/etc/nrpe.cfg&lt;/em&gt; file, but the server may not pass arbitrary commands or plug-in arguments for the agent to execute. Below is a sample NRPE configuration.&amp;nbsp; The specific commands (plug-ins) and arguments must be specified here.&amp;nbsp; The Nagios server can then request NRPE to execute one or more of these commands and return the results:&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;command[check_users]=/usr/local/nagios/libexec/check_users &amp;ndash;w 5 &amp;ndash;c 10&lt;br /&gt;command[check_load]=/usr/local/nagios/libexec/check_load &amp;ndash;w 15,10,5 &amp;ndash;c 30,25,20&lt;br /&gt;command[check_disk_root]=/usr/local/nagios/libexec/check_disk &amp;ndash;w 20 &amp;ndash;c 10 &amp;ndash;p /dev/sda1&lt;br /&gt;command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs &amp;ndash;w 5 &amp;ndash;c 10 &amp;ndash;s Z&lt;br /&gt;command[check_total_procs]=/usr/local/nagios/libexec/check_procs &amp;ndash;w 150 &amp;ndash;c 200&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;By default NRPE utilizes SSL communications between itself and the Nagios server.&amp;nbsp; The SSL parameters are generated at compile time and stored in the C header file called &lt;em&gt;dh.h&lt;/em&gt; within the NRPE source tree.&amp;nbsp; This header file is then used to compile the NRPE daemon and the &lt;em&gt;check_nrpe&lt;/em&gt; plugin.&amp;nbsp; This means that both the NRPE daemon and the &lt;em&gt;check_nrpe&lt;/em&gt; plugin must be compiled using the same parameters (typically from the same source tree) if one wishes to utilize SSL communications.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;III. Hyperic&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: Hyperic HQ is a Java-based monitoring application consisting of a central monitoring server and one or more remote agents to report node status information to the server.&amp;nbsp; Hyperic HQ is supported on a wide array of platforms, including Linux, Solaris, Windows, HP-UX, AIX, Mac OS X and FreeBSD. Hyperic distributes two versions of its software; &amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;ol start="1"&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;An open source version licensed under the GNU GPL&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;and a commercial version called &lt;em&gt;HQ Enterprise&lt;/em&gt; which includes additional components and functionality.&lt;img border="0" height="284" src="http://port25.technet.com/photos/images/images/4067/original.aspx" width="622" /&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;&lt;strong&gt;HQ Open Source and HQ Enterprise Feature Set Comparison&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;a name="_Toc158034295" title="_Toc158034295"&gt;&lt;/a&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/font&gt;&lt;font size="2"&gt; As of HQ 3.0 thefeature-set distribution between the Open-Source&amp;nbsp;and Enterprise versions has changed.&amp;nbsp; Please see&amp;nbsp;&lt;a href="http://www.hyperic.com/products/hq_for_ent.html" style="color: blue; text-decoration: underline; text-underline: single"&gt;http://www.hyperic.com/products/hq_for_ent.html&lt;/a&gt;&amp;nbsp;for more details.&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p align="center"&gt;&lt;em&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;font size="2"&gt;Hyperic Installation and Configuration&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: Hyperic HQ aims to be quick to install and relatively easy to configure.&amp;nbsp; The installation is performed via the command-line, and will prompt the administrator for all the information (administrator password, database information, etc) it will need to successfully run.&amp;nbsp; Upgrading can also be done relatively easily by simply running the installer with the &amp;ndash;upgrade option. Hyperic HQ provides a web interface to deliver monitoring alerts and status information to the end-user.&amp;nbsp; However, unlike other monitoring applications the web-interface is also used as the primary configuration interface for the application.&amp;nbsp; All node and agent details, metric options and alerts may be configured directly over the web interface. The monitoring agent is installed in a similar manner as the server.&amp;nbsp; Because all agent configuration is done via the web interface on the server, the only information the agent installation script needs is login information for the server, the preferred path on the node to which it should install the agent files and various other pieces of information such as the port numbers on which the server and agent will be running.&amp;nbsp; Once the agent successfully registers itself with the server, the administrator can then log in to the web interface and import the new system into its list of monitored hosts. The Hyperic HQ server utilizes the open-source PostgreSQL database application to store configuration and monitoring data.&amp;nbsp; PostgreSQL comes prepackaged with the Hyperic HQ software, and can be installed and configured automatically by the installation system.&amp;nbsp; One may also choose to use an existing PostgreSQL or Oracle database server if one exists.&amp;nbsp; The installation system would then prompt the administrator for information about the database so that Hyperic HQ may log in and store its data.&amp;nbsp; By default, Hyperic HQ stores its authentication information within this database as well, but may also be configured to utilize and external LDAP server if one is available.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;a name="_Toc158034296" title="_Toc158034296"&gt;&lt;/a&gt;&lt;font size="2"&gt;Auto-Discovery&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: A unique feature of the Hyperic HQ monitoring solution is its ability to automatically locate and monitor services and daemons running on the remote node.&amp;nbsp; Once the agent is installed on the remote node it can then scan for a variety of known services and add it to the hosts inventory.&amp;nbsp; Once added to the inventory, metrics and alerts can be configured to monitor that particular service. Hyperic HQ supports two scanning options, auto-scan and file-scan.&amp;nbsp; Agents run an auto-scan periodically by default which scans the process list for known server types.&amp;nbsp; A more comprehensive scan called a file-scan can actually search through the file system on the remote node and locate known applications.&amp;nbsp; Because it requires more time to run and is more resource intensive, this type of scan must be scheduled and configured manually by the administrator.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;a name="_Toc158034297" title="_Toc158034297"&gt;&lt;/a&gt;&lt;font size="2"&gt;Alerts and Notifications&lt;/font&gt;&lt;font size="2"&gt;:&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt; Hyperic HQ supports the configuration of alerts based on any metric for any particular resource (such as the host itself) or service running on the host.&amp;nbsp; For example, an alert can be triggered when the Availability metric for a host falls changes at all, or falls below a predefined value.&amp;nbsp; When an alert is triggered an email can be sent to a predefined email address.&amp;nbsp; Depending on the priority of the alert, a message will also be posted to the Dashboard, the Hyperic HQ administration front page. The HQ Open Source version lacks many of the more advanced notification options that are available in the Enterprise version.&amp;nbsp; HQ Enterprise also supports the concept of Recovery Alerts, which are alerts that can be configured to cancel and reset triggered alerts.&amp;nbsp; When an alert is triggered in the Open Source version, the alert will continue to be triggered until the problem is fixed or the alert is disabled.&amp;nbsp; Recovery Alerts allow an administrator to automate the process of disabling an active alert, and then re-enabling the alert when the problem is corrected.&amp;nbsp; HQ Enterprise also supports the option of sending SNMP traps as a notification option.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;strong&gt;&lt;a name="_Toc158034298" title="_Toc158034298"&gt;&lt;/a&gt;&lt;font size="2"&gt;Hyperic HQ Plugins&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: Hyperic HQ plugins are distributed as .jar or .xml files that are deployed on the server and the agent.&amp;nbsp; Plugins can be developed to enhance the collection of metrics from certain applications or services, locate and inventory new services and control actions to control specific resources. The Hyperic website provides comprehensive documentation on plugin development.&amp;nbsp; Developing and adding a new plugin&amp;nbsp;tends to be&amp;nbsp;a more complex process compared to Nagios or other monitoring applications.&amp;nbsp; The framework provided by Hyperic HQ, however, provides advanced APIs from which the plugins can query information on multiple platforms.&amp;nbsp; On Windows, for example, Hyperic HQ includes classes which a plugin may use to access Windows specific data and functions.&amp;nbsp; These functions can provide access to performance information, registry data, event log information and the Service Control Manager (SCM). Hyperic HQ also provides support for simple script-based plugins to gather particular metrics.&amp;nbsp; Even&amp;nbsp;individual scripts or&amp;nbsp;Nagios plugins may be imported and configured for use by the Hyperic HQ server and agents.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Arial"&gt;&lt;a name="_Toc158034299" title="_Toc158034299"&gt;&lt;/a&gt;&lt;strong&gt;&lt;font size="2"&gt;SIGAR &amp;ndash; System Information Gatherer And Reporter&lt;/font&gt;&lt;/strong&gt;&lt;font size="2"&gt;: SIGAR is the primary data collection component of the Hyperic HQ agent.&amp;nbsp;&amp;nbsp;The software is designed to collect system and process information from a number of platforms - including Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX.&amp;nbsp; SIGAR is written in C,&amp;nbsp;but Hyperic provides&amp;nbsp;C, C#, Java and Perl&amp;nbsp;APIs&amp;nbsp;which one may use to to integrate SIGAR into their applications.&amp;nbsp; The SIGAR component is licensed under the GNU GPL, and is distributed separately from the Hyperic monitoring agent for potential use in third-party applications. The Sigar API provides a portable interface for gathering system information such as:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;System memory, swap, cpu, load average, uptime, logins&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Per-process memory, cpu, credential info, state, arguments, environment, open files&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;File system detection and metrics&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Network interface detection, configuration info and metrics&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Arial" size="2"&gt;Network route and connection tables&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&lt;a href="mailto:user@linux:~/hyperic-sigar-1.3.0.0" style="color: blue; text-decoration: underline; text-underline: single"&gt;user@linux:~/hyperic-sigar-1.3.0.0&lt;/a&gt;&amp;gt;&lt;strong&gt; java -jar sigar-bin/lib/sigar.jar&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Loaded rc file: /home/user/hyperic-sigar-1.3.0.0/sigar-bin/lib/.sigar_shellrc&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;sigar&amp;gt; help&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Available commands:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Create alias command&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpuinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display cpu information&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; df&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Report filesystem disk space usage&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; du&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display usage for a directory recursively&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display information about free and used memory&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Get system properties&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Gives help on shell commands&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ifconfig&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Network interface information&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iostat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Report filesystem disk i/o&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kill&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Send signal to a process&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Show multi process status&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display network info&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netstat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display network connections&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pargs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Show process command line arguments&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; penv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Show process environment&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pfile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display process file info&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display all process info&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pmodules&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display process module info&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Show process status&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Run process table query&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Terminate the shell&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; route&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Kernel IP routing table&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Set system properties&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Delay execution for the a number of seconds&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Read a file, executing the contents&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysinfo &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Display system information&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Run sigar tests&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Time command&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ulimit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display system resource limits&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uptime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display how long the system has been running&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Display sigar and system version info&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; who&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Show who is logged on&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;sigar&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;&lt;font face="Arial" size="2"&gt;Example SIGAR usage from the command-line.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Arial" size="2"&gt;And that does it for the &amp;ldquo;Monitoring&amp;rdquo; section. There are so many other tools we got a chance to play with like Monit, Argus, OProfile etc. but am running out of space &amp;hellip;&amp;hellip; As always, please let us know if you found the above mentioned useful and any comments/feedback you may have. Thank you for tuning into Port25.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4070" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Systems Manageability Part 4:  Systems Configuration</title><link>http://port25.technet.com/archive/2007/05/25/systems-manageability-part-4-systems-configuration.aspx</link><pubDate>Fri, 25 May 2007 18:18:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3979</guid><dc:creator>kishi</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3979</wfw:commentRss><comments>http://port25.technet.com/archive/2007/05/25/systems-manageability-part-4-systems-configuration.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;: This is Part 4, continuation of the series of 8 blogs I&amp;rsquo;m doing on &lt;a href="http://port25.technet.com/archive/2007/05/03/systems-manageability-part-3-provisioning-and-deployment.aspx" style="color: blue; text-decoration: underline; text-underline: single"&gt;Systems Manageability&lt;/a&gt;. In this specific blog, I will focus on and explain the second part of the &amp;ldquo;ontology&amp;rdquo; which is &lt;strong&gt;&amp;ldquo;Systems Configuration&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Level-Set:&lt;/strong&gt; &lt;em&gt;System Configuration and Management&lt;/em&gt; encompasses all tasks related to the configuration of a host in a standardized and (when possible) centralized way.&amp;nbsp; Many projects in this category provide a common configuration interface, either command-line or GUI-based, designed to ease typical administrative tasks.&amp;nbsp; Other projects, specifically Cfengine, provide a higher level policy-based system to provide consistent configuration and state management for a set of systems. Again, in this case there&amp;rsquo;s lots of different tools out there that can be used but we have focused on the most popular ones such as Webmin, YaST, SSH, VNC and Cfengine. In the paragraphs to follow, we have attempted to lay out our understanding of these tools after using them in the OSSL:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;I. WEBMIN: &lt;/strong&gt;&lt;em&gt;&amp;quot;Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms (and Java for the File Manager module), you can setup user accounts, Apache, DNS, file sharing and so on.&amp;quot;&lt;/em&gt; Webmin is very modular in design, allowing third-party developers to add support for a particular service or task relatively easily.&amp;nbsp; Many of the tasks involve easing or automating system administration tasks, or editing a configuration file using a specific syntax. &lt;a name="_Toc148172344" title="_Toc148172344"&gt;&lt;/a&gt;Webmin is currently supported by &lt;em&gt;OpenCountry&lt;/em&gt;, a company that sells Linux management solutions.&amp;nbsp; The OpenCountry website includes information about Webmin, including two variations of the system that they support.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Webmin Plus:&lt;/strong&gt; Webmin Plus, is a version of Webmin supported by &lt;a href="http://opencountry.com/" style="color: blue; text-decoration: underline; text-underline: single"&gt;OpenCountry&lt;/a&gt;.&amp;nbsp; According to the website, the Webmin Plus version has been tested by the company and includes new features, specifically support for the back-up and restore application called Bacula (&lt;a href="http://www.bacula.org/" style="color: blue; text-decoration: underline; text-underline: single"&gt;http://www.bacula.org/&lt;/a&gt;).&amp;nbsp; Webmin Plus is still freely distributed under a &amp;ldquo;Mozilla-type&amp;rdquo; license, and is downloadable via Sourceforge.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Webmin Pro:&lt;/strong&gt; Last I checked, Webmin Pro had not yet been released, but the following is an excerpt about the product from the OpenCountry website: &amp;ldquo;...a commercially supported comprehensive product for the entire data center enabling centralized systems administration of mixed distributions, Linux and Windows!&amp;rdquo;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;II. YAST:&lt;/strong&gt; YaST (&lt;strong&gt;Y&lt;/strong&gt;et &lt;strong&gt;a&lt;/strong&gt;nother &lt;strong&gt;S&lt;/strong&gt;etup &lt;strong&gt;T&lt;/strong&gt;ool) is an OS installation and configuration utility used primarily in SUSE-based systems.&amp;nbsp; YaST typically serves as the primary control panel interface in, and can be used for a number of configuration tasks &amp;ndash; such as adding and removing software, patch management, user management, device configuration and for configuring individual services and daemons.&amp;nbsp; Other common administration tasks such as obtaining system information and reading server logs is also possible via the YaST interface. All of the aforementioned YaST features are implemented as modules, each of which provide a specific functionality or perform certain tasks.&amp;nbsp; These tasks typically involve editing one or more text configuration files on the system in a specific format to configure a specific service or daemon.&amp;nbsp; On other Linux or UNIX-like systems, these tasks are typically performed manually via the command-line. &lt;/p&gt;&lt;p&gt;The YaST utility is very modular in its design, allowing Novell or other third-party providers to add modules into the YaST interface to configure a particular device or service.&amp;nbsp; Many of these modules work independently of each other, and as such are often packaged as individual RPM packages that may be added or removed depending on the software and devices that are installed on a system. YaST modules are written using a scripting language specific to YaST called YCP.&amp;nbsp; Other scripts, such as Perl or shell scripts can also be utilized via a YaST module to perform a particular task.&amp;nbsp; A CIM module for YaST is also distributed with SLES10, which provides a client interface for CIMOM (Common Information Object Manager) to other YaST2 modules. It seems the most common administration task for which YaST is used involves setting up individual package repositories (discussed further in the Patch Management and Maintenance), adding or removing software packages and configuring or initiating online updates. YaST is capable of searching for and locating software on remote repositories, retrieving the software packages, resolving package dependencies, checking the cryptographic signature of the package (if available) and then installing the software on the system.&amp;nbsp; Multiple repositories can be configured.&amp;nbsp; Repositories can be located on a hard disk or CD/DVD, or on a remote system obtainable via HTTP(s), FTP, NFS or CIFS. Once a repository is configured it can then be indexed for later searching.&amp;nbsp; The software search functionality is very powerful, allowing one to search for appropriate software packages using many of the attributes available in the RPM package header &amp;ndash; such as the description or contents of the package. Besides software management, the quality and completeness of many YaST modules varies.&amp;nbsp; Many modules (such as the log viewing modules) offer minimal functionality, and only work well enough to provide a few basic configuration options.&amp;nbsp; Complex server configurations will therefore still require one to edit text-based configuration files by hand, or use another configuration engine for the task, such as Webmin.&amp;nbsp; However, many other common tasks, such as configuring display settings or a printer, can be done entirely via YaST.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;III. SSH/SCP/SFTP:&lt;/strong&gt; SSH (Secure SHell) is likely the most widely used remote administration tool for Linux and UNIX-based systems.&amp;nbsp; The typical SSH toolset includes the SSH client and server, as well as the SCP and SFTP client applications for copying files, both of which simply utilize the ssh binary on the backend.&amp;nbsp; The following excerpt is from the OpenSSH project home page: &lt;em&gt;&amp;quot;OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that their password is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions.&lt;/em&gt; Since most any task can be performed via the command-line, the OpenSSH utilities are likely the most critical component for a Linux administrator to have available.&amp;nbsp; The remote copy and command execution options allow one to build, deploy and run a script on a number of machines relatively quickly and securely.&amp;nbsp; OpenSSH is typically installed by default in most Linux-based distributions, although in some distributions the server may by default be disabled or blocked by the firewall. &amp;quot;Most common uses of SSH are:&lt;/p&gt;&lt;ol start="1"&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034268" title="_Toc158034268"&gt;&lt;/a&gt;Remote Command Execution:&lt;/strong&gt; One of the most common uses of the ssh utility is to run commands in remote machines&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Authentication:&lt;/strong&gt; In order to log into, copy files or run commands on a remote host via ssh, one must first authenticate to the remote machine.&amp;nbsp; Local password authentication may be used without any particular configuration on the server.&amp;nbsp; Linux systems that support PAM (Pluggable Authentication Modules) may also use password authentication to authenticate using a number of mechanisms, including NIS, LDAP, Kerberos, or AD (Active Directory).Rather than requiring a user to manually type in a password, a more common authentication option is to use public key authentication.&amp;nbsp; A user&amp;rsquo;s public key must be inserted into a file on the remote host called authorized_keys before they are allowed to authenticate to that server.&amp;nbsp; This can often be done via the post installation procedures built into kickstart or autoyast.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034270" title="_Toc158034270"&gt;&lt;/a&gt;Tunneling other Applications:&lt;/strong&gt; Another common application is to use SSH for tunneling other protocols.&amp;nbsp; This is often used to tunnel protocols that are not typically encrypted such as NFS or X11.&amp;nbsp; By using the &amp;ndash;Y or &amp;ndash;X switches with the ssh client application, one can &amp;ldquo;turn on&amp;rdquo; X11 tunneling, allowing graphical applications run on the remote machine to display locally on the administrators workstation.&amp;nbsp; For example, if one were to SSH into a SUSE-based system and run &amp;ldquo;yast2&amp;rdquo; via the command line, the YaST display would be tunneled via SSH and displayed on the local system &amp;ndash; even though the actual application is running on the remote system.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;a name="_Toc158034271" title="_Toc158034271"&gt;&lt;/a&gt;Cluster Management:&lt;/strong&gt; When managing a number of Linux servers, such as a HPC cluster, it is typical to have a large number of systems with identical configurations.&amp;nbsp; To ease administration of these systems there have been a number of SSH-based utilities that allow one to run commands on multiple systems, or copy a file to multiple systems, in parallel.&amp;nbsp; The following utilities are all licensed under the GNU GPL.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ClusterSSH:&lt;/strong&gt; &lt;em&gt;ClusterSSH&lt;/em&gt; allows an administrator run to open a remote SSH session to a number of systems at once via a single terminal window, and run commands or alter configuration files on all the systems simultaneously.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;PCP:&lt;/strong&gt; &lt;em&gt;PCP&lt;/em&gt; is a tool designed to copy files in parallel to multiple nodes in a cluster or server farm.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;GEXEC:&lt;/strong&gt; &lt;u&gt;&lt;em&gt;GEXEC&lt;/em&gt;&lt;/u&gt; is a tool that is somewhat complimentary to PCP that provides a parallel remote command execution system for large clusters.&amp;nbsp; The system includes a client and server, as well as a library that allows integration into third-party applications.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;PSSH:&lt;/strong&gt; &lt;em&gt;PSSH&lt;/em&gt; is distributed as a suite of utilities that perform many of same functions as ClusterSSH, PCP and GEXEC.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pssh&lt;/strong&gt; &amp;ndash; Parallel SSH, similar to ClusterSSH or GEXEC.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pscp&lt;/strong&gt; &amp;ndash; Parallel SCP, allows one to copy files to multiples nodes in manner a similar to PCP.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;prsync&lt;/strong&gt; &amp;ndash; The &lt;em&gt;prsync&lt;/em&gt; utility automates running rsync on multiple nodes in parallel, essentially another method of copying files or entire directory trees to a number of remote nodes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pnuke&lt;/strong&gt; &amp;ndash; The &lt;em&gt;pnuke&lt;/em&gt; command can be used to kill a number of processes running on multiple nodes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;pslurp &lt;/strong&gt;&amp;ndash; The &lt;em&gt;pslurp&lt;/em&gt; utility is similar to the pscp utility, except that it is designed to copy files from a set of hosts.&amp;nbsp; This allows one to copy, for example, a log file that exists on multiple nodes, to a local directory tree.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;IV. Cfengine:&lt;/strong&gt; &lt;em&gt;&amp;ldquo;Cfengine, or the configuration engine is an autonomous agent and a middle to high level policy language and agent for building expert systems to administrate and configure large computer networks. Cfengine is designed to be a part of a computer immune system. It is ideal for cluster management and has been adopted for use all over the world in small and huge organizations alike.&amp;rdquo;&lt;/em&gt; &lt;em&gt;Cfengine&lt;/em&gt; consists of a userspace application called &lt;em&gt;cfagent&lt;/em&gt; and a host of other utilities that reads and parses a series of text configuration files and performs tasks on the host system based on the configuration.&amp;nbsp; The configuration syntax of &lt;em&gt;Cfengine&lt;/em&gt; is actually a high-level policy language that allows &lt;em&gt;cfagent&lt;/em&gt; to test the system&amp;rsquo;s configuration and perform corrective actions based on those tests.&amp;nbsp; For example, &lt;em&gt;cfagent&lt;/em&gt; may test to assure that a certain line of text exists within a configuration file, and if not it will add the text and restart the associated service.&amp;nbsp; The &lt;em&gt;cfagent&lt;/em&gt; utility is typically run on an hourly (or so) basis via &lt;em&gt;cron&lt;/em&gt;, a task-scheduling application.&amp;nbsp; This assures that mis-configurations will be found and corrected within a reasonable time frame. &lt;/p&gt;&lt;p&gt;The policy simply tests to make sure an entry for user &lt;em&gt;root&lt;/em&gt; exists within the &lt;em&gt;/etc/shadow&lt;/em&gt; file, and also checks to make sure the password matches.&amp;nbsp; This assures that all systems have the same password for the root user. The configuration of Cfengine can become very complex, which would likely not surprise those who have had experience with the tool.&amp;nbsp; The structure of the policy language eases this dilemma a bit, as platform definitions can be made and inherited by other blocks to help determine the appropriate action to take. The configuration is essentially a high-level policy language, and thus the various tests must be built and scripted manually.&amp;nbsp; The toolset is, however, enormously powerful when implemented correctly.&amp;nbsp; But as with many open-source technologies, the learning curve can be quite steep, and one must study the complexities of the tool before it can be competently used in a production environment. A version of Cfengine has been ported to the Windows platform to run under &lt;em&gt;Cygwin&lt;/em&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;editfiles:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # We have different passwords for lab systems and workstations.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux.shadowpasswords.md5passwords.(!workstations)::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;{ /etc/shadow&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLine &amp;quot;root:$1$383J33RL$ XXXXXXXXXXXXXXXXXXXXXX:12984:0:99999:7:::&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoLineMatching &amp;#39;^root:.*&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocateLineMatching &amp;#39;^root:.*&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReplaceLineWith &amp;ldquo;root:$1$383J33RL$ XXXXXXXXXXXXXXXXXXXXXX:12984:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux.shadowpasswords.md5passwords.workstations::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;{ /etc/shadow&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetLine &amp;ldquo;root:$1$gcGWA0qS$YYYYYYYYYYYYYYYYYYYYYY:13027:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoLineMatching &amp;lsquo;^root:.*&amp;rsquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocateLineMatching &amp;lsquo;^root:.*&amp;rsquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReplaceLineWith &amp;ldquo;root:$1$gcGWA0qS$YYYYYYYYYYYYYYYYYYYYYY:13027:0:99999:7:::&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;&lt;/span&gt;&lt;strong&gt;Example Cfengine policy to check the password for the root user.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;The following example Cfengine policy checks for the existence and the contents of the &lt;em&gt;/etc/cron.d/yast2-online-update&lt;/em&gt; file for SUSE systems.&amp;nbsp; If necessary it creates the file, and writes a &lt;em&gt;cron&lt;/em&gt; entry into the file to schedule a daily check for updates and patches.&amp;nbsp; Upon completion, it then runs the command &amp;ldquo;/etc/init.d/cron restart&amp;rdquo; as defined in the &lt;em&gt;suse.restartcrond&lt;/em&gt; definition.&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;editfiles:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suse::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /etc/cron.d/yast2-online-update&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefineClasses &amp;quot;restartcrond&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Umask 077&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AutoCreate&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BeginGroupIfNoLineMatching &amp;quot;^.*[\s\t]+root[\s\t]+online_update&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AppendIfNoSuchLine &amp;quot;30 3 * * * root online_update&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndGroup&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;shellcommands:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 9pt"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suse.restartcrond::&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 9pt; font-family: 'Calibri','sans-serif'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;/etc/init.d/cron restart&amp;quot;&lt;/span&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Example Cfengine policy to assure that SUSE systems check for updates daily.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;And that does it for the &amp;ldquo;Systems Configuration&amp;rdquo; section As always, please let us know if you found the above mentioned useful and any comments/feedback you may have. Thank you for tuning into Port25.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3979" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Software+Testing/default.aspx">Software Testing</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Systems Manageability Part 3 - Provisioning and Deployment</title><link>http://port25.technet.com/archive/2007/05/03/systems-manageability-part-3-provisioning-and-deployment.aspx</link><pubDate>Thu, 03 May 2007 17:29:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3864</guid><dc:creator>kishi</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3864</wfw:commentRss><comments>http://port25.technet.com/archive/2007/05/03/systems-manageability-part-3-provisioning-and-deployment.aspx#comments</comments><description>&lt;font face="Verdana" size="2"&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;I want to start this blog with a note of Thanks to &lt;a href="http://softwareblogs.intel.com/author/ajay-mungara/" style="color: blue; text-decoration: underline; text-underline: single"&gt;Ajay Mungara&lt;/a&gt;, the Manageability Developer Community Manager from Intel and &amp;ldquo;einhverfr&amp;rdquo;, both of whom gave some very constructive &lt;a href="http://port25.technet.com/archive/2007/03/21/systems-manageability-part-1-why-manageability-matters.aspx#comments" style="color: blue; text-decoration: underline; text-underline: single"&gt;feedback&lt;/a&gt; on the previous blog. In the next six blogs to follow, including this one, I will do a &amp;ldquo;deep-dive&amp;rdquo; into the six specific areas we covered under the &amp;ldquo;Systems Manageability&amp;rdquo; &lt;a href="http://port25.technet.com/archive/2007/04/06/systems-manageability-part-2-scope-methodology-and-ontology.aspx" style="color: blue; text-decoration: underline; text-underline: single"&gt;ontology&lt;/a&gt;. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Let&amp;rsquo;s start this blog with the first of the six categories from the ontology - &amp;nbsp;&lt;strong&gt;&amp;ldquo;Deployment and Provisioning&amp;rdquo;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Level-Set: Deployment and Provisioning as we understand it, encompasses all tasks related to the initial installation of an operating system on remote system, as well as post-installation of software on a remote system.&amp;nbsp; Much of these toolsets are geared toward automated system provisioning and cloning. There&amp;rsquo;s lots of different tools out there that can be used but we have focused on the most popular ones, namely Kickstart, Autoyast, &amp;ldquo;Bare-Metal&amp;rdquo; provisioning and RedHat Network. In the paragraphs to follow, we have attempted to lay out our understanding of these tools after using them in the OSSL:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;I.KICKSTART:&lt;/strong&gt; is an automated installation utility for RedHat-based systems, including Fedora Core and RHEL based systems.&amp;nbsp; Kickstart software requires the creation of a configuration file (similar to an &amp;ldquo;answer file&amp;rdquo; in Windows lingo) which contains all the information the installation program will require to install the operating system.&amp;nbsp; The configuration file and all the RPM software packages are typically kept on a remote server such as a HTTP or FTP. The location of the Kickstart configuration file is typically passed to the kernel at boot time.&amp;nbsp; For example, once the bootloader (GRUB, LILO) loads, the user is often presented with a &amp;ldquo;boot:&amp;rdquo; prompt that allows the user to pass arguments to the kernel.&amp;nbsp; To load a kickstart configuration file from a remote server one would type the following:&amp;nbsp;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Lucida Console"&gt;boot:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Lucida Console"&gt; linux ks=http://&amp;lt;server&amp;gt;/location/of/kickstart.cfg&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The administrator can then create multiple Kickstart configuration files for different configurations.&amp;nbsp; With the addition of a PXE-based server, much of the provisioning process can be automated. A Kickstart configuration file is simply a text file, which can be created and edited manually with any text-editor.&amp;nbsp; A GUI-based Kickstart file creation program called system-config-kickstart is also available from the Fedora and RHEL distributions. Both kickstart and autoYaST provide the ability to run arbitrary commands during the post-installation phase.&amp;nbsp; This allows administrators to run individual commands, or entire shell scripts to automate any post installation tasks that may be required.&amp;nbsp; RedHat provides a GUI-based tool to assist one in building a kickstart configuration , however in practice it is very easy to customize the configuration file by hand.&amp;nbsp; The ability to run shell commands via the post-configuration phase is simple yet extremely powerful.&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;II. AutoYaST:&lt;/strong&gt; is another automated installation utility, similar to RedHat&amp;rsquo;s Kickstart utility, but used primarily with SUSE-based systems.&amp;nbsp; Novell provides a YaST2 module for autoYaST, which is a GUI tool that can be used to create an autoYaST configuration file &amp;ndash; also similar to RedHat&amp;rsquo;s system-config-kickstart utility. Many of the same rules and procedures used with the kickstart utility also apply to autoYaST.&amp;nbsp; Administrators that need to deploy SUSE clients or servers can create any number of autoYaST configuration files to fit a particular system profile.&amp;nbsp; These can then be used to automate the installation of a SUSE system over a network.&amp;nbsp; When combined with PXE/DHCP setup administrators can deploy and start a SUSE install without using any physical media (i.e. an installation CD/DVD).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;III. Bare-Metal Provisioning:&lt;/strong&gt; Automated deployment tools such as Kickstart and Autoyast support system provisioning via HTTP, (T)FTP and NFS.&amp;nbsp; Completely automated installations can also be configured using the Pre-Execution Environment (PXE), DHCP, tftp and kickstart or autoyast.&amp;nbsp; By automating the boot process, it no longer becomes necessary to manually initialize the installation process via a CDROM or other bootable medium. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Many cluster deployment solutions utilize these very same technologies to deploy large numbers of nodes in a very short time.&amp;nbsp; &lt;a href="http://www.rocksclusters.org/wordpress/" style="color: blue; text-decoration: underline; text-underline: single"&gt;ROCKS&lt;/a&gt;, for example, automates the booting and (re)deployment cluster nodes on the network using PXE, DHCP and kickstart, a process that can sometimes require less than 10-minutes for a single node.&amp;nbsp; Proprietary tools such as CSM, IBM&amp;rsquo;s cluster management software, also utilizes PXE, DHCP and kickstart or autoYaST to (re)provision cluster nodes as needed.&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;&lt;a name="_Toc158034249"&gt;&lt;/a&gt;Configuring a PXE Server for Automated Installations:&lt;/strong&gt; There are two common utilities one may use to configure a PXE server on Linux.&amp;nbsp; Testing for this scenario was done using a RedHat based system.&amp;nbsp; Therefore some aspects of the following descriptions, such as locations of configuration files, will be RedHat-centric.&amp;nbsp; The general necessity of the configuration and the components, however, are not distribution specific.&lt;/font&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;pxeos&lt;/strong&gt; &amp;ndash; This utility can be used to configure operating system descriptions within the PXE boot files.&amp;nbsp; Operating system descriptions include the OS name, the protocol used to obtain the OS files (HTTP, FTP, NFS) and the full URI and path to the installation files.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;system-config-netboot &lt;/strong&gt;&amp;ndash; The system-config-netboot utility is a graphical application that can perform many of the same tasks as the pxeos utility.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;&lt;a name="_Toc158034250"&gt;&lt;/a&gt;Configuring DHCP:&lt;/strong&gt; The DHCP daemon can be configured via the /etc/dhcpd.conf file.&amp;nbsp; Those options that are specific to allowing PXE boot clients are listed below.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;allow bootp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;class &amp;quot;pxeclients&amp;quot; {&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;match if substring(option vendor-class-identifier, 0, 9) = &amp;quot;PXEClient&amp;quot;;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; filename &amp;quot;linux-install/pxelinux.0&amp;quot;;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Lucida Console"&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;&lt;a name="_Toc158034251"&gt;&lt;/a&gt;Configuring TFTP:&lt;/strong&gt; The TFTP daemon must first be enabled via xinetd super daemon.&amp;nbsp; The following configuration is added to /etc/xinetd.conf, or sometimes /etc/xinetd.d/tftp, depending on the distribution:&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;service tftp&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disable&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = no&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= 69&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; socket_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dgram&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = udp&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = yes&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = root&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = /usr/sbin/in.tftpd&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; server_args&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;= -s /tftpboot&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; per_source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 11&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 100 2&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flags&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = IPv4&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 10pt; font-family: Lucida Console"&gt;}&lt;/span&gt; &lt;p&gt;&lt;em&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;TFTP Configuration in xinetd.conf&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;The directory /tftpboot/linux-install is the default used by the system-config-netboot configuration tool.&amp;nbsp; The directory contains kernels and the necessary configuration files required to boot a system and begin a kickstart installation.&amp;nbsp; The configuration file /tftpboot/linux-install/pxelinux.cfg/pxeos.xml contains specific definitions about which network install profiles are available to PXE boot clients.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;That&amp;rsquo;s it for the Provisioning and Deployment section. As always, please let us know if you found the above mentioned useful and any comments/feedback you may have. Thank you for tuning into Port25.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3864" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Infrastructure Management and Strategic Design: Part 4 – Service Management Frameworks</title><link>http://port25.technet.com/archive/2006/08/01/Infrastructure-Management-and-Strategic-Design_3A00_-Part-4-_1320_-Service-Management-Frameworks.aspx</link><pubDate>Tue, 01 Aug 2006 16:51:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2814</guid><dc:creator>jcannon</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2814</wfw:commentRss><comments>http://port25.technet.com/archive/2006/08/01/Infrastructure-Management-and-Strategic-Design_3A00_-Part-4-_1320_-Service-Management-Frameworks.aspx#comments</comments><description>&lt;p&gt;Today, the IT departments offering and managing various IT Services might find themselves in what I would call a &amp;ldquo;pressure-cooker&amp;rdquo;. They are faced with a multitude of tasks and added pressure to maintain daily operations while driving efficacy, managing the growing complexity of Service Offerings and most importantly, doing so while keeping pace with the industry best practices. This has been one of the most explosive areas of growth and re-examination for the past few years. Back in my Ops days, I trained under &lt;a href="http://www.ogc.gov.uk/index.asp?id=2261"&gt;ITIL&lt;/a&gt; i.e. IT Infrastructure Library and &lt;a href="http://www.microsoft.com/technet/itsolutions/cits/mo/mof/default.mspx"&gt;MOF&lt;/a&gt; i.e. Microsoft Operations Fundamentals to get a first hand look at some of the best Service Management practices in the industry. No matter how good I thought our Service Management practices might have been, I could not help but to think in terms of the maturity level of the Services that can be achieved by applying these principles. When you get down to it, you realize that the heart and soul of effective Service Management lies in how mature the offering and support model is.&amp;nbsp; I have learnt a lot from the ITIL Service Management Essentials course, which I attribute to research and practices that have gone into developing these models. I&amp;rsquo;d like to share w/ you what made sense to me: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Bridge Concept&lt;/strong&gt;: As described in various ITIL formats, Service Management can be referred to as the &amp;ldquo;bridge layer&amp;rdquo; between Business and Technology. It is through the conduit of Service Management that core business needs as well as core technologies find their match with each other. This is attained by aligning the Business Needs and Goals of the organization with the various technologies and IT functions that can map to these overall goals&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Think Framework&lt;/strong&gt;: Once you have scoped out, what may be a void in the service hierarchy of your organization, make a commitment to implementing a Service Management and Delivery framework that is suitable for your org. One size DOES NOT fit all and although I am only talking about ITIL concepts here, there are several methodologies you can explore before making the plunge.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Benefits of implementing a Service Management Framework&lt;/strong&gt;: In just a few minutes after sitting in the ITIL Essentials Training class I was able to get a very crisp idea of what the benefits of implementing a Service Management Framework are. To name a few &amp;ndash; &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Raising the bar on Service Delivery Quality &lt;/li&gt;&lt;li&gt;More accurate alignment w/ Business Needs &lt;/li&gt;&lt;li&gt;Enhanced relationship between service provider and consumer &lt;/li&gt;&lt;li&gt;Deeper visibility into service complexity &lt;/li&gt;&lt;li&gt;Driving efficiencies with optimal resource utilization&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Goals for implementing a Service Management Framework&lt;/strong&gt;: if and when you do make the commitment to implementing a Service Management Framework, here&amp;rsquo;s a quick set of goals you can set when you proceed with the implementation of Service Management: &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Put an SLA ( Service Level Agreement) or an SLO (Service Level Objective) around the critical and non-critical services you offer, respectively &lt;/li&gt;&lt;li&gt;Manage and monitor the implementation and practice of these SLA&amp;rsquo;s and SLO&amp;rsquo;s &lt;/li&gt;&lt;li&gt;Create and publish a service catalog describing the services offered by your IT department/division &lt;/li&gt;&lt;li&gt;Monetize the service management offerings, even if your customers are internal. This will help quantify the service effectiveness and bring measurability across the board &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt;: the itSMF or IT Service Management Forum (&lt;a href="http://www.itsmf.com/"&gt;www.itsmf.com&lt;/a&gt; ) is an independent,&amp;nbsp; non-profit, user group distributed all across the world that has dedicated itself to exploring and promoting IT Service Management concepts and practices. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I am very eager to hear back from those of you that are an integral part of the Service Management Lifecycle. Please share your experiences, challenges and learning with us.&lt;br /&gt;&lt;br /&gt;Kindest Regards and have a great week ahead!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2814" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Infrastructure Management and Strategic Design: Part 3</title><link>http://port25.technet.com/archive/2006/07/11/Infrastructure-Management-and-Strategic-Design_3A00_-Part-3.aspx</link><pubDate>Tue, 11 Jul 2006 20:17:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2729</guid><dc:creator>jcannon</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2729</wfw:commentRss><comments>http://port25.technet.com/archive/2006/07/11/Infrastructure-Management-and-Strategic-Design_3A00_-Part-3.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;em&gt;Part 3 &amp;ndash; Adaptation and simulation of Heterogeneous environments under lab conditions&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;A simple question that has always perplexed me is how software and hardware OEM&amp;rsquo;s across the world simulate heterogeneous environments under lab conditions. I have witnessed several different approaches, practices and stages of this adaptation and each one of them is unique and correct in its right and merit. I guess, that leaves the &amp;ldquo;big&amp;rdquo; question which remains unanswered i.e., how do you bring a &amp;ldquo;real-life&amp;rdquo; scenario and manifest it under lab conditions. This is even more challenging because the average test lab for a medium to large organization is no match to the size and complexity of its elder sibling, the Enterprise Data Center, running its production systems, applications and operations. So why squeeze all that complexity into a smaller scale ? Is there one perfect method?&amp;ndash; of course not, depends on what heterogeneity means to you/your business. Let&amp;rsquo;s look at this and why it&amp;rsquo;s necessary and also share some techniques that may be helpful.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;Start with why it&amp;rsquo;s necessary to represent if not an equivalent amount of heterogeneity within a lab but a comparable one. Start with simple logic &amp;ndash; why do we need a lab in the first place ? In most cases it&amp;rsquo;s an environment we can turn to and run processes, tests and simulations which we dare not try in a Production Environment. However, the caveat here is that if we do want to test a tool or an app that we&amp;rsquo;re about to roll into a production environment, our best bet is to test it in the lab with conditions mirroring as closely to the production environment as possible. It&amp;rsquo;s also a place where we can develop workarounds, fixes, documentation, implementation practices and as much supplementary support mechanism as we&amp;rsquo;d like before we bite the bullet and push the tool or app into production. The expectation we keep in mind when we do that is that results from the lab and production rollout should bear a resemblance like that of the &amp;ldquo;Partridge Family&amp;rdquo; and hopefully not of the &amp;ldquo;Manson Family&amp;rdquo;. Okay, bad joke but you get the point.&lt;br /&gt;&lt;br /&gt;Now on to &amp;ldquo;Tips and Tricks&amp;rdquo; to help with the process of adaptation and simulation of a lab environment that mimics your production one. Here&amp;rsquo;s what I found useful:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;&lt;strong&gt;Deployment Methods&lt;/strong&gt;: Using similar deployments tools, techniques and methods in the lab that are already in use in the production environments makes one aware of &amp;ldquo;delivery mechanisms&amp;rdquo; and the path, process the deployment cycle will take when released&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;&lt;strong&gt;Configuration Management&lt;/strong&gt;: Extreme familiarity and knowledge of the configuration options of not just the delivery mechanism/s but also of the tool/s or app/s is something as valuable as having that Swiss knife in your pocket &amp;ndash; you just never know when you&amp;rsquo;re going to need it&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;&lt;strong&gt;What Business Scale ?:&lt;/strong&gt; Never hesitate to walk out of the lab and have a conversation with decision makers who chose the tool/app. Find out more about what their expectations out of this application are (by now I know some of you may be cringing in your chairs but I am dead-serious on this one). This is the best way to learn if the application should be tuned towards business scales such as Reliability, TCO, Scalability, Performance, High availability or whatever&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;&lt;strong&gt;Manageability&lt;/strong&gt;: My personal favorite &amp;ndash; always have a lifeboat handy i.e. when the fit hits the shan, will you still be able to recover the system, do a roll-back, connect remotely and most importantly, keep the service/s up and available&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;&lt;strong&gt;Driving Efficiencies&lt;/strong&gt;: Most IT departments have to squeeze every efficiency they can out of their budgets, and labs are a luxury when they have to deliver results to CTOs. So what&amp;rsquo;s the best way to accomplish testing, or simulation, on a budget. How does someone with no extra money support such an effort. There&amp;rsquo;s some creative resource utilization that can be implemented such as:&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;div class="MsoNormal" style="color: blue"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;Rotation of production hardware coming up for decommissioning and reallocating such resources to the lab&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="color: blue"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;Making use of evaluation copies and licensing i.e. since most lab testing scenarios only extend to short periods to drive testing&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="MsoNormal" style="color: blue"&gt;&lt;font face="Tahoma" size="2" color="#000000"&gt;&lt;span&gt;Using down-time to allocate personnel to testing efforts i.e. if there&amp;rsquo;s lag time between two projects, using that time and headcount effectively to drive testing&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;And finally a small anecdote to help put things in perspective. In my past life, I remember several years ago when I was still on the east coast, I worked on implementing an asset tracking tool for desktops spread through the environment. We tested the tool on individual desktops and did not care about running the entire scenario using network connectivity across the simulation. We were told by the vendor that the tool uses less than 1% of CPU as negligible amount of memory. After random tests, we rolled out the tool and the purpose of the tool was to run a script and send the results back across the network. However, due to ACL&amp;rsquo;s in place, which we forgot to account for, and lack of validation of packet delivery, the desktops stopped responding. This was an expensive lesson in why we should test the waters to the best possible extent before setting sail.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;Just a few thoughts and hope it triggers some more for everyone out there. As always, please do let me know if that has been useful and/or if you have a specific topic in mind you&amp;rsquo;d like us to write about.&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;-Kishi&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2729" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Kishi+Malhotra/default.aspx">Kishi Malhotra</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Open Source Management - Commercial or Libre</title><link>http://port25.technet.com/archive/2006/07/05/Open-Source-Management-_2D00_-Commercial-or-Libre.aspx</link><pubDate>Wed, 05 Jul 2006 17:17:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2706</guid><dc:creator>jcannon</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2706</wfw:commentRss><comments>http://port25.technet.com/archive/2006/07/05/Open-Source-Management-_2D00_-Commercial-or-Libre.aspx#comments</comments><description>&lt;p&gt;Free open source management projects have existed for years, as illustrated by nagios and webmin, and exist as BYOC (bring your own console) free alternatives to commercial management systems from HP, BMC, CA, IBM and Microsoft.&amp;nbsp; In the last few years, we&amp;#39;ve seen a rise in commercial software companies moving to support Linux and heterogeneous environments - including but not limited to &lt;a href="http://www.centrify.com"&gt;Centrify&lt;/a&gt;, &lt;a href="http://adtmag.com/article.aspx?id=10121"&gt;Vintela (Quest)&lt;/a&gt; and &lt;a href="http://www.Centeris.com"&gt;Centeris&lt;/a&gt;, three vendors with whom we&amp;#39;ve worked in the lab.&lt;/p&gt;&lt;p&gt;It makes good economic sense to make money managing a free product - after all, Microeconomics 101 will tell you that commoditizing your complements maximizes revenue.&amp;nbsp; Sell a database?&amp;nbsp; Then make the operating system and application server free.&amp;nbsp; IBM&amp;#39;s move into open source can be seen in this perspective (free operating systems on for-profit hardware and services) as can HP&amp;#39;s (with management software revenues thrown into the mix).&amp;nbsp; The same logic should apply to management, especially given the relative lack of enterprise-class open source management software.&amp;nbsp; While nagios is impressive, the fact that it has been used to manage 5,000 node systems alone does not make it enterprise-class.&lt;/p&gt;&lt;p&gt;Recently the Open Management Consortium was founded to unite free/libre open source management projects around a common vision for what management systems should be capable of, and under a common philosophy of open source software.&amp;nbsp; Founders include Qlusters, EmuSoftware, Zenoss, and Ayamon.&amp;nbsp; They also have a &lt;a href="http://open-management.com/oss-projects/"&gt;list of OSS management projects&lt;/a&gt;.&amp;nbsp; Notably, they don&amp;#39;t mention &lt;a href="http://wiki.openssi.org/go/Main_Page"&gt;OpenSSI &lt;/a&gt;as a cluster management technology.&lt;/p&gt;&lt;p&gt;Open Source can be taken to apply to management in several ways:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Console &lt;/li&gt;&lt;li&gt;Monitor &lt;/li&gt;&lt;li&gt;Agents &lt;/li&gt;&lt;li&gt;Adapters&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Each of these layers is open to displacement by open source software, some more easily than others.&amp;nbsp; Agents and adapters seem to me to be the best fit for the typical open source development model - where it&amp;#39;s &lt;a href="http://borsch.typepad.com/ctd/2006/05/open_source_and.html"&gt;easier to serve the long tail &lt;/a&gt;of different endpoints than under standard commercial rules.&amp;nbsp; Consoles and monitors, while at the most basic levels of logging, parsing, alerting, and displaying are well-understood, are areas of deep research and increasingly rarified technology.&amp;nbsp; The developments in the area of event aggregation and scalable management UIs require significant directed investment (and &lt;a href="http://asay.blogspot.com/"&gt;Matt Asay&lt;/a&gt; has disagreed with me on this before) in which commercial software companies have an advantage.&lt;/p&gt;&lt;p&gt;A few Port 25 readers have contacted me about building open source integrations between Microsoft products and OSS management technology - as well as OSS projects and Microsoft management technology.&amp;nbsp; For both of these categories, it makes good sense to me and I&amp;#39;d like to see them developed at &lt;a href="http://www.codeplex.com"&gt;www.codeplex.com&lt;/a&gt;, where we&amp;#39;ve built an infrastructure for the community to build open source projects.&lt;/p&gt;&lt;p&gt;In the management arena, where we spend significant time in the lab testing different approaches, I&amp;#39;d be happy to spend money and time helping to test or develop projects on Codeplex.&amp;nbsp; Drop me a note if you have something cooking and would like some help or direction.&lt;/p&gt;&lt;p&gt;Cheers,&lt;br /&gt;Sam&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2706" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category></item></channel></rss>