Project Proposal For Wollega University Network Monitoring Using Icinga Tool
Project Proposal For Wollega University Network Monitoring Using Icinga Tool
Project Proposal For Wollega University Network Monitoring Using Icinga Tool
By:-Abdi Sitota
January 2020
Contents
1 Introduction.....................................................................................................................................1
1.4 Objectives.....................................................................................................................................3
1.6 Scopes..........................................................................................................................................4
1.7 Methodology................................................................................................................................4
2 Network management.....................................................................................................................5
2.6.1 SNMP......................................................................................................................................11
3.1 Icinga..........................................................................................................................................12
5 Conclusion.....................................................................................................................................16
1 Introduction
As the computer networking became more popular, every aspect of life has been shifted to
network technologically inclined, which results to increased computing power, sharing of
resources and communication between users. The proliferation in the network technologies
poses challenges to the network administrator on how to manage and control the emerged
network. In computer networks, challenges may arise, which may disrupt the state of such
network. Typically, computer network management challenges grow as the computer network
expands. Thus, the need to manage the network arises upon the network growth.
However, network management systems have been utilized in the past in attempts to address
such network challenges. These early network management systems were typically operated by
monitoring and logging a large volume of information from the network devices. Such
information was interpreted and evaluated by an experienced network administrator. Despite the
skillful knowledge of the network administrator, it became burdensome to network administrator
to handle. This is particularly the case as the networking devices became more intelligent and
more effective technologies emerged, couple with the complexity in the present network.
There are numerous open source and off-the-shelf network management applications that can be
used to handle network management issues while the selection can be based on the network
requirement. In this work, an open source network management application named Icinga will be
employed. This network management application is used to examine and demonstrate network
monitoring of the network infrastructure and provision of alerts when modifications or problems
are detected.
1
The aim of this project is to explore the network management and to demonstrate how network-
related problems that arise from the network can be monitored and attended to, with the aid of
an open source monitoring application. This aim will be achieved by setting up Icinga an open
source monitoring tool and designing a prototype network that will be basis for demonstrating the
efficacy of the Icinga to monitor running hosts, available services, and associated server load
thresholds on the proposed network.
Network monitoring describes the use of a system that constantly monitors a computer network
for slow or failing systems and that notifies the network administrator in case of outages via email
or pager. A network monitoring systems monitors the network for problems due to overloaded or
crashed servers, network connections or other devices.
This network monitoring can help organization to monitors critical network service and
immediately detect system failure. This software performs several basic functions available at
similar with others software but adding with some function to enchantments for this software. This
software uses by server with large users such as company server, factory server and government
department server for their analysis the network automatically.
2
Some of the network monitoring software does not have sufficient storage to
store the previous network services information. The software cause the user
cannot view or analyze the past network services information from that
software.
1.4 Objectives
There are 4 main objectives to develop the network monitoring software as listed below:
To create network monitoring software automatically to scan the host as well as the
services by ping protocol.
Develop network monitoring software for network services such as Post Office Protocol
version 3(POP3), Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol
(SMTP), File Transfer Protocol (FTP) and Telnet.
To make a network monitoring software able to record and store the past report services.
Every new information services report would be kept in the log file.
To develop the user friendly network monitoring software. The services report, log file as a
storage and have simple function such as host status an easy to read and understanding.
3
1.5.3 Economic Feasibility
Cost benefit analysis:-the system which we are going to develop will have economic benefit. This means
that the concrete benefit that can be expressed in terms of birr. The system proposed to develop will save a
lot of money that was expensive to buy the Software and also reduce a time spent for troubleshooting. Also
reduces the loose of data, Internet connection & Security.
1.6 Scopes
The scope of this project is to build network monitoring software that automatically scans the host
and port to detect the services. The software can monitor PCs services such as POP3, HTTP,
SMTP, FTP and Telnet. Ping protocol is used to develop connections between server and client.
The software detects the host using ping technique. The software has simple interfaces and it
displays only the important information like status of services, status client online. As proposed of
this software, it is used to monitor status of services and to issue the services status with report.
This project focuses on Network system of Wollega University particularly networking
monitoring & administration information like:
Monitoring different host status
Searching the specific problems to access Network.
Monitoring status of network switches and routers
Monitoring and controlling of network and so on.
1.7 Methodology
The main data source for this project was the main campus network system. We used interview
method to gather information from user to obtain crucial information we needed for the project.
We have used different methods to collect data. Data collection is the most important part of the
project to find the main requirement of the system and to understand how the system does. Among
the methods, we used the following:
Observation: to analyze the organization work processes
Document analysis: to get information about background of the network topology or
structure of network device alignment.
Interviews: we used interview method to gather direct information from Network
administrators regarding how the troubleshooting was done when there is fault and how
they manage the network devices.
4
2 Network management
Network management has great advantage to control and manage over all network
communication. It is important that having network management system for health performance of
once network.
Network Management can be identified as any approach that includes monitoring the
performance of the network, detecting and recovering from faults, configuring the network
resources and providing security by controlling access to the information flows in the network.
However, network management covers a wide area, including security, performance, fault, and
configuration. These aspects will be detailed later in this work.
In general, network management functions include verification of the status of all network
devices such as routers, switches, hubs and computers. NM also entails recording and analyzing
error messages from all the aforementioned devices in order to monitor the health of all devices.
5
An agent is also a management entity that is responsible for executing the management
instructions sent from the manager and reporting to the manager any abnormal conditions
that may arise at the network element. it does not act directly on network elements. A
management protocol provides mechanism for interaction between the manager and the agents.
The standard management protocol used for this mechanism is simple network monitoring
protocol(SNMP) ,which resides at the application layer of the internet network hierarchy. And,
an MIB is a database for storing the management information. In other words, MIB stores the
information of network elements that are being managed.
Mgmt
entity
Network
Management
Protocol
Network
Agent Agent
Agent
Mgmt Mgmt
Mgmt
database database
database
Managed devices
6
2.3 Network Management Operation
Having identified and explained the components of the network management system above,
it is necessary to discuss the operation of network management. A network management
operation can be initiated either from both management entities (manager or agent). Such an
operation can only be completed with participation from both management entities. All the
management operations allowed for the SNMP can be group into three generic categories namely
the query operation, the set operation and the reporting event.
Query Operation: Here a manager queries an agent for information on the network
element such as status, states or statistics.
Set Operation: With this second category, the manager requests that an agent modify the
information in the agent’s MIB to achieve the effect of changing the attributes of the
network elements.
Reporting Events: This operation is initiated by the agent. The agent reports an abnormal
event to the manager that has occurred at the agent side. The three types of operations
associated with the network management protocols are shown in the following graph.
7
Management Station
Manager
MIB
set operation
reporting events
query operation
8
2.4.2 Configuration Management
Configuration management is a very complicated area of network management. It is responsible
for the monitoring and controlling the configuration information of the network. Configuration
management covers five areas such as network planning and engineering, installation, service
planning and negotiation, provisioning, and status and control. Configuration management
informs the manager where everything resides in the network.
All of these functional divisions are what make up the monitoring and controlling parts of the
network management. When considering network monitoring, fault management and
performance management are very important. However, the controlling part of the network uses
configuration management and security management.
9
2.5 Network Monitoring Technique
Having discussed NMS in the preceding sections, it is pertinent to streamline the focus of this
proposal is network monitoring, which is a subset of functions involved in the network
management. Network monitoring entails a system that constantly observes and analyzes the
status and behavior of network which comprises network devices such as switches, hubs,
routers, printers, computers and their associated services. This system notifies the network
administrator either via e-mails, pagers, or SMS. The method for notification is solely based
on the user-defined method.
To that end, a number of software applications and tools are available for performing network
monitoring. At the most basic level, network monitoring is done by sending a ping, which is a
monitoring tool that requires instantaneous reply from each computer or network device on the
network. If such a network device fails to respond or takes too long to respond, the
network monitoring system notifies the network administrator of the problem.
However, network monitoring software handles the monitoring of the network by continuously
taking regular virtual snapshots of the network’s workflow. Also track records of irregularities
discovered in the workflow are kept. In the event whereby such irregularities are so deviated
from the recorded snapshots, the network administrator will be notified.
10
2.6 Network Management Protocol
Network management protocols are used by the NMS to access managed devices. In this
proposal, one commonly used network management protocol is discussed, namely: Simple
Network Management Protocol (SNMP).
2.6.1 SNMP
SNMP (Simple Network Management Protocol) is a widely used internet-standard protocol in the
network management arena. SNMP is a simple set of operations (and the information these
operations gather) that give the administrators the ability to change the state of some SNMP-
based device. Usually, SNMP is associated with managing routers, but it is pertinent to identify
the fact that there are other devices that can be managed as well.
The SNMP can be employed in many ways such as to monitor the health of the
routers, switches and other network hardware, but can also be used to control network devices,
or take other automatic actions if problems arise. SNMP can monitor information ranging
from the relatively simple to standardized items like the amount of traffic flowing into and
out of an interface, or state of the air temperature inside a router.
11
3 Open source network monitoring tool (NMT)
This project has identified Icinga as a network monitoring tool that will be explored in carrying
out network monitoring activities. A selected number of NMTs will be identified and described.
3.1 Icinga
Icinga is one of the most popular computer networks monitoring software application. It is an
open source, Unix-based enterprise monitoring package with a web-based front-end or console.
It provides monitoring of network services (SMTP, POP3, HTTP, FTP, SNMP, SSH) and host
resources (processor load, disk usage, system logs) and essentially any device or service that have
address and can be contacted via TCP/IP. It can monitor host running Microsoft Windows,
Unix/Linux, Ubuntu and other operating system.
With Icinga, own service check can be created depending on needs by developing simple plug-
ins by using tools of choice (shell scripts, C++, Perl, Ruby, Python, PHP, C#, etc.). In the event
of service or host problems, Icinga has contact notification in its configuration to handle and
resolve such events either via email, pager, or user-defined method.
Icinga was chosen as the network monitoring tool. The reasons for this fact are not far-fetched,
owing to some of its features over its counterparts. Icinga has been around for much longer than
other and has extensions (plug-ins) that are simple to develop, using well known languages.
Also, it has built professional communities that have contributed to development of plug-ins
which enhance its better monitoring performances. With plug-ins, the monitoring capability of
Icinga is limitless, so far a script can be written for (Perl scripts, Shell, C programs etc.) because
it performs all its monitoring checks using plug-ins.
Similarly, considering the aspect of scanning the monitored devices, Icinga uses four states to
describe status: OK, WARNING, CRITICAL, UNKNOWN rather than monitoring value or
graphs that may be ignored when it needed a quick attention. Also, Icinga gives report of number
of services that are up and running in both warning state and critical state with aid of its
friendly GUI for service status display.
12
Icinga can do much more than this, but nevertheless here’s a list of common things that
Icinga is used for.
Check to see if a server is up and running
Notify you if a server is down (by email/pager/SMS)
Check to see if a service is running (mail, http, pop, ssh)
Check to see if a process (or Windows service) is running
Gather performance statistics on a server
Allow specific alerts to only go to particular groups/individuals
Get reports of downtime on your servers
Icinga is an excellent choice if you want to perform any sort of monitoring. Icinga main
strengths are:
Open Source
Robust and Reliable
Highly Configurable
Easily Extensible
Active Development
Active Community
Icinga runs on many Operating System
Icinga can be used to monitor all sorts of things, here are some common things are typically
monitored:
Ping to see if host is reachable
Services such as DHCP, DNS, FTP, SSH, Telnet, HTTP, NTP, POP3, IMAP,
SMTP etc.
Database servers such as MySQL, Postgres, Oracle, SQL Server etc.
Application level information (Apache, Postfix, LDAP, Citrix etc.
In order to get clearer picture of how Icinga works, it is necessary to look into its architecture. Its
architecture is based or built on a server/client model. This architecture can be seen in the graph
below. This depicts a Icinga server running on a host, and plug-ins running on the server and
all other remote hosts to be monitored. This plug-ins sends information to the server, which in
turn displays them on GUI.
13
Icinga
To set up a functional Icinga server, there are basic requirements that must be met before the
set up can be achieved. Having known from the preceding chapter that Icinga runs on a variety of
operating system and installed on a virtual machine. Virtual machine was considered because
it provides easy way to test software, especially if an alternate operating system is involved.
14
After installing and updating the operating system, the following packages are manually
installed before continuing:
Apache 2, a web server that Icinga uses to display information on web page.
By using command prompt, and typing “sudo apt-get apache2”, Apache 2 is
installed. And to verify the installation and start Apache2
“sudo /etc/init.d/apache2 start” command is used and if everything is fine,
OK response is given.
PHP, a programming language for creating dynamic webpages that can be served
on web servers. Command “sudo apt-get install libapache2-mod- php5” is issued to
install PHP.
GCC Compiler and development libraries which are needed to compile some
plug-ins and Perl Modules
GD development libraries, required to produce graphs and status map.
Command “sudo apt-get install libgd2-xpm-dev” is issued to install gd2.
15
5 Conclusion
Network monitoring is widely employed for the purpose of observing and analyzing the status
and behaviors of the network and providing notifications to a network administrator through a
messaging system, usually, emails, when a device fails. This thesis’ goals are to explore the
network management of a simple network and demonstrate how issues that arise from the
network can be monitored and attended to, with the aid of an open source monitoring
application, Icinga.
In conclusion, in order to maintain and periodically verify the health status of network devices
and associated services, it is important to implementing a network management system.
However, it is therefore clear that if organizations could implement a management system that
meets the mentioned benefits requirements, hence, the outcome will essentially improve the
network uptime and reduce the cost and save time of running the faults troubleshooting.
16
17