Docker is an open source, lightweight containerization platform for distributed applications with a principle of "Build once, Run Anywhere". It provides an ability to package software into standardised units on Docker for software development. It’s an OS virtualization layer that takes advantage of Linux kernel features like namespaces and control groups to provide complete application isolation and greatly simplifies the deployment and management of applications on any platform. Containers provide each application an independent runtime environment.

Docker provides the tools necessary to build, run and manage applications packaged as Docker images. An application distributed as a Docker image incorporates all the dependencies and configuration necessary for it to run, hence eliminating the need for end-users to install necessary packages and troubleshoot dependencies.

Running Dell OpenManage Plug-in for Nagios Core inside Docker Container

Dell OpenManage Plug-in for Nagios Core provides a proactive approach to data center management that delivers features for monitoring 12th and later generations of Dell PowerEdge servers through an agent-free method using integrated Dell Remote Access Controller (iDRAC) with Lifecycle Controller technology, Dell chassis and Dell storage devices in the Nagios Core console. With this plug-in, customers have comprehensive hardware-level visibility of Dell PowerEdge servers, Dell chassis, and Dell storage including overall and component-level health monitoring for quicker fault detection and resolution. To learn more about this plugin, refer this link



The idea is to leverage Docker's unique one-liner command to discover the server, storage and network devices and ready-to-be-managed by Nagios core. This surely protects customer's existing investments in Nagios Core and helps in simplifying the integration and management of Dell Infrastructure.

Building the Docker Image:

Assuming that you already have Docker Engine installed on your system, execute the below command to build the Docker image locally:

$sudo git clone https://github.com/ajeetraina/dell-oob-monitoring
$cd dell-oob-monitoring
$sudo docker build -t ajeetraina/dell-oob-monitoring .

In case you are not interested to build this Docker image, you can directly pull it from https://hub.docker.com/r/ajeetraina/dell-oob-monitoring/

$sudo docker pull ajeetraina/dell-oob-monitoring


Running the Docker Container:

Follow the below steps to run the docker container:

Step-1:

There are two ways to discover the Dell Infrastructure -

i. List out the iDRAC IPs(in case of servers, blades, FX2 and VRTX), Management IPs( Switch, Equallogic & Compellent) in a plain text file

OR

ii. Supply the subnet during the script execution to enable auto-discovery of Dell Infrastructure.

For Example, I created a file called ips.txt under /IP directory on the Docker host system as shown below:

File: /IP/ips

192.168.10.2
192.168.10.3
192.168.10.4
192.168.10.5
......
......

Step:2:

Run the below command to start the container:

$sudo docker run -dit  --net=host -v /IP:/IP ajeetraina/dell-oob-monitoring


This command mounts the host directory, /IP, into the container at /IP. The --net option binds the container port to the host port so that one can access Nagios UI with the host IP address.

Step3:

Execute the below command to start the script which initiates the necessary services to discover servers, storage and network devices and automatically ready-to-manage through Nagios UI.

$sudo docker exec -it <container-id> sh discover

This command takes sometimes(based on your inputs for list of iDRAC / Management IPs) to bring up Nagios and add the list of Dell Infrastructure onto Nagios Dashboard.

  • To access Nagios, go to https://<dockerhost-ip>:80/nagios; use credentials nagiosadmin / nagiosadmin

If you have a firewall running in your host, be sure to open ports 80/tcp.

When you login to the Nagios UI, in the left-hand column under the Hosts section, you can view the list of servers, storages and networking devices ready to be monitored.

Support

Please note these images are provided as-is and are not supported by Dell. If you find our container images useful, if you’d like to see new features added or would like to report a bug, please contact our mailing list Linux-PowerEdge or contact me directly at Ajeet_Raina{AT}Dell.com, we welcome your participation and feedback.