CentOS 7 – Monitoring and Logging

How to manage remote IIS on Windows Server 2019

In a large computer infrastructure, system administrators cannot easily handle the monitoring of all system services and hardware issues for every machine. There should be a tool that helps gather the statuses of every machine in the infrastructure and presents them in a comprehensive way to the system administrators. Therefore, monitoring systems have been developed to satisfy the needs of monitoring a wide variety of computer infrastructure and help prevent system or hardware damage.

This chapter is an exploration of the world of monitoring and logging tools and the methodologies needed to better implement the right tools and configure them with the right parameters to guard and supervise a personalized computer infrastructure.

Through this chapter, you are going to learn these topics:

  • The most common open source monitoring tools available
  • How to set up Nagios as a monitoring server with some clients to monitor
  • The variety of tools used as a logging server
  • How to set up and configure syslog-ng as a logging server

Open source monitoring tools

Monitoring tools can show real-time information about the system, service, and hardware status. Through this information, a system administrator can tell whether there is something acting weirdly or showing weakness. Then, they can act and try to resolve the issue before it gets worse.

This section presents the most common open source monitoring tools. A monitoring tool is usually chosen depending on what its main need is. Some monitoring tools are specialized in monitoring the characteristics of a set of machines. Others help store and generate a graph of the history to be used for future system analysis.

Many organizations rely on their monitoring tools to output, in order to not only maintain their system and prevent potential problems, but also to determine their system’s rush hours and when the system is more idle status This helps them rather reinforce their system capacities and save power and resources.


We will start by talking about one of the most common monitoring system tools. Ganglia is a scalable distributed monitoring system for high-performance computing infrastructures. It is widely used with clusters and grid architectures. It is a web-based tool that allows its users to visualize the history of a machine’s statistics, such as CPU load averages, network usage, and so on. It has been developed to achieve a low per-node overhead and high concurrency. It is currently used by thousands of clusters worldwide.

Source: http://assets.digitalocean.com/

Ganglia is based on two basic services, one installed on the client machine and one on the server. On the client-side, the service is called gmond. gmond is a multithreaded daemon that runs on the client machines that we want to monitor. Its services are basically related to:

  • Monitoring a machine’s status change
  • Announcing the relevant changes
  • Listening to the state of other Ganglia nodes
  • Responding to requests for the XML descriptions of the machines it is running on

Then, we have the Ganglia PHP web frontend, which is installed on the monitoring server. It provides a view of the gathered information via real-time, dynamic web pages. These pages are the dashboards provided by Ganglia to its users (including system administrators). They are well organized in a meaningful way to present the machine’s status to the system administrators to make the diagnostics part much more easier for them. The Ganglia web frontend stores data about machines for up to 1 year, and it has a lot of customizable parameters for viewing a machine’s status history.

Ganglia is a very useful tool for monitoring machines’ statuses and has a very reliable dashboard for history management and all types of troubleshooting related issues. Still, it is not a tool that can easily monitor every single service, especially when working in a server environment in which system administrators prioritize service administration over the machine itself.

Source: http://bezha.od.ua


OpenNMS is an open source, enterprise-grade network monitoring and management platform. It is a distributed and scalable management application for all aspects of network management. It is designed to be highly customizable to create a unique and integrated management solution.

OpenNMS supports four main functional areas:

  • Event management and notification
  • Discovery and provisioning
  • Service monitoring
  • Data collection

OpenNMS is accessible via a web-based interface that is smart and well organized to create high-level reports from the databases and the collected performance data. It is well used for its monitoring using the SNMP protocol, alerts/notifications, reporting, escalations, and its well-organized and clear dashboard. Still, it is pretty difficult to learn how to use it and personalize it by making personalized scripts. Also, most of the advanced features are paid and other costs are included. It could take a lot of time to set up and configure to work perfectly, but the result is always more than satisfying.

Source: http://docs.opennms.org


Zabbix is a piece of open source enterprise-level software used for the real-time monitoring of networks and applications. It has been designed to monitor and track the status of various network services, servers, and other pieces of network hardware. It has the capacity to monitor the main protocols (HTTP, FTP, SSH, POP3, SMTP, SNMP, MySQL, and so on).

Source: http://image.slidesharecdn.com

Zabbix features a high-performance capacity for handling hundreds of thousands of devices. Also, it has the capacity of auto-discovery to identify machines within the same network. Zabbix comes with a web-based interface meant to show the monitoring dashboard. This interface is accessible via a secure user’s authentication, and it has distributed monitoring with a centralized web administration that can visualize and compare any value it monitors. This dashboard can be customized to the needs of its user.

Zabbix has the capability to monitor just about any event on your network, from network traffic to how many papers are left in your printer.

However, Zabbix is more complex to set up and configure compared to other monitoring tools and it requires a good documentation to install it with best practices.

Source: http://dist.alternativeto.net/


Zenoss, sometimes called Zenoss Core, is a free open source application, server, and network management platform based on the Zope application server. It provides system administrators with a web-based interface that offers the capacity to monitor availability, inventory/configuration, performance, and events.

Zenoss features the following aspects:

  • Monitoring a remote location worldwide through a nice-looking map, such as Google Maps
  • A beautiful web interface that is very user friendly
  • Automatic discovery of client system parameters
  • Work with simple and plain SNMP

Zenoss looks very advanced and fancy, but still it has a slightly slow web interface. It doesn’t support real-time notification. We should always wait for it to process the information to have a clear view on what is happening on the environment. It has a single dashboard, which makes monitoring a little difficult for many system administrators. Also, it is a limited open source solution; for more advanced features, we need to pay more. However, for those willing to pay and invest in it, we would say that it is a very good choice.

Source: http://socializedsoftware.com/


Nagios is an open source application for monitoring systems, networks, and infrastructure. It offers monitoring and alerting services for servers, network equipment, applications, and services on large computer infrastructures. It has two types of alerts, one for notifying the issue and the other for notifying whether the issue has been resolved.

Source: http://n2rrd-wiki.diglinks.com

Nagios monitors network services, host resources, and probes via network plugins and via remotely run scripts. It has a large community, which has allowed the development of some really powerful plugins. It is considered one of the easiest monitoring tools to set up and use via its web interface. Still, it has some downsides related to the quality of third-party plugins and some complex writing and configuring of self-created plugins. Finally, it triggers a lot of notifications and alerts, so we might need to configure it with the proper plugins to help monitor everything in the infrastructure.


Icinga is an open source system and network-monitoring tool. It was originally created as a fork of the Nagios monitoring system. It is well developed in terms of its web interface, to provide something more beautiful and more interactive than Nagios.

Icinga’s efficacy lies in its capacity to implement really powerful plugins. It implements many famous preferment graphical tools, such as PNP4Nagios, inGraph, and Graphite. Icinga’s most famous feature is its lightness, where it doesn’t overload the system when running and it generates an information graph in real time. For extremely big infrastructures, Icinga is designed to run on multithreads to run thousands of checks every second without any overload on the system’s resources.

Source: https://www.icinga.org/

Icinga has a pretty large community, and they help integrate patches very quickly. There are two official versions of Icinga: one for the Web 1 Icinga and one for the Web 2 Icinga2. But it is still on the way to being well developed.

Source: https://www.icinga.org/

Comments are closed.