Open Source Cloud Authors: Liz McMillan, Yeshim Deniz, Pat Romanski, Elizabeth White, Zakia Bouachraoui

Related Topics: Open Source Cloud, @CloudExpo

Open Source Cloud: Blog Feed Post

Puppet, Monitis and Open Source Configuration Management

We’re offering guidance on how you can deploy the Monitis monitoring agent

Here at Monitis, it’s our ultimate goal to make the life of sysadmins, webmasters and other IT pros easier – especially when it comes to monitoring networks, servers, apps, cloud platforms and other key IT processes.

That’s why, in this post, we’re offering guidance on how you can deploy the Monitis monitoring agent and configure it using Puppet, the open source configuration management system. If you already use Puppet, go straight to the section below called “Distributing the Monitis Agent Using Puppet.” If you are not using any system configuration management yet, then we invite you to read this entire post for a brief introduction.

Open Source Configuration Management Software

For many companies, sysadmins spend an extraordinarily large amount of time manually configuring the management of servers and services. If not properly automated, you wind up with too much dependency on human intervention. Paul Anderson in his article “Why Configuration Management is Crucial,” illustrates this problem with few simple questions on the following aspects of config management:

  • “Reliability—If we decommission a server, can we be certain that nothing else depends on this server in any way? Perhaps it might have been the only DHCP server on some little-used subnet, and problems will only become apparent when some host on that subnet fails to boot.
  • Security—Can we be certain that the configuration files on a group of machines are set up so that there are no unexpected trust relationships between the machines? What if a supposedly secure machine installs new versions of an application from a remote file system on a less secure server?
  • Correctness—Can we be certain that every compute node in a cluster is running the required (new) version of a particular library before starting a critical job?”

As we see it, it’s clear that answers to those questions will never be complete in a environment without automated configuration management. Further, without automated configuration management, it is difficult to establish a working change management process, and without stable change management process, it is extremely difficult, if possible at all, to establish sound incident management and problem management processes. As a result, the entire Operations begin to slowly slip, efficiency of work and quality of supported services starts to decline, and pressure on staff and customers’ irritation grows.

Fortunately, you can turn to mature and stable solutions to automate these tasks: configuration management systems. You’ve probably heard about them. What you may not know, however, that some of these solutions are open source, and they carry a cost. For example on Wikipedia’s page that’s dedicated to open source configuration management software, one can find a brief comparative analysis of 23 of such open source configuration management systems!

One of the most popular systems is Puppet. Among companies using this system, you can find such names as SUN, Citrix and Zynga.

All about Puppet

Puppet is an enterprise systems management platform that standardizes the way IT staff deploys and manages infrastructure in the enterprise and the cloud, according to the company’s website.

“By automating the provisioning, patching, and configuration of operating system and application components across infrastructure, Puppet enables IT staff to master their infrastructure even as complexity grows,” the site continues.

Puppet is written in Ruby, an open source programming language with a focus on simplicity and productivity, and released under the GPL (GNU general public license) version 2. It is intended mostly for managing the configuration of Unix-like systems. Windows support is not expected to be available beyond 2011.

Puppet features a declarative language (According to Wikipedia, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Declarative language allows for creation of a graph of resources for easy reproduction of configurations, even in heterogeneous environments.) The user provides Puppet templates for describing parts of the system, and, when these templates are deployed, the runtime puts the managed systems into the declared state.

To briefly explain Puppet topology The Puppet Introduction uses the following diagram.

Puppet Master is a central management daemon. It serves compiled configurations, files, templates, and custom plug-ins to managed nodes. Puppet Agent runs on each managed node. By default, it will wake up every 30 minutes to check in with Puppet Master, send it new information about the system, and receive a ‘compiled catalog’ describing the desired system configuration. Puppet Agent then takes on the job of making the system match the compiled catalog.

There are many ready-to-use patterns for configuring Puppet. You may think of them as recipes in Puppet language. Some can found here. For others, you have to search. There is also active community support and a commercial entity, Puppet Labs (formerly Reductive Labs), which provides a commercially available extension via Puppet Enterprise.

There are also two books on Puppet published by Apress: “Pulling Strings with Puppet: Configuration Management Made Easy” by James Turnbul, and “Pro Puppet” by James Turnbull and Jeffrey McCune.  “Pulling Strings with Puppet…” is designed for novice users, while “Pro Puppet” is comprehensive follow-up for more advanced users.

Now, let’s move on to the guide for automated distribution of the Monitis’s Agents using Puppet.

Distributing the Monitis Agent Using Puppet
In order to enable Monitis monitoring on a Unix or Linux node, an agent should be deployed and run there. In the case of large number of nodes, this task can be delegated to Puppet. To do this, put the Monitis agent files on the Puppet Master server. Next, add Monitis Agent class description to the configuration. Please find a class start-up example below; you can certainly change it at your discretion.

Class monitis {

file { “/usr/local/monitis”:
owner => root,
group => root,
recurse => true,
source => “puppet:///monitis/monitis”,

exec {“monitis-echo”:
command => “bash /usr/local/monitis/etc/monitisconf.sh”,

Simply download the Monitis Agent and put it on Puppet Master. Then ‘untar’ it and change in the “/etc/monitis.conf” file e-mail entry from the default “[email protected]” to your Monitis account e-mail. Next, distribute the Monitis Agent to client nodes. The Puppet clients will copy the agent content from the Puppet server and run a script that will name an agent as hostName_hostIP, and then run it. That’s all that’s to it!

Now, go to the Monitis Console to manage checks from your agents.

We hope that this post will somehow encourage those of you who never used configuration management tools to give them a try. I’m convinced that using such tools shows the level of discipline of a sysadmin.

In the near future, look for another post on how you can integrate Monitis with other popular open source configuration management platforms.

Read the original blog entry...

More Stories By Hovhannes Avoyan

Hovhannes Avoyan is the CEO of PicsArt, Inc.,

IoT & Smart Cities Stories
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. The IoT Global Network is a platform where you can connect with industry experts and network across the IoT community to build the successful IoT business of the future.
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear these words all day every day... lofty goals but how do we make it real? Add to that, that simply put, people don't like change. But what if we could implement and utilize these enterprise tools in a fast and "Non-Disruptive" way, enabling us to glean insights about our business, identify and reduce exposure, risk and liability, and secure business continuity?
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | DXWorldEXPO 2018 New York, which will take place on November 11-13, 2018 in New York City, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...