Quality is the main principle any service should be based on. Software development gains more and more popularity among services nowadays, and the quality of the product is the main point which guarantees the project success. A team of developers can work on the project simultaneously, and quality control and monitoring become a big challenge. One is to provide a comprehensive and brief visualization of software development, server managements, and quality assurance progress. An extensible and scalable architecture of products determines long-term solid business models and raises customer value. It makes continuous monitoring a mandatory factor during the development process.
Continuous monitoring means that the specific software monitors work of the server in order to identify weaknesses, slow or failing components, and informs a system administrator about any issue. A great server monitoring provides a detailed information on the server health as well as performance benchmarking, alerting capabilities, detailed reporting, data visualization. Such statistic ensures smooth work of the server and flawless performance of the applications.
With the evolution of Agile and Lean methodologies as well as DevOps approach, lots of the software development and server management tools for continuous monitoring are available now. Let’s go through some of them.
Nagios is certainly one of the oldest and mature open-source tools for server monitoring. It provides a centralized view of your entire IT infrastructure and detailed up-to-date status information. It helps to monitor system metrics, network protocols, applications, services, servers, and network infrastructure. Trending and capacity planning graphs and reports allow to identify infrastructure upgrades before failures occur. Scheduled downtime prevents alerts during maintenance. Nagios is free and open source, so as many open-source products it has a great support and a big community. Nagios is well-documented so you can better organized your work.
- Nagios monitors all main protocols (HTTP, FTP, SSH, POP3, SMTP, SNMP, MySQL, etc);
- Alerts in e-mail and/or SMS;
- Multiple alert levels (ERROR, WARNING, OK);
- “Flapping” detection;
- Automatic topography display;
- Completely stand-alone, no other software needed;
- Web content monitoring.
Originally a fork of Nagios, now Icinga is a complete re-written extensible monitoring system that checks the availability of your infrastructure resources with notifications for outages.
Adding a GUI, additional database connectors, and REST API allows integration of extensions without complication modification of the application. Moreover, Icinga provides clear-cut, object-based configuration, clever commands & runtime macros, apply & assign attributes, dynamic notifications.
- Objects (checks, dependencies, etc) can be created using expressions with conditionals which reduces the need for boilerplate copy & paste configurations;
- Has good support for alert dependencies and reflects them in dashboard;
- Can run any monitoring plugin;
- Has native support for graphite.
This open-source system monitoring solutions enables users to poll services at regular intervals to create graphs on resulting data using RRDtool. It is designed to be easy while at the same time being powerful enough to be used in complex networks.
Cacti website describes the software as:
“A complete network graphing solution designed to harness the power of RRDTool‘s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy-to-use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices”.
Cacti gives great results of monitoring network usage. The software is really scalableб and it can monitor very large networks while tracking diverse parameters. Cacti community is large and active, and development is proceeding at a rapid pace.
- Unlimited graph items;
- Auto-padding support for graphs;
- Graph data manipulation;
- Flexible data sources;
- Data gathering on a non-standard timespan;
- Custom data-gathering scripts;
- Built-in SNMP support;
- Graph templates;
- Data source templates;
- Host templates;
- Tree, list, and preview views of graph data;
- User-based management and security.
The biggest fear of a server administrator is the failure of host. Specific tools must be used to control the status of a website automatically, notifying us if it fails in order to ensure the proper functioning of a website and to be able to act as soon as possible during in the failure.
The main purpose of Open Monitoring Distribution (OMD) is to take care of all the “dirty work” that requires applications such as Nagios, which must be compiled and implemented on the server manually. This tool handles all this process autonomously, saving time and reducing error tolerance. OMD also allows us to easily dispose of the most up-to-date versions of these monitoring and control tools, since the versions included in the repositories are usually obsolete or outdated. Nagios plugins in a single environment help to create a homogeneous solution for monitoring all the IT systems from operating systems and web server infrastructure to SAP systems and databases (Oracle, DB2, Microsoft SQL Server).
Build on Nagios and coming with such software as Icinga, Shinken, NagVis, Check_MK, Thruk, Mod-Gearman, etc, OMD provides extensive environments for consistent and continuous server monitoring.
- Multiple instances per host;
- Separate OMD user per instance;
- Script based tarball building;
- Simple creation of new sites;
- Supporting different OMD version at the same time;
- Platform independent paths;
- Speed optimizations.
The bottom line is that software market offers so many options today, so it’s hard to evaluate which network monitoring tool is the best for you. While it is important that your organization finds the product that best fits your needs – whether free or commercial – one thing to consider is that the upper management might be more comfortable with a product that has a strong featureset.