Chapter 1. Cacti Overview
Computerization has boosted human intellectual capacity to such a level that a new era of communication has begun. There is hardly any human activity that has not been affected by a computer in one way or another; be it production, agriculture, health, education, military, travel, crime detection, and so on. Naturally, computerization is so deep that we humans can't think of living a single day without it.
In the field of Information Technology, computer communication means networking between computers that can be classified as LAN (Local Area Network), WAN (Wide Area Network), ISDN (Integrated Services Digital Network), and so on. A network is a series of points or nodes interconnected by communication paths. Networks can interconnect with other networks and contain sub-networks. This interconnectivity is done by devices such as routers, switches, hubs, network interface cards (NIC), and so on. In the present infrastructure, devices are very complex, and hard to maintain and monitor, so it is not possible to monitor devices and servers manually at production level.
One of the fundamental jobs of a network administrator is network monitoring. Network monitoring is the process of checking computers, systems, and services that comprise a network. This examination allows a network administrator to maintain a robust network and even improve the network.
You'll never know when a power supply is going to burn out, when a server is going to crash, when network bandwidth drops, when a router just stops working, when your LAN is hacked, and so on. You will never know when these things will happen, but you can be prepared for situations like these. Effective network monitoring will help to cope with such situations and minimize down-time. It will also help to collect periodic information about the network, which will help you to generate log files and performance charts of system capabilities and responses. With such data, you will be able to optimize your network infrastructure and performance.
To do this job effectively, ISO (International Organization for Standardization) designed a model called FCAPS to aid in the understanding of the major functions of a network management system:
Fault management
Configuration management
Accounting management
Performance management
Security management
By implementing network monitoring software, system administrators can gather sufficient amounts of data and reports periodically, which will help them to perform management processes fairly and more easily. There are several commercial and open source network monitoring software that are robust and one-stop guiding tools. Cacti is one such tool, robust and one of the best!
Cacti is an open source, network monitoring and graphing tool written in PHP/MySQL. It uses the RRDTool (Round-robin database tool) engine to store data and generate graphics, and collects periodical data through Net-SNMP (an application suite to implement SNMP—Simple Network Management Protocol).
Ian Berry had started developing Cacti back in June 2001, while he was working with a local Internet service provider in the U.S. He found that RRDTool is flexible enough to generate complex graphing and reports about network infrastructures, but it was lacking a friendly interface. So, he started developing the interface with PHP/MySQL and had the first public release (version 0.6) on November 21, 2001. Soon, the application gained its popularity in the open source community.
In 2004, Ian brought a second developer into the team, which has expanded to six developers today. Here they are (in the order of joining the project):
Ian Berry
Larry Adams
Tony Roman
J.P. Pasnak
Jimmy Conner
Reinhard Scheck