Complete Non Report Plain Repaired
-
date post
03-Dec-2015 -
Category
Documents
-
view
225 -
download
3
Transcript of Complete Non Report Plain Repaired
ii
UNIVERSITI TEKNOLOGI MALAYSIA
DECLARATION OF THESIS / POSTGRADUATE PROJECT PAPER AND COPYRIGHT
Author’s full name : Abdirashid Hassan Abdi
Date of birth : 25th September 1987
Title : CLIENT SERVER APPLICATION FOR
SERVER FARM PERFORMANCE
MONITORING
Academic Session : 2011/2012(2)
I declare that this thesis is classified as:
I acknowledged that Universiti Teknologi Malaysia reserves the right as
follows:
1. 1. The thesis is the property of Universiti Teknologi Malaysia.
2. 2. The Library of Universiti Teknologi Malaysia has the right to
make copies for the purpose of research only.
3. 3. The Library has the right to make copies of the thesis for
academic exchange.
Certified by:
SIGNATURE SIGNATURE OF SUPERVISOR
P00076735 DR ISMAIL FAUZI ISNIN
(NEW IC NO. /PASSPORT NO) NAME OF SUPERVISOR
Date : 21 JUNE 2012 Date : 21 JUNE 2012
NOTES : * If the thesis is CONFIDENTAL or RESTRICTED, please attach with the
letter from the organization with period and reasons for
confidentiality or restriction.
CONFIDENTIAL (Contains confidential information under the
Official Secret Act 1972)*
RESTRICTED (Contains restricted information as specified
by the organization where research was
done)*
OPEN ACCESS I agree that my thesis to be published as
online open access (full text)
ii
“I hereby declare that I have read this project and in my
opinion this project is sufficient in terms of scope and quality for the
award of the degree of master of computer science (information security)”
Signature : ...................................................
Name of Supervisor : DR ISMAIL FAUZI ISNIN
Date : JUNE 10, 2012
ii
CLIENT SERVER APPLICATION FOR SERVER FARM PERFORMANCE
MONITORING
ABDIRASHID HASSAN ABDI
A project submitted in partial fulfillment of the
requirements for the award of the degree of
Master of Computer Science (Information Security)
Faculty of Computer Science and Information Systems
Universiti Teknologi Malaysia
JUNE 2012
ii
I declare that this project entitled “Client Server Application For Server Farm
Performance Monitoring” is the result of my own research except as cited in the
references. The project report has not been accepted for any degree and is not
concurrently submitted in candidature of any other degree.
Signature : ....................................................
Name : Abdirashid Hassan Abdi
Date : JUNE 21, 2012
iii
“Dedicated to my beloved family and friends, without their understanding,
supports, and most of all love, the completion of this work would not have been
possible.”
iv
ACKNOWLEDGEMENT
First and foremost, I would like to thank Allah because of His blessings; I
would be able to successfully complete this dissertation. My word of appreciation
goes to Dr Ismail Fauzi Isnin for his priceless supervision, inspiring discussion and
fruitful collaboration. I am thankful for all his invaluable hours to provide
constructive critics, enthusiasm, immerse knowledge and continuous feedback.
Without his continued support and patience, this dissertation would not have been the
same as presented here.
My thanks also extend to my friends, for their enlightening companionship
and encouragement of trudging through all the moments from down to up the hill in
the run to complete this Master program. I would not have done it without the help
and motivation from all of you.
To my family, no words can describe my gratefulness for always being there
despite of the distance. They showered me with love and compassion and enrich my
life like no other. They are the source of comfort and kept me focus the priorities in
life and therefore, this work is dedicated to them.
v
ABSTRACT
Workstation/PC server farms have become a cost-effective solution for high
performance computing. Server farm or server cluster is a collection of computer
servers usually maintained by an enterprise to accomplish server needs far beyond
the capability of one machine. Server farms often have backup servers, which can
take over the function of primary servers in the event of a primary server failure. It is
critical and important to monitor, control, and manage servers and various resources.
To address this issue, it needs present a performance monitoring tool used for such
cluster-based on client server systems, which can monitor resources such as CPU
utilization, memory usage, disk utilization and network bandwidth from time to time.
The design of the monitoring tool enables certain flexibility and extensibility to scale
up. Information of server resource and performance will be displayed in the format
of charts, and will be refreshed within specified interval. Experiments based on a
prototype system demonstrate that the tool can measure and collect necessary data as
needed and then visualize them by certain charts, exhibiting feasibility and good
usability.
vi
ABSTRAK
Stesen kerja atau ladang pelayan telah menjadi penyelesaian yang kos efektif
untuk pengkomputeran yang berprestasi tinggi. Ladang pelayan atau pelayan
berkelompok adalah gabungan pelayan komputer yang biasanya dikendalikan oleh
syarikat untuk mencapai keperluan pelayan jauh di luar kemampuan sebsah mesin.
Ladang pelayan sering mempunyai salinan pelayan dimana ia boleh mengambil alih
fungsi pelayan utama apabila pelayan utama mengalami kerosakan. Ia adalah kritikal
dan penting untuk memantau, mengawal dan menguruskan pelayan dan sumber-
sumber yang lain. Untuk menangani masalah ini, ia memerlukan system aplikasi
pemantauan prestasi yang digunakan kepada sekelompok pelayan, yang boleh
memantau pelbagai sumber seperti penggunaan CPU, penggunaan cakera dan
rangkaian lebar dari semasa ke semasa. Rekabentuk sistem aplikasi pemantauan
prestasi ini membolehkan flesibiliti dan kebolehpanjangan skala meningkat.
Maklumat akan dipapar dalam format carta dan akan disegarkan dalam selang masa
tertentu. Eksperimen berdasarkan kepada sistem prototaip yang menggambarkan
system aplikasi ini boleh menilai dan mengumpul data yang berkaitan dan
digambarkan ke dalam bentuk carta dan menunjukkan kebolehgunaan yang baik.
vii
TABLE OF CONTENTS
CHAPTER TITLE PAGE
DECLARATION ii
DEDICATION iii
ACKNOWLEDGMENT iv
ABSTRACT v
ABSTRAK vi
TABLE OF CONTENTS vii
LIST OF TABLES xi
LIST OF FIGURES xiii
LIST OF APPENDICES xv
1 RESEARCH OVERVIEW
1.1 Introduction 1
1.2 Problem Background 3
1.3 Problem Statement 5
1.4 Project Aim 5
1.5 Objectives of the project 5
1.6 Scope of the project 6
1.7 Organization of report 6
2 LITERATURE REVIEW
2.1 Introduction 8
2.2 Background Study of the Research 10
ix
2.3 General issues on a server farm 11
2.3.1 Multiple cable system in one physical 13
2.3.2 Inspection of Traffic Don’t Change the Requirements 16
2.3.3 High availability Becomes Even More Critical 17
2.3.4 Planning Capacity is hard 19
2.3.5 Virtual Machines Mobility makes difficult Security 22
2.3.6 Security Virtualizing goes with Servers Virtualizing 23
2.4 Basic Concepts of Performance Measurement 25
2.4.1 Performance parameters 27
2.4.1.1 CPU utilization 27
2.4.1.2 Memory Utilization 27
2.4.1.3 Disk usage 28
2.4.1.4 Network bandwidth 29
2.5 System Monitoring 31
2.5.1 Monit Tool 31
2.5.2 Nagios Tool 33
2.5.3 Ganglia Tool 34
2.5.4 Card Tool 36
2.5.5 Parmon Tool 36
2.7 Chapter Summary 41
3 RESEARCH METHODOLOTY
3.1 Introduction 42
3.2 Operational Framework 42
3.2.1 Analysis tools of monitoring servers 46
3.2.2 Data Analysis Methods 46
3.2.3 Project Schedule 46
3.2.4 Prototype methodology 46
3.3 Use case of the proposed tool 48
3.4 Software And Hardware Requirements 53
3.4.1 Software Requirements 53
3.4.2 Hardware Requirements 54
3.5 Summary 55
x
4 DESIGN PHASE
4.1 Introduction 56
4.2 Architecture of proposed system 57
4.3 Proposed Tool flowchart. 59
4.4.1 Server side flowchart 59
4.4.2 Client side flowchart 60
4.4 Monitoring Nodes 61
4.5 Techniques and Algorithms of the Proposed Tool 62
4.5.1 Client side algorithm 62
4.5.2 Server algorithm 64
4.5.3 Registered User and Organization algorithm 65
4.6 Retrieving Data 67
4.7 Design of proposed system 68
4.8 Chapter Summary 69
5 IMPLEMENTATION AND RESULTS
5.1 Introduction 70
5.2 Testbed for the Proposed Tool 71
5.2.1 Test Case 1 72
5.3 Server farm monitoring tools and proposed tool comparison 83
5.8 Chapter Summary 84
6 Conclusion and Recommendation
6.1 Introduction 85
6.2 Concluding Remarks 85
6.3 Contributions 87
6.4 Future works and recommendation 88
6.8 Chapters Summary 89
REFFERENCE 90
APPENDIX A 95
xi
LIST OF TABLES
TABLE NO TITLE PAGE
2.1 Causes of high performance consumption for server farm 30
2.1 Comparing core functions in different monitoring tools 39
2.2 Comparing mechanisms in different monitoring tools 40
3.1 Details of operational framework 44
3.2 Use Case Description for client module 50
3.3 Use Case Description for server module 52
3.4 Software requirements 53
5.1 Comparison core functions of existing tools and proposed tool. 83
xii
LIST OF FIGURES
FIGURE NO TITLE PA
GE
2.1 Literature review map 9
2.2 Overview of monit 32
2.3 An overview of Nagios 33
2.4 Ganglia architecture 35
2.5 PARMON architecture 38
3.1 Project Operational Framework 43
3.2 System prototyping 47
3.3 Evolutionary Prototyping 48
3.4 Use Case Diagrams for client side 49
3.5 Use Case Diagrams for server side 51
4.1 The architecture of the proposed tool 57
4.2 Flowchart of server side on proposed system 59
4.3 Flowchart of client side on proposed system 60
4.4 Pseudo code of the client 63
4.5 Pseudo code of the server 64
4.6 Registered User and Organization Algorithm 66
4.7 Code to get available Memory and CPU usage 67
4.8 Design of server side of proposed tool 68
5.1 Configuration of testbed 71
5.2 Main interface of the central monitoring 73
5.3 Adding New Client 74
5.4 Client list form 74
xiii
5.5 Choose client form 75
5.6 Choosing performance type 76
5.7 Performance monitoring 77
5.8 Removing Counter 78
5,9 Change color 79
5.10 System information 80
5.11 CPU information 80
5.12 Memory information 81
5.13 Disk information 82
5.14 Network Bandwidth 82
xv
CHAPTER 1
PROJECT OVERVIEW
1.1 Introduction
Now days every business linked to the Internet and also managing and
organizing e-business within each application, these applications are often prepared
within server farm. Server farm is a collection of servers or clusters in a secure; who
an internet seats vital needs on servers, to perform a solid reliable well-organized
service to clients. Servers must be flexible to failures, also able to hold significant
numbers of requests, and able to answer those needs fast. A server farm also known
as group of computers that helps the needs of organization that are not easily met by
single computer. These computers are placed in single house or housed different in
locations(Heo et al., 2011).
In 1980s can improve the performance of the computer by creating more
capable processors and quicker believed by several computer scientists. But in 1990s,
the concept of clustering was challenging this idea (Buyya, 2000), which
fundamentally means interconnecting two or more computers to achieve shared
functions as a single system. Actually the computers are extremely connected to each
other and collectively support the server needs and handle additional load that is
placed on the server. This additional load is distributed among the different farm
computers and different server components. So, it provides computing power for
advanced needs
2
However most of server farms contain a primary and back-up system so that
if the main server goes down then the back-up system will prevent shutting down
your companies services (Hai Huang, 2009).
Early time server farms were used mostly in academic and research services
but has changed. But know universities and all companies are using server farms.
Though a mainframe can house up more than hundreds of virtual machines and eat
less energy. They are also easy to manage and maintain when it use server farms an
experts needs to fix physical problems while the mainframes is mostly likely a
software issues. However a large server farm wants a lot of cooling systems and
extremely large amount of power. For this reason, server farm is measured by
performance per watt rather than performance per processor.
A server farm present several advantages such as the following:
i. Delivery data is very fast and reliable
ii. The capacity is high
iii. Flexibility and scalability
iv. Cost effective physical placement and simplified
v. Secure remote management
vi. No single point of failure Redundancy
The goal is to give up server farm infrastructure (hardware, software, or both)
to the expectations of many computers and a single system Thus, back users can use
without knowing the computer that really works. Monitor a daunting task and
difficult since the workstations are designed to work as a typical stand-alone and not
part of a workstation. Can be facilitated by software systems that hold up the
watching of the whole systems at various levels by providing a graphical user
interface and integrated interface.
3
1.2 Problem Background
Building a server farm is not easy there are a lot of challenges. One of the
most important issues is to make sure that the building is equipped with enough
power to handle the load of all the new devices that are planned to be installed.
Not only does the power need to be present, but it need also to be tested to
make sure that there are not frequent surges or sags which would cause the hardware
to shut-down and restart. The result of this is loss of data and possibly ruined
equipment. The data center is the core of every business that holds the assets and
applications that are often subjected to electronic attacks. The result of attackers
against a server farm will become losses of business for e-commerce that includes
business to business applications. Data centers are the end point where malicious
attacks take place. To protect the data center from Electronic attack is crucial for any
business.
However electronic attack can influence an increasing number of data server
centers and computers yearly, the issues of security in the server farms source of
general concern for large and small businesses. Protecting assets and data effectively,
the data centers will be free from malicious cyber attacks.
The basic types of security issues of the server farm is a denial of service
(DoS), reconnaissance, intrusion attacks, and malicious code copies and worms.
DOS Denial of service can influence all the data centers that will avoid the allowed
users for finishing easy business.
An attacker such intrusion can steal sensitive information. While the misuse
or abuse poll pirates steal and copy fingerprint server, this technique can be used
once. A self-duplicating program which can externally damage called worms, May
be left a denial of service and compromised servers for the risk of hackers with the
form of the back door. Hackers can use the code for those who request copies decode
4
Passwords, select the files that hold secret information. Hackers who use code
copying can issue commands, decipher passwords and locate files that contain
confidential information.
The manageability also becomes principal important, while today in data
centers usually consist of hundreds or even thousands of nodes. The high-
performance systems differed significantly from today's heterogeneous machines
from the earlier period and now countenance the similar set of issues, and those large
spread systems. One of the main issues countenanced by high-performance systems
and distributed non-observation of the system state.
Due to a great enough of the contract and the linked computational,
applications placed I/O and network demands, failures in great scale systems turn
into commonplace. Treating hub wear and to maintain or keep up the health of the
system, the monitoring tool should be talented to fast identify errors so that it can be
repaired either through out-of-band means (e.g. restart) or automatically. In large
systems, the communication between a countless of computing nodes, it can be
complex links, storage devices network and switches.
Data center needs monitoring tool that arrests a part of these connections and
presented in ways that are interesting and often lead to a better understanding of the
behavior of the macroscopic.
A high quality tool of monitoring can help here as well as long as a worldwide view
of the system, which can be obliging in recognizing problems of performance and,
eventually, supplementary planning capacity.
The priority for administrators is to provide IT resources and services when
and where they’re needed. The question is, how?
5
1.3 Problem Statement
Although server farm is a collection of servers or clusters, every server need
to be managed individually and secured. The question is how to monitor large
number of machines, it is critical and important to monitor and control servers and
various resources. Of course there are several Monitoring Tools such as Ganglia,
PARMON, Monit, Nagios and Card but they are all huge, which would consume a
lot of system resource when running and their architecture is complex.
1.4 Project Aim
The aim of this project is to develop a prototype client server base of resource
and performance monitoring tool for server farm. It can monitor and obtain
information and the status of the underlying resources of each server in the server
farm, such as CPU, Memory, disk utilization and network, and also visualize all
those information through graphical user interface (GUI).
1.5 Objectives of the Project:
1. To analyze available tools of resource and performance monitoring for Server
Farm.
2. To design and develop prototype of resource and performance monitoring for
Server Farm.
3. To test prototype of resource and performance monitoring for Server Farm.
6
1.6 Scope of the Project
1. The analysis will be conducted mainly with tools about resource and
performance monitoring for sever farm.
2. The prototype will focus on monitoring resources and performance of the
servers such as such as CPU utilization, memory usage, disk utilization and
network bandwidth from time to time on demand.
3. The prototype will be using as front end C# .
1.7 Organization of Report
This project consists of five chapters. These chapters are organized according
to different works that involved in this study. The detailed organization of this
project is described in following paragraphs. This section presents how this report is
organize in different chapters.
Chapter 1 of this project consists of overview of the project, problem
background, problem statement, objectives, scope and Aim of this project.
Chapter 2 of this report presents a review of the literature related to the area
of management of server farm. It discusses monitoring tools in details that includes
Ganglia, PARMON, Monit, Nagios and Card.
Chapter 3 consists of wide description on project methodology, which
provides a full discussion about the flow of this project. This includes how the
operational and experimental work has been carried out for the study.
Chapter 4 discussed architecture and designs of proposed prototype in detail.
Designs include both the design of client-server system and the design of
7
performance monitoring tool which has four critical functions such as CPU
utilization, memory usage, disk usage and network bandwidth.
Chapter 5 is the conclusion of overall chapters and future works in the
related area of monitoring and controlling server farm performance will be discussed.
This includes recommendations for further study.
8
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
This chapter of literature review will help the researcher to provide a high
level of knowledge in the research area. The job of literature review is to probe
into areas that are of interest to the research study.
The researcher will be able to organize and present the research study. For
example, the literature review provides the reader real understanding of the
subject knowledge and better evaluation of the research study flow. The
following figure 2.1 shows diagram of the literature review.
8
Figure 2.1 Map of Literature Review
Nagios
Monitoring resource
and performance
tools
Server farm
PARMON
Card
Monit
Ganglia
Literature Review (Chapter 2)
Resource and
Performance
Monitoring
metric
CPU Usage
Memory
Usage
Disk
Utilization
Network
bandwidth
Virtual Machines Mobility
makes difficult Security
General issues on
server farm
Security Virtualizing leaves
Server Virtualizing
Multiple System
one physical wire
Traffic Inspection
Requirements Don’t change
High Availability Becomes Even More Critical
Planning Capacity is hard
10
2.2 Background Study of the Research
The Internet seats vital needs on severs, to perform a solid reliable well-organized
service to clients. Servers must be flexible to failures, also able to hold significant
numbers of requests, and able to answer those needs fast. A server farm also known
as association of computers that helps the needs of society that are not easily met by
individual computer. These computers are placed in individual firm or housed
different locations (Jayasinghe et al., 2011).
Building a server farm is not easy there are a lot of challenges. One of the most
critical issues is to make sure that the building is equipped with enough power to
handle the responsibility of all the new devices that are planned to be installed
(Gandhi et al., 2009).
Not only does the power need to be present, but it needs also to be tested to
make sure that there are not many surges or sags which would cause the hardware to
shut-down and restart. The result of this is loss of data and possibly ruined things. All
the wires of power even the ground wire should be tested to see if it goes all the way
back to the main circuit breaker. When it doing all standard testing it is the time to
consider another problem which would be keep the equipment resources(Niyato et
al., 2009).
Another issue in implementing a server farm would be to evaluate the
company’s expectations or needs for the future and present. Mostly focusing on how
much storage space is needed to support daily functions. The data center is the
purpose of every organization that holds the assets and applications that are often
subjected to electronic attacks.
11
The result of attackers against a sever farm will become losses of critical
information for e-commerce that includes application of business to another business.
Data centers are end points where malicious attacks take place. To keep these attacks
are perfect for every business (Gandhi et al., 2010b).
2.3 General issues on a server farm
There are plenty of challengers when building a server farm for the first time. To
make sure is one of the mainly issues that the property is equipped with enough
power to handle the pressure of all of the new devices that are planned to be installed
(Heo et al., 2011).
Not only does the nation need to be present, but it needs to develop test and
ensure that there are not many surges or sags which would cause the hardware to shut
down and restart. This would result in lost data and possibly ruined equipment. The
ground wire should also be tested so as understand weather it all the way back to the
main circuit breaker.
After doing all the large testing it’s time to worry yet another problem which
would be to keep the equipment resources from the unavoidable fluctuations in
power. Even though the input power was tested for major stake and sags it will not
count for small fluctuations that will in fact destroy a system(Gandhi et al., 2010a).
Many people think that surge protectors are the way to go in which that that the
truth never be further. If a surge protector receives are generally stake and pops to
save the production hardware it does not always disconnect the power entirely,
leaving it vulnerable to another point.
12
A good idea would be to invest in an Uninterruptible Power Supply. This will ensure
proper protection from surges and also provide a battery backup so that the system
will stay connected in case of a power outage.
Some Uninterrupted Power Supplies are set to automatically shut down so when the
batteries do run out of power there would be no unsaved data loss while others are
set to notify a trough to shutdown manually. If the server system is expected to
remain twenty four hours online a day and seven days a week then it may be wise to
invest in a generator large enough to warrant the entire room. Another problem in
implementing a server farm would be to evaluate the company’s expectations or
needs for the future and the present (Zhang et al., 2010).
Mainly focusing on how much storage space is needed to support daily functions.
This need is directly related to how big a server room needs to be. The equipment
needed can get quite complicated so ample space is required. On top of a big enough
space to keep the stuff there needs to be sufficient ventilation.
All the electronic devices in the server room dissipate heat and that heat needs to be
redirected out of the room. So a room in the middle of a building may not be the best
choice to make. It would be a lot easier to add more authority if needed and to
establish ducting to freshen a area that is on one of the sides (Li et al., 2009).
Today’s data centers the strongest attribute is virtualization of servers. Come
down to frames of servers into cheaper, smaller and more powerful the main
direction for every organization is virtual machine farms, saving hardware device,
power consumption, and air-conditioning capacity (Chunhong et al., 2008).
13
2.3.1 Many cable systems in one physical
Most important difference between physical and virtual environment is the
failure of one network cable to join the physical server model of use and system
security manager. Although security policies are not necessary that every server has
its individual connection to the network business, the reality is that most projects can
benefit from the safety of the physical separation among the servers.
After that, very much difference between the actual servers simplify the
design, makes it easy to separate safety. There are many applications on multiple
servers with dissimilar security configurations will all appear on the same server, and
"wire" to exit from this server no longer gives us the physical separation(Saboori et
al., 2010).
The great thing in this case is that it is easy to solve. The Company may use
different types of tools used by VLAN, to provide the same level of security chapter,
which has always been. In other words, the firewall institutions familiar with CAN
(usually!) can be upgraded to handle the virtual server is very simple. Business is not
no need to change the way creating a basic security policy, for its own firewall
technology, which serves as a safety barrier for the year should continue to serve
them in a virtual environment on the wall vendor performance and ability to handle
this load. (This is another issue, but separately.), Have heard of the decision makers
that are already on the cart or go to the default virtual conference safely on a
proposal to transfer the security barrier in the virtual machine itself.
In other words, suggested the use of software-based security services to
virtual replacement of physical security. Virtual security tools can interact with the
system's infrastructure and a realistic model to confirm one-system/one-
application/one-wire least about.
14
The idea that the installation of safety equipment, often to the virtual server, it
is determined that more than logic separation and control (Jin et al., 2007). It's an
interesting idea, and sure as if moving in the right direction. Unfortunately, the
majority of companies to avoid this way the plan to default immediately, four
reasons (Snyder, 2008):
1) And the near certainty of limited value. Met the software firewall can run
in a virtual machine, and some providers do not do more to increase the
effectiveness of a virtual environment. But the only standard product
upgrade security in a virtual environment without hooks and clear in the
hypervisor does not help to define the default project and limit the choice
of a. Virtual security services are very useful, there must be a real
integration in a virtual environment that leads to the following
reasons(Snyder, 2008).
2) Useful machine cannot be buying yet. Important features for the
security of a VPN, including knowledge of the status of each virtual
machine, especially devices that migration between servers and full
control of "virtual switches" in each virtual server . Without this hook a
hypervisor, security services can not do its job properly virtual. in the
major virtual environment, that Ware and VMsafe (to date) has an
application programming interface to enable the firewall fire properly
integrated with the hypervisor, although the Citrix and Microsoft will
most likely be the same frame soon. However, security vendors and
impose any tool that integrates seamlessly with VMsafe. This will change
quickly, but even if they are fully integrated security service did not start
in the virtual ship, and system administrators and security providers have
enough experience with them. not for the security situation in depth
infrastructure software virtual based on the new brand with an application
programming interface new, and we hope that we all work
properly(Snyder, 2008).
15
3) Performance is unpredictable and expensive. When collocating
security services with virtual machine and other overhead costs of setting
standards and compete with the server applications to migrate to a virtual
environment. Expensive virtual server computer for general use, and if
the organization suddenly sending their virtual security team, they use
very expensive tools and resources to do something better in the hardware
on the device, have done. Security software makers have survived on their
own devices for several years, products that improve the environment -
not the traditional time-sharing one. For example, experiments that make
the standard of writing and one of the most popular security services, the
intensive use and the use of resources such as memory and hard disk that
is not balanced, giving them poor candidates for virtualization (Snyder,
2008).
If the hardware vendor uses its own security, and these shortcomings do not
matter. Sharing of security services used, resources can be devoted to other
virtual machines to be locked. More importantly, the company has now added
a terrain map of confusion in the virtual server: a new device with features
that are not known (for the company or the seller) at the time of default,
which may change at any shot in upcoming IPS signature or loaded V /
group.
4) Existing security model enterprise that way doesn’t work. The idea of
virtual security program attached in the hypervisor is interesting because
it allows for tighter control and security that is not grainy for all virtual
machines. What is interesting, but do not run this way data centers. And is
generally confined to the firewall for each system and other institutions
and reduce threats to the smaller number of larger servers from any
application environment. Most application servers are protected in small
groups or even by the actual location (such as data center cabinet / rack).
The default does not require a change in the security model at the firm
level. In reality. Unless there are changes in society are less vulnerable to
security problems if the company has spent the last 10 years building
16
security using firewalls and IPS and other devices to reduce the threat,
they should move to the default strategy will not change suddenly the
security chain(Snyder, 2008).
However what is the alternative to deal with the various systems on the wired
one? Using traditional firewall? I worked the answer is yes, in the past, and it will
work well in the virtual world.
2.3.2 Inspection of Traffic Don’t Change the Requirements
Companies increasingly under the control of various systems to meet
regulatory and industry, as well as trying to do to manage and reduce their own risk,
Review of traffic technology such as intrusion detection and leak detection, and often
much more to meet this requirement, When we moved from physical servers to a
hypothetical situation, the need for checks passed unchanged Fortunately, the
solution of this question is easy to use the existing security services abroad. Leading
practices in this area to repeat the practice in the near future, If the institution fails to
install the SPI every server need not be present.
UTM with IPS device, and to prevent leakage to sit on a place in the network, this
copy of policies and practices is existing security. In The case where Traffic is
required to monitor the internal virtual server, and existing solutions, the instrument
can perform autonomous motion detector that connects to the virtual port
is "illegal" in the virtual switch, and capture traffic between virtual machines.
The sensor can be analyzed either directly or password, for more predictable
performance, the copy that traffic between the external Physical interface where the
traditional Inspection unit can do the job(Luo et al., 2002).
17
2.3.3 High Availability Becomes Even More Critical
“Place every one of your eggs in the individual container-and see that container” is
generally satisfactory in a situation of virtual server that is the Mark Twain’s well-
known saying. For example the functionality of each server is achieved by reducing
number of servers, and also development of every server the value is possible impact
of any not working.
Essentially when a secret document may be physical or implied is in a way that is
untested, creating secret document highly available is perfect situation if you don’t
have already confirmed that a negligible employment creates additional argument for
programs like IPS and Firewall, and there is another reason to believe using outdoor
employment is HA. However it can be important to growth the external uses
accessibility, although is properly accepted wisdom and properly agreed. The major
danger is that the network availability also it can be justified by enhancing the
system to meet required conditions(Jayram et al., 2001).
Security architecture is the major concern for a virtualization process, though
the major concern is to incorporate technologies of active-active for services related
to firewalls compared to the easer strategy of active-passive. There are three
objectives and they are like the following:
1) Usually technology of active-active will grow well than normal reply time of
devices for the security. While an organization as speed 100 Mbps, a small
number of milliseconds alteration cannot affect them. But in context of
virtualization, it drives up uplink network connections, little changes in
functioning are enlarged higher speeds for access links of 1 Gbps and 10
Gbps. in general Using technologies of active-active decrease load on every
18
security system while simultaneously are working, offering the chance for
improved functioning.
2) Advanced ranks of error acceptance. Through active-active configuration, a
quite number only are available during every specific part in the system. So if
there is any deficiency in any machine, device and method, only significant
amount of the net is involved by check and the likelihood of component
failure. Actually as soon as practical servers include both short stayed
connection of HTTP and also offer stayed connection of VPN, backup
connections, or sharing of files, technologies of active-active places fewer
risk than active-passive traffic. However when a high robust systems like
blade-builder systems or server farm are employed through various sharing
responsibility basics, the problem is greatly minimized The setting when a
single blade or firewall factor is reduced when it is handling 10 percent of the
traffic than when it is handling 100 percent of the traffic.
3) Theoretically, Active/active configurations and virtualized projects are
suitable for each other,. Virtualization is all about making use of well-
organized resources, ranging from physical space to hardware capacity. The
disorganization of active/passive firewalls has for long been disorganized and
this brought about a problem to security professionals. With virtualization
projects calling much larger devices, it is more suited to consider the cost
savings of using active/active and clustering technology where possible.
Whether an enterprises goes with clustering and active/active technologies or not, the
key point here is to ensure that high availability features of inline network and
security elements are easily configured and tested in any virtualization project.
A firewall is meant to protect servers but not a denial of service when a firewall
protected dozen severs, it was certainly a problem if that firewall stopped passing
traffic. When firewalls keep a dozen physical servers and a hundred virtual servers,
19
this will amount to an overall failure of the business. Liberal use of joint aggregation,
different server ports, redundant network switches, and redundant links at all points-
along with HA clusters of security mechanism will reduce the net failure and
improve availability.
2.3.4 Planning Capacity is hard
When the default is to use more applications on the same device address, and
the network is the use of these materials will increase. Traditionally, the network is
heavy maintenance of their networks, especially in the data center, rather than for
capacity planning on the left side of each server. Removed with prices constantly on
the local network switching equipment, and can spend a lot of time at the expense of
100 Mbps and 1 Gbps and lives in distress does not deserve to simply just update
every switch in the rack Gigabit speeds and participation. If the bandwidth is less
than 1 Gigabit average server technology with remarkable efficiency(Ling and Zahir,
2002).
In the world of virtual servers, physical servers, or a group of a simple system
to saturate the link and 1 GB capacity planning, performance management and the
second is more important. Tools such as link aggregation that the reliability of the
system, from which a number of reasons, and now it is also important to bridge the
gap between the industrialized countries, the new 1 GB per second of precious and
more expensive 10 GB per second, and switch. The power supply can be used as
planned. If two virtual machines on the same server to transfer large amounts of data,
we cannot bear the weight of the network traffic.
But if one of these virtual machines to switch to other networks or other virtual
server, network traffic suddenly hit like a bomb ambitions may incur. These
dissimilarities in network performance and ability operation are also two vital
20
insinuations for safety on the side of the sharing of default: basic services must be
adequate and must be based expansion.
Denied barely baseline to give an adequate picture of the achievements, but
there are some implicit signal about the value. Most firewalls and tools for the safety
of others are cooked on the Internet-oriented applications. in cyberspace, may
include the movement of everything instead of the failure of applications to support a
partnership or a video on the multiplayer online, The firewall on the long-term
relationship with the size of the package (or the back of the failure of the partnership,
for example) in the case, of middle of the ring. The other, the multicast performance
is less predictable.
While, according to documents provided by the data provider is a good first
step in measuring performance, and mitigation of threats, most HA active / active,
and a large number of security zones and rules to implement virtualization to take
him out of the area of comfort for most of the sheet firewall.
This suggests that instead of testing and monitoring of performance and should be
part of the plan of the project defaults. The institutions should not be surprised if the
traffic performance of them gives a. Different, higher or lower than expected.
Variable performance of the building is the safest way to ensure that security
applications that can support the current and future growth. Perhaps such features as
the process in parallel (with code based on the structure or group of devices the most
active / active are good ways to achieve this goal) Company grant from the edge for
success.
When selecting protection devices for performance, it is important to choose
the most sophisticated equipment product lines. It should be that the company did not
start with something up 1 GB per second, while providing security for the change
21
along the way to go faster. What safety device is selected, a unique line of products
that can develop together and it is for them a variety of Gigabit speed 10 Gbps. The
company does not want a product line, or even worse, to other sources, and change
management, interfaces with complex security policies on the fly to review if they
are also at risk.
When you design security architecture for virtual environments is very large,
and companies should seek safety devices which are based on the balance of the
structure with the addition of processing elements in the structure of the car. These
types of safety devices tend to be a better world; companies increase the number of
processing elements, or timetables or by changing the deceleration speed of the
blades, if necessary.
The company does not want to buy a rolling structure of the blades on the first day,
but be able to remove the leaves and move easily reduce the amount of planning is
essential to the scope of the project increases.
Suggest a dirty instead of using the security services in the same way that
companies have more equipment probation usual in the network.
But the amount of work cannot from the virtual farm, more intelligent of the
lot, with a strong sense to develop using tools such as parallel processing
and hardware-based security structure is the best strategy.
22
2.3.5 Virtual Machines mobility makes difficult Security
A feature of the traditional physical servers is that they tend to change
frequently. To load the application group and a group of units and to avoid any
sudden change of security policy in a number of servers is very slow. Rather the
opposite is true for virtual servers: To move the virtual machines and applications of
system administrators from physical server to physical server as part of the balance
and control. When using functions such as VMware VMotion, virtual machines
move more often in response to open the pregnancy and correction, and the system.
This movement and the application server security makes it difficult to identify (Li et
al., 2008).
Have already described this part is a chance to put a seal layer between
physical servers and security services as part of the basic design for a server farm
topology. This aggregation, which includes a large number of servers and VLAN
them in an instant and without this problem. The important point is the need for
adequate performance, and bandwidth in the security services. For larger server
farms, you may be asked for more than 1 GB link provided in bits per second or up
to 10 Gbps interfaces and interfaces to handle the load and to ensure portability
wireless. Pressure on the control and safety zone around the layer 2 hop away from
virtual machines, and will be transferred will not be a problem because it does not
change (except the MAC address of the server application) when moving virtual
machines between servers.
If the company removes a layer of product, the best solution is safer to match
the hardware configuration with support for the definition of area-based policy. In
this way, an application that is on one side of the firewall at the same time, but on the
other side on the other hand, does not need to re-design the security policy. In this
case, well-designed central management is a must. And determine security policies
for each unit do not work here.
23
And "the urgent need for the policy management system that is nothing of the inner
movement of virtual machines. Security manager must be able to implement a policy
based on the applications and servers, instead of physical interfaces or devices,
distribution and determine recovery of this policy between security appliances.
2.3.6 Security Virtualizing goes with Servers Virtualizing
From the point of view is very high, default is simply to take the physical
servers and virtual servers grinding down. In the details, however, require much
more than that. A good default requires a lot of resources, including the ability of
multiple memories, CPUs, storage, and brings them together for greater efficiency.
Philosophically, it creates intellect for virtualization security tasks at the same
time: combine multiple security functions into a single device using this system more
efficient. Instead of a pile a stack of individual safety devices, it is best to match the
safety of the largest multi-functional unit on a farm and a large physical server with
multiple virtual machines.
Traditionally, companies refused and are often called this strategy to raise the
security UTM. Reasons in the category of best practices rather than an integrated
approach based on the LUNs UTM States are a legend in the part and a part of my
work. Since the actual scheme is fixed and clearly separated servers in racks or
curricula that provide similar results when Virtualizing a large number of servers
happened, and especially those who sit in different areas of protection, shift the
balance significantly in favor of the security services integrated UTM. The idea that
one UTM security services that can handle the various functions in all the different
sectors that are directly in accordance with the concept of virtualization (Aghajani et
al., 2010).
24
UMTS consolidation of functions, allowing flexibility, The existence and
functions of the standard means that the motion of the virtual machine is not a
problem because mitigation technologies and security threats in place, anywhere,
anytime. UMTS also simplify the topology and distribution. Part of the difficulty of
building services applications available for a very good agreement, and all
communication between the enterprise network and application servers.
HA design of security services and one or two that provides multiple
functions is much easier than trying to ensure that all paths through all unnecessary
devices properly, scalable and available. With UTM in place and the institution has
the greatest ability to publish simplified.
To find devices UTM, who are ready to develop projects in virtual
environments is difficult, Also shown a past experience, creating and UTM devices
for many small businesses, the environment of medium and small office and home,
and have sufficient flexibility to support the operation of the company. The following
table shows some key areas to focus on the choice of UTM device for managing the
virtual environment.
2.4 Basic Concepts of Performance Measurement
It can be observed in the system behavior by changes in system status. Any
change in the system status reports neither the beginning nor the end of a given
activity (or inactivity) components in the system (a hardware component, a
component of the program or process). Any change in the state system, as was the
case: There is a transition from one state to another system, if certain conditions are
met. Devices to facilitate access to information about the changes in the system, the
current model of the devices that rely on information about individual components
and their interaction desired. In particular, one can not know how often is the
implementation of a particular process (for example, the number of times you entered
a particular state.) In this case, it is necessary only to detect the occurrence of the
25
event and include the receipt of the statement significantly. Some examples of this
type of measurement are as follows: count tests on each disk, by measuring by
counting the night in a way to reduce the frequency of page faults, to measure the
frequency of memory parity error.(Yuanyuan et al., 2008).
It was available in the frequency of an event by dividing the number of
incidents that have accumulated along the period, interest. A more difficult and
include the synchronization of activities observed. The simplest case is to determine
what percentage of the average time for the system in a particular country.
Traditional measures of the channel and the CPU or I / O and used at the same time
(overlapping) channel CPU and L / S in this category. Finally, the most difficult
problem is that while individual cases of a particular activity, ie, to measure when it
enters a particular state, and the time that the system remains in this state. An
example of this type of problem is to measure the distribution of service time for the
processor, or the interval between the measurement errors, such as parity error,
disruption of the head disk memory.
In all three cases, and assumes that it is possible to detect changes in the state.
In fact, for the second category, it is not necessary to reveal exactly when the status
changes, in many cases, these types of measurements of samples from the second
state of the system. In response to a question about the status of the system at any
given time, at random, in the sense that nothing to do with these points on the
activities of the time measurement. Each monitors, as will or will not find in the case
of the system corresponding to the measurement of the activity. If he spent the
percentage of time in this case, to determine the percentage of successful
observations (the system was in a state of interest) for a number of observations.
It should be noted that the timers monitor the performance of the implementation of
this method. Since the sampling rate is generally very high (1 MHz - 10 MHz), it is
possible to convert a number of observations over time with high precision.
26
However, if the measures taken by the programs that have been implemented
in the systems investigated, the sampling rate remains relatively low because the
costs associated with them, it is best to use the direct method is described below,
When the direct method is very simple. Reading hour when measuring the activity
begins and again when you're done.
The difference between the readings and the center of activity is measured. This
method requires, of course, can be detected from the events at the beginning and end
of each body. It was also assumed that there is adequate time with accuracy, and can
be accessed easily, and which appear on the screen for certain activities.
2.4.1 Performance parameters
2.4.1.1 CPU utilization
CPU utilization is a key performance metric. It can be used to track CPU
performance regressions or improvements, and is a useful data point for performance
problem investigations. It is also fairly ubiquitous; it is reported in numerous places
in the Windows family of operating systems, including Task Manager (taskmgr.exe),
Resource Monitor (resmon.exe), and Performance Monitor (perfmon.exe) (Xiaorui et
al., 2009).
The concept of CPU utilization used to be simple. Assume that there is a
single core processor fixed at a frequency of 2.0 GHz. CPU utilization in this
scenario is the percentage of time the processor spends doing work (as opposed to
being idle). If this 2.0 GHz processor does 1 billion cycles worth of work in a
second, it is 50% utilized for that second, fairly straightforward (Bridges et al.,
1992).
27
2.4.1.2 Memory Utilization
Although the principle for estimating the service time for memory is the same
as that described in Resource Utilization and Performance,, it use a different formula
to estimate the performance impact of memory utilization than you do for other
system components. Memory is not managed as a single component such as a CPU
or disk, but as a collection of small components called pages. The size of a typical
page in memory can range from 1 to 8 kilobytes, depending on the operating system.
A computer with 64 megabytes of memory and a page size of 2 kilobytes contains
approximately 32,000 pages (Kundu et al., 2010).
When the operating system needs to allocate memory for use by a process, it
scavenges any unused pages within memory that it can find. If no free pages exist,
the memory-management system has to choose pages that other processes are still
using and that seem least likely to be needed in the short run. CPU cycles are
required to select those pages. The process of locating such pages is called a page
scan. CPU utilization increases when a page scan is required (Ramamoorthy and
Wah, 1981).
Memory-management systems typically use a least recently used algorithm to
select pages that can be copied out to disk and then freed for use by other processes.
When the CPU has identified pages that it can appropriate, it pages out the old page
images by copying the old data from those pages to a dedicated disk. The disk or disk
partition that stores the page images is called the swap disk, swap space, or swap
area. This paging activity requires CPU cycles as well as I/O operations.
2.4.1.3 Disk usage
Disk usage is the amount of space in a specified directory on a computer disk.
Disk usage results are usually based on the du command. Disk usage will display the
28
total number of directories within the domain’s online space and is calculated in
kilobytes (KB). Disk usage also shows the entire directory paths in which files are
contained. The most commonly used command for monitoring disk space usage is
/usr/bin/df, which, by default, displays the number of free blocks and files on all
currently mounted volumes. Alternatively, many administrators create an alias for df
in their shell initialization script (for example, ~/.cshrc for C shell) like df -k, which
displays the amount of free disk space in kilobytes (Ohyama, 1994).
2.4.1.4 Network bandwidth
In computer networks, bandwidth is often used as a synonym for data transfer
rate - the amount of data that can be carried from one point to another in a given time
period (usually a second). This kind of bandwidth is usually expressed in bits (of
data) per second (bps). Occasionally, it's expressed as bytes per second (Bps). A
modem that works at 57,600 bps hastwice the bandwidth of a modem that works at
28,800 bps. In general, a link with a high bandwidth is one that may be able to carry
enough information to sustain the succession of images in a video presentation. It
should be remembered that a real communications path usually consists of a
succession of links, each with its own bandwidth. If one of these is much slower than
the rest, it is said to be a bandwidth bottleneck.
In electronic communication, bandwidth is the width of the range (or band) of
frequencies that an electronic signal uses on a given transmission medium. In this
usage, bandwidth is expressed in terms of the difference between the highest-
frequency signal component and the lowest-frequency signal component. Since the
frequency of a signal is measured in hertz (the number of cycles of change per
second), a given bandwidth is the difference in hertz between the highest frequency
the signal uses and the lowest frequency it uses. A typical voice signal has a
bandwidth of approximately three kilohertz (3 kHz); an analog television (TV)
29
broadcast video signal has a bandwidth of six megahertz (6 MHz) -- some 2,000
times as wide as the voice signal.
The following table illustrates possible causes of high performance consumption for
server farm.
Table 2.1 shows causes of high performance consumption for server farm.
Causes Description
Application processes Process spawning lots of threads in high load condition
where there is no throttling at all. This can cause unusually
high CPU consumption just because of the unexpected load
on the application. This will generally consume the CPU
cycles available on the machine.
Other processes not
application process
This may be due to totally unrelated processes like batch
jobs, alerting jobs, cron jobs etc
System/OS processes Operating system has scheduled jobs/processes that can be
consuming high CPU for a particular time period. Generally
these processes run with higher priority (nice value) then
other regular application processes that may lead to
consuming high CPU.
many users are using the
application at the same
time
Several users are using application same time so this
generally will consume high memory.
External process External process clients can cause consuming more memory
many indexed items Too many indexed items in one index column caused by
unplanned increase in crawled content or changed type of
content
Query matching When the indexer and query matching components are
30
component installed on
the index server but the
query matching
component has been
stopped
running on the same server, the query matching component
is responsible for deleting old index sets as it is activating
new sets. If the query matching component has been stopped
but the administrator has not suspended indexing, the
indexer will continue to produce new index sets based on
crawled content. As the query matching component is unable
to delete the old index sets, the disk usage will increase over
time.
Insufficient bandwidth Sometimes, a network just doesn't have the throughput it
requires. When a network does bog down, several options
typically exist for increasing capacity. Besides boosting up-
and downstream speeds
DNS errors DNS configuration errors can lead to numerous network
failures and generalized slow performance.
Spyware infestation Spyware, the scourge of the last few years, finally appears to
be meeting its match in business environments. The
development of potent anti-spyware tools, combined with
effective end user policies, is reducing the impact of
spyware in many organizations
Virus
A computer virus can cause a memory loss and other
problems. Viruses attach to files on your computer, causing
them to require more memory than normal.
2.5 System Monitoring
System monitoring is essential and is one of the most important responsibilities
that a system administrator has. Its aim is to be able to know at every moment what
is happening in the system, to detect the problems.
31
2.5.1 MONIT (UNIX Systems Management) Tool
One of the famous managing and monitoring tools, Monit, it monitors
processes, file, directories and devices on UNIX system. Automatic maintenance is
conducted by monit and can execute meaningful causal actions in error situation. For
instance monit can start a process restart a process if does not run, respond and stop a
process if it uses too much resource. To monitor files, directories and devices it may
use MONIT for changes, such as timestamp changes, checksum changes or size
changes (MONIT, 1998).
However, control file can be configured based on free format monit, it is
controlled via an easy, token syntax oriented. Syslog logged by Monit or to its own
file of log and informs the conditions about error via alert messages of customizable.
Monit uses Many TCP/IP to carry out protocol checks, network checks and SSL
utilize for such checks. A HTTP(S) interface is provided by monit and to access the
monit server can use a browser
Figure 2.2 overview of monit
32
2.5.2 Nagios
NAGIOS is one of tool that monitors the other network computers or
components status. It can monitor the network and it alert when effects happen. For
example if fails one the computers or the responding stops someway, Nagios will
send page an email, or allow to know in various ways. However the current status
shows a web page Nagios monitoring all the systems because Nagios has many
abilities, to set up can be complex.
Figure 2.3 an overview of Nagios.
33
2.5.3 Ganglia Tool
Another scalable distributed monitoring system for high performance
computing systems such as clusters and Grids is Ganglia. The design is based on
hierarchy, federations of clusters is the target of ganglia. It relies based
listen/announce protocol on a multicast to monitor clusters state and a tree of point-
to-point used by ganglia, amongst connections delegates nodes of cluster to count
clusters and federate them, It widely leverages used technologies such as, XDR for
portable, compact transport data, XML for representation data and RRD tool for
visualization and storage data. There are achievement overheads when structures of
data and the algorithms on individual system are accepted high concurrency. The
implementation is healthy, ported to an wide set of operating systems and
architectures of processor, and is now in use on more than 500 clusters about the
world (Massie et al., 2004).
Ganglia are based on a hierarchical design targeted at federations of clusters
(Fig. 1). It relies based listen/announce protocol on a multicast to monitor clusters
state and uses connections of a tree of point-to-point between cluster of
representative nodes to clusters of federate and their state aggregation. Within each
cluster, Ganglia use on a well-known multicast address heartbeat messages as the
foundation for protocol of a membership. Membership is claimed by using the
heartbeat reception as a sign that the non-reception and available node of a heartbeat
over multiple of a small of a periodic interval announcement as a sign that
unavailable node. Each node monitors its local resources and sends multicast packets
containing monitoring data on a well-known multicast address whenever significant
updates occur. Applications may also send on the same multicast address in order to
monitor their own application-specific metrics.
34
Ganglia distinguish between built-in metrics and application-specific metrics
through a field in the multicast Packets of monitoring will sent. All listening nodes
for both types of well-known address multicast metrics and gather and maintain
monitoring information for every node. Therefore, always all nodes have an
estimated view of the cluster’s state entire and this state is reconstructed easily after a
crash (Massie et al., 2004).
Figure 2.4 Ganglia architecture
Ganglia federate multiple clusters together using a tree of point-to-point
connections. All entities in the domain been federated are clustered before exiting, on
the other hand system on the high hierarchy specify aggregation points. Since, the
monitoring data of the cluster is copied on each system, the outgoing computer
represent a distinct cluster in a logical manner otherwise they represents a set of
clusters. (We specify multiple cluster nodes for each leaf to handle failures.) The
counting of each portion of the set is done in a timely interval.
35
Monitoring data from both leaf nodes and aggregation points is then exported
using the same mechanism, namely a TCP connection to the node being polled
followed by a read of all its monitoring data.
2.5.4 CARD
CARD (Cluster Administration using Relational Databases) is system for
monitoring large clusters of cooperating computers. CARD scales both in capacity
and in visualization to at least 150 machines, and can in principle scale far beyond
that. The architecture is easily extensible to monitor new cluster software and
hardware. CARD detects a fault and determines the best way of recovery in a
systematic form. CARD uses a Java applet as its primary interface and it allows
internet users anywhere to use their browser to monitor the cluster (Patterson, 1997).
While monitoring large clusters; CARD identified four different problems
and the countermeasures. Initially they try to figure out the evolution of software and
hardware in a cluster. Secondly is the issue of fault tolerance mechanisms in the
cluster and the corresponding software. Thirdly is the explanation on how they
increase data scalability. Finally they explain how they display the statistical display
of information from a large number of systems (Patterson, 1997).
2.5.5 PARMON
PARMON allows the user to monitor system activities and resource
utilization of various components of workstation clusters. It monitors the machine at
various levels: Component, node and the overall level of the system displaying a
system image as individual. PARMON the administrator of the system lets
monitoring of the following functions
I. Utilization of system resource aggregations
36
II. Activities of process.
III. Activities of system log.
IV. Activities of the kernel.
V. Many requests as similar source.
PARMON lets the client describe actions that trigger certainly when a party
condition is satisfied. It offers logical and physical outlooks of the of the system
components. The PARMON key features include the following (Buyya, 2000).
I. Development exploits of most modern technologies, software and
hardware features for imaging and communication.
II. Lets the user to build the structure of the database (groups and nodes)
includes the name of the node, interfaces of communication, and specific
unit to monitor the disk.
III. Holds recording details of the structure and configuration of the machine
to complete nodes of a cluster.
IV. Lets the system instrumentation of resources like a CPU, memory,
network and disk, and their parameters, both micro at and macro level.
V. Holds cluster monitoring at level of node, set of group or set of total
system, and therefore exhibits a single image of the system.
VI. Lets the performance equivalence of chosen operations on a family or
individual of workstations, interactive reference and real-time monitoring
(e.g. Memory, processor, network and disk utilization), and maintenance
of the normal tasks like cluster or node shutdown.
VII. The client PARMON is moveable of all programmed stages supporting
structure of Java runtime, JVM (Java Virtual Machine) and server
PARMON is moveable of running machines Linux or Solaris.
In PARMON there are parmon-server and parmon-client. The model of
system as shown in Figure 2.9 continue to the client–server case with monitoring
nodes acting as servers and systems of monitored or user-position acting as clients.
37
The nodes of the cluster are able to monitor from any PC, workstation, or the cluster
node itself. The server of PARMON is weighted nodes that require monitoring
(Buyya, 2000).
Requests of the client the parameters values through passing message and
gets the answer of the server in messages form. The messages interpreted by the
client and converted them into proper format visualization of graphical. A client can
monitor selectively observe a few nodes of the group or all the nodes.
The cluster theory is supported by effective monitoring. A group kind of
group nodes are elected based on the resources allocation to different set of users.
Such a method of a grouping helps in collecting and monitoring statistics of the
usability, with which the administrator of the system can change the allocation
strategy of the resource.
Figure 2.5 PARMON architecture
PARMON is planned to take independent of other system monitoring; it a
easy method uses (there is no any protocol standard) for transferring data between its
servers and clients.
The layer of transport consists of sockets connected (TCP/IP) streams and the layer
of software uses messages character and strings. Required monitoring data is
retrieved by the client from the running server on the nodes of the cluster by
exchanging messages. The message normally requested by the client contains an
indicating etiquette what it is looking for. The reply message of the server contains a
strings of series, whose varies distance from one type of application to another.
38
The following Table 2.1 shows comparing core functions in different
monitoring tools such as Ganglia, Parmon, Monit, Nagios and Card.
Table 2.2: Shows comparing core functions in different monitoring tools
Number of monitoring tools has been developed for high performance
computing PARMON is one of the most familiar who allows the user to monitor
system activities and resource utilization of various components of cluster’s
workstation. Also Ganglia is popular toolkit for systems of cluster and grids, which is
based on a hierarchical design. It exploits a multicast-based listen/announce protocol
to monitor states within clusters. In Ganglia architecture, a tree of TCP
(Transmission Control Protocol) connections between multiple daemons can
aggregate monitoring information for multiple clusters.
In monitoring tools is a critical and important task to monitor performance of
the servers From Table 2.1, out of 12 functions, there are four functions that can
successfully embed 100% of monitoring tools. These four functions are “CPU
activity”, “Memory activity”, “Disk activity” and “Network activity”. Process
39
activity function all tools were embedded except Nagios tool. However there are also
other functions that are embedded some of the tools such as device activity all the
tools were embedded except Ganglia and Nagios.
Table 2.3: Shows comparing mechanisms in different monitoring tools
It need to identify the mechanisms of those tools like Ganglia, CARD,
Parmon, Monit and Nagios table 2.3 shows that the PARMON is designed to run
independent of other monitoring systems; it uses a simple mechanism (not any
standard protocol) for transporting information between its servers and clients. The
layer of transport consists of socket connected (TCP/IP) streams and the layer of
application uses messages character strings. The required monitoring information
retrieved by the client from running the server on the nodes of the cluster by
swapping messages. The request message of the client usually contains a code
representative what it is appearing for. The reply message of the server contains a
series of strings, whose varies length from single type of request to another. And also
both a ganglia and Monit are using TCP connection.. And CARD is used Hybrid
Push/Pull Protocol and finally Nagios is using Plug-ins available with the
distribution. Plug-ins for Nagios are Perl or other similar scripts that, when executed,
sends a specific data query to a device. The value returned from the plug-in is what
Nagios tracks, the plug-ins do all the work.
40
2.6 Summary
In this chapter, we covered the area that is necessary for the development of
monitoring server farm tool. An investigation has been done on previous literature
from some resources such as internet, books, conferences and journal. We also
discussed some important concepts about monitoring systems such as server farm
monitoring tools and effective controlling servers and so on. Although this project
had gathered all the literature review about server farm security management, a good
understanding for each field is very important in order to develop effective server
farm monitoring tool.
42
CHAPTER 3
PROJECT METHODOLOGY
3.1 Introduction
This chapter demonstrates short description of project methodology that will
be used in this research. As most excellent follow project methodology procedures,
tools and models must be named so as to fix the prototype. However the operational
framework of the project, schedule of the project, the researcher will discuss in this
chapter and afterward on the requirements of software and hardware for the proposed
prototype development
3.2 Operational Framework
To ensure that all the activities of this project are well-organized, it needs
project methodology to direct those activities to the right guidance. For instance to
collect all data linked to the project so as to develop a methodology or operational
framework. And also to ensure that all the jobs of the project have been clearly done.
As shown Figure 3.1 the operational framework of the project. And the Table
3.1 demonstrates the features of the project operational framework.
42
PHASE 1 – Analysis of Tools Monitoring Server Farm
PHASE 2 – Design and
develop both system architecture and system design
PHASE 3 – Testing prototype and Repot written
Choose important functions and
add one extra function
Test Prototype
Report Writing
Prototype
accepted
No
Yes
Develop Prototype
Analyze existing Tools of
monitoring server Farm.
Compare core functions of
selected tools of monitoring
server Farm.
Design System Architecture.
Design Interface of client-
server monitoring
performance.
Figure 3.1 the Project operational framework
43
Table 3.1: details of operational framework
NO PHASE OBJECTIVES TASKS INSTRUMENTS
/ METHOD
DELIVERABLES
1
Analysis of
existing
monitorin
g server’s
tools.
Comparin
g core
functions
of selected
tools.
Choosing
core
functions
add extra
function.
To analyze the
decided tools
such as
Ganglia,
PARMON,
Monit and
Card.
To identify
each tool his
own functions
and methods.
To compare
different
functions of
selected tools
To choose core
functions
Studies
monitoring
tools such
as Ganglia,
PARMON,
Monit and
Cared
Compariso
n of several
functions in
different
tools.
Determine
core
functions.
Performance
monitoring
tool of client-
server.
2 Design To design Designing Components
44
Prototype
of
monitorin
g server
farm
Develop
the
prototype
prototype of
server farm
monitoring tool.
To develop
sub
component
of the
system\
To develop
GUI
interface
monitoring
server farm
prototype
(GUI
architecture)
.
Coding of
component1
Coding of
component2
Coding of
component 3
and features that
will be included
the monitoring
server farm
Prototype
(architecture
and design GUI
of the system).
4
Test the
Prototype
Write the
report
To design
system features.
To test the
prototype.
To get finalized
prototype.
To write the
final report of
the prototype.
Write the
report by
Combining
and
organizing
all the data
in
understanda
ble way.
Using report
writing skills.
Final
prototype.
Complete final
report.
45
3.2.1 Analysis tools of monitoring servers.
This section analysis tools of monitoring servers the researcher is going to
highlight collected data during online research and offline research will be analyzed,
the methods used to analyze it and the data analysis tools used.
3.2.2 Data Analysis Methods
Analyzing information, the researcher can use one of the data analysis
techniques called qualitative and quantitative but in this research will be applied
quantitative method.
3.2.3 Project Schedule
The schedule of the project will roll through down tin general schedule of the
project contain the start date of the project and project end date, also the actions that
wanted to perform in the research according to the objectives of the project. The
project schedule details are exposed in Gantt chart attached in Appendix A.
3.2.4 Prototype methodology
System prototyping is a quick development of software so as to confirm
requirements. Using software prototyping assists developers and users to identify for
the system requirement, vulnerabilities, mistakes and omissions are identified. So
users can see how the system supports their work.
46
Generally prototyping can be considered as risk reduction activity. In
particular it provides improved system usability closer match to the system needs,
improved design quality, improved maintainability and reduced overall development
efforts.
The Figure 3.2 shows prototyping process in the project. (Sommer Ville, 2000)
Figure 3.2 System prototyping
There are two approaches for prototyping: Evolutionary prototyping approach
and Throw-away prototyping. In this research, Evolutionary prototyping approach is
used where an initial prototype is produced and refined through a number of stages
as shown in Figure 3.3. (SommerVille, 2000).
47
Figure 3.3 Evolutionary Prototyping
3.3 Use case of the proposed tool.
The use case diagram of the proposed tool is represented both client side and
server side. Figure 3.4 illustrates use case proposed tool for client side.
Yes
No
Develop abstract
specification
Build
prototype
system Test the
Prototype
system
Deliver
system System is
completed?
49
This tool performs five main different Functions as figure 3.4 shows. From
table 3.2 the functions are Check System Information, Check CPU performance,
Check Memory Performance, Check Disk performance and Check Network
Bandwidth. The description of each function and the preconditions that requires
being present before each function are presented.
Use Cases Description Precondition
Check System
Information
System Information, which
contains basic information
about the target client
operating system
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Check CPU
performance.
It collects CPU performance,
such as CPU usage,
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Check Memory
Performance
Checks all nodes the Memory
Utilization, and visualizes the
server.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Check Disk
performance.
It collects Disk performance
information all the nodes and
shows in the server computer.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Check Network
Bandwidth.
First collect information about
Network bandwidth such
input signal and output, after
collection then visualize the
server.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Table 3.2 Use Case Description for client module
50
Figure 3.5 shows as use case diagram for server module, this module first
receives the information from the client module and visualize to the control node.
Figure.3.5 Use Case Diagrams for server side
51
As the above the table 3.3 the server module first of all receives the resource
information such system information, CPU usage, Memory usage, Disk utilization
and Network bandwidth and displays to the control node or the server.
Use Cases Description Precondition
Receive and display
System Information
It receives System
Information, which contains
basic information about the
target client operating system
and display.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Receive and display
CPU performance.
It receives the CPU usage, and
visualizes on the server or
control node.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Receive and display
Memory
Performance
Gets Memory Utilization, and
visualizes on the server.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Receive and display
Disk performance.
It receives Disk utilization and
shows on the server computer.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Receive and display
Network
Bandwidth.
First receives the information
about Network bandwidth
such input signal and output,
after receiving it will visualize
to the server.
Windows operating systems
of version XP and higher.
And .Net Framework 2.0 or
later versions installed on the
clients and the server.
Table 3.3 Use Case Description for server module
52
3.4 Software And Hardware Requirements
In this section, the researcher talked about the hardware and software
requirements of the Monitoring servers’ prototype.
3.4.1 Software Requirements
Below is the Table 3.2 which summarizes software requirement for the
proposed prototype.
Table 3.4 software requirements
Software Purpose
Microsoft Visual
Studio 2008
The researcher will use this tool as front end of the
project.
Sparkling features of Microsoft Visual Studio 2008:
What you see is what you get visual design
surface
HTML, CSS, vbscript, and javascript Support
XML, RSS, and web services support
Visual data designers
Simplified debugging
Fully customizable
Easy to configure and deploy
MySQL
Provides the database for the prototype.
53
In addition, it provides the following:
Data Manipulation (DM)
Data Definition (DD) elements.
MySQL is easy and user friendly and it can store.
EdrawMax EdrawMax is a tool which enables students, teachers
and business professionals to reliably create and
publish kinds of diagrams to represent any ideas.
Microsoft project 2007 Microsoft Office Project Server 2007 is a set of tools
which enables you to effectively manage and
coordinate work for an individual, team or enterprise.
In my project this tool will be used to create the project
schedule. And also will be used to create grant chart.
Microsoft Windows 7 Microsoft Windows 7 will be used as the Operating
system for the project development.
Microsoft word 2010 Microsoft word 2010 will be use for repot writing and
any writing of documents needed during the
development of the project.
3.4.2 Hardware Requirements
Hardware requirements are what types of hardware that is needed during the
development of the project. Below is the list of required hardware in the
development of the project:
1. Five computers.
2. Processor 2.0 GHz Pentium IV
3. Memory 1G of RAM.
54
4. Hard Disk 40 GB.
5. Drive CD-ROM or DVD-ROM drive.
6. Display Super VGA (1024 x 768) or higher.
7. Mouse MS Mouse or compatible pointing device.
8. Network card.
3.5 Summary
This chapter talked about an overview of the project development
methodology. The researcher discussed in details the project operational framework
which shows the overall project operation. The researcher also discussed the phases
inside the operational framework. And at the end of this chapter the hardware and
software requirements were discussed.
61
CHAPTER 4
DESIGN PHASE
4.1 Introduction
This chapter discusses the processes of designing a Client server application
for server farm performance monitoring tool that have the capability to monitor
server farm resource availability such as CPU usage, Memory usage, Disk usage and
Network bandwidth from time to time on demand.
However this chapter is organized as the flowing. Section 4.2 presents
architecture of proposed tool of client server application for server farm performance
monitoring. In section 4.3 use case diagram of the proposed tool. Also section 4.4
will visualize flowchart of the proposed tool. The technique and algorithm of the
proposed tool will be in section 4.5. Finally section 4.6 describes the design of the
proposed tool.
56
4.2 Architecture of proposed system
High level tool architecture establishes the basic structure of the tool. So the
architecture of proposed tool is designed according to a “master-slave” model, as
illustrated in Figure.4.1:
Figure 4.1 the architecture of the proposed tool
Send information probe
Server
Node Information Manager
Disk Usage
Memory Usage
Network Usage
CPU Usage
Node
System Information
Disk Usage
Memory Usage
Network Usage
CPU Usage
Node
System Information
Disk Usage
Memory Usage
Network Usage
CPU Usage
Node
System Information
CPU Usage
Disk Usage Memory
Usage
Network
Usage
Information probe
System
Information
Client Node
Communication Module
Communication Module
57
In the server farm, there are running a great number of service nodes and it must
be monitored. Control Node plays the role of a central monitoring, which
communicates with other nodes via the high-speed interconnection network. Thus,
there are two kinds of important modules in the monitoring tool, as follows:
1) Information Probe module
The Information Probe module is deployed on each cluster node, which directly
collects the running status of underlying resources.
According to the different kind of resource monitoring, five important functions
such as: System information, CPU usage, Memory usage, DISK usage, Network
bandwidth, which are in charge of collecting data about CPU, memory, disks,
network and Operating system (name of version, architecture) respectively. These
necessary data are periodically measured and updated, and then sent out from the
Information Probe module.
2) Information Manager
As shown in Figure.4.1, the Information Manager module gathers current status
of the nodes. And visualize to the control node as GUI graphical user interface.
58
4.3 Proposed Tool flowchart.
4.3.1.1 Server side flowchart
Figure 4.2 describes in detail of how server side visualize collected data.
Detect connection
Yes
Figure 4.2 Flowchart of server side on proposed system
Start
Listening for incoming
clients connections
Connection
accepted
Information Request
Display
information
Terminate
the program
Exit
No
Yes
No
Received the information
59
From figure 4.2, firstly the server starts to listen for incoming clients
connection, and it will detect some client request, so that the server may accept or
not, one’s the connection accepted it will request resource information to the clients
and displays as graphical user interface.
4.3.2 Client side flowchart
Figure 4.3 describes in detail of how client side collects the data.
Figure 4.3 Flowchart of client side on proposed system
Start
Connect
Get CPU usage
Get Memory usage
Get Disk usage
Get Network
bandwidth
Get OS name &
Architecture
Send resource information
Program
terminated
Exit
Yes
No
60
As shown in figure 4.3, the process starts from the connection. Client will
send request related the connection to the server. If the server accepts the connection,
client will get request about resource information of current status of the client, it
will gather the resource information and sends to the control node.
4.4 Monitoring Nodes
The two major component of the proposed tool, first component is monitor
clients which collect the performance information like CPU usage, Disk usage,
Memory utilization and Network bandwidth after that will send to the control node,
the second component is Monitor Center, a graphical user interface centered server
accountable for interrelating with the monitor clients in addition to visualize received
information. Central monitor is developed, designed and applied using the art of
state, objected-oriented, Client server based and C#.NET 2008.
Following communication takes place among the proposed tool, server and client
frequently from time to time.
I. The administrator interacts with a proposed tool server as graphical user
interface for monitoring then select suitable option.
II. The proposed tool understands the administrator’s request then appeals to the
suitable event handler.
III. The event handler executes the suitable functions
IV. The administrator selects one of the set of nodes to monitor.
V. The proposed tool server maps the name and IP address of the clients.
VI. The proposed tool server changes the request of the user into messages then
talks them to the clients.
VII. The client of the proposed tool interprets the server messages, process its
request and communicate the result to the server.
61
VIII. The proposed tool server understands the messages then changes them into
appreciate format, and it visualizes in the form of a pie chart, graph, text and
bar graph.
IX. Finally the server of the proposed tool closes all connections made to the
clients.
4.5 Techniques and Algorithms of the Proposed Tool
Performance counter monitors the behavior of the computer. These include
physical components, such as processors, disks, and memory, and system objects,
such as processes and threads.
There are also a large number of performance counters created (and
maintained) by the .NET common language run time environment. However to
collect data from remote machines one of the important technique is client server
model.
4.5.1 Client side algorithm
A client is a user that connects to a server, usually to demand data. Web
browser, for example play a role in the client when the materials downloaded from
the web server. Create a client socket with jobs. NET is a normal little messy, so it
needs to create an instance ClientInfo for event-driven access to data.
62
Following pseudo code explains TCP client pseudo side.
Figure 4.4 Pseudo code of the client
The above figure 4.4 illustrates Pseudo code of the client, the process starts
to create socket, after creation the socket then connect to that socket, Do an active
connect specifying the IP address and port number of server and then loop Read and
Write Data into connect Socket to communicate with server, finally close the
connect socket.
Create socket, connectSocket
Do an active connect specifying the IP address
And port number of server
Get CPU usage
Get Memory usage
Get Disk usage
Get Network bandwidth
Get OS name & Architecture
Loop
Read and Write Data into connectSocket
To communicate with server
Close connectSocket
63
4.5.2 Server Algorithm
In addition to receive and send information (such as a client), and the server
to keep track of which is linked to it, also helpful to be able to broadcast messages,
and send it to each customer's online (for example, a message indicating the server is
about to be taken down for maintenance).
Below figure 4.5 is Pseudo code of the server.
Figure 4.5 Pseudo code of the server.
Create socket
Bind socket to a specific port
Loop
Accept new connection (connectSocket)
Read and Write Data Into connectSocket to
Communicate with client
Request Information (CPU usage, Disk usage, Memory usage Network
bandwidth)
Receive Information (CPU usage, Disk usage, Memory usage Network
bandwidth)
Close connectSocket
64
The above figure 4.7 is about Pseudo code of the server, the process starts to
create socket and then bind socket to a specific port where clients can contact,
Register with the kernel to listen that on socket for client and then loop to accept new
connection and read write data into the connection socket finally close connect
socket.
4.5.3 Registered User and Organization Algorithms
When install Windows, it needs to register the name and perhaps the
organization's name. it is to preserve this information by the operating system. When
asked about details such as this, it is useful to provide this information and default
values.
System.Management Namespace
System. Management namespace contains classes that allow the collection of
information on the management system of the equipment using the infrastructure of
the Windows operating system (WMI). This includes a large amount of information
on the current system, and hardware and operating system, including the names of
the registered user and organization.
NameSpace is provided in the library System. Management dynamic (DLL).
It does not include this DLL in Visual Studio by default. To access information using
WMI, add a reference to the DLL to the project, and should include the following
guidelines to simplify the code:
using System.Management;
65
Reading the registration information can be used WMI class, management class the
first class to retrieve the information in connection with it, Required by law to be the
class constructor string parameter when creating a new instance of class
management. For additional registration information, and there is a need for a class
Win32_OperatingSystem. Management class to create the appropriate object, add the
following code
ManagementClass mc = new ManagementClass("Win32_OperatingSystem");
When the object is formed Management Class, should be performed in
GetInstances way to get a set of objects ManagementObject. This group contains one
object contains the value, and can be accessed using many of the indexer, Values of
the series 2, which are named "RegisteredUser" and "organization".
The following figure 4.6 illustrates the code uses the previously created
ManagementClass object to retrieve and output the registered user and organization:
Figure 4.6 Registered User and Orgnization Algorithm
string registeredUser = null;
string organisation = null;
foreach (ManagementObject mo in mc.GetInstances())
{
registeredUser = mo["RegisteredUser"].ToString();
organisation = mo["Organization"].ToString();
}
Console.WriteLine("User:\t{0}", registeredUser);
Console.WriteLine("Org.:\t{0}", organisation);
66
4.6 Retrieving Data
The following methods are very useful in order to monitor the system and
particularly the amount such as CPU usage, Disk usage, Memory usage and
network bandwidth.
Figure 4.7 Code to retrieve available Memory and CPU usage
As shown, figure 4.7 illustrates sample code that retrieves available memory
and CPU usage .However the server retrieves required monitoring information
from the clients running on the cluster nodes by exchanging messages. Server
request message normally contains a code indicating what it is looking for such
CPU usage, Memory usage, Disk usage and Network bandwidth from time to
/*
First create the 2 performance counters
using the System.Diagnostics.PerformanceCounter class.
*/
protected PerformanceCounter cpuCounter;
protected PerformanceCounter ramCounter;
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
/*
Call this method to get
the current cpu usage.
*/
public string getCurrentCpuUsage(){
cpuCounter.NextValue()+"%";
}
/*
Call this method to get
the amount of the available RAM in Mb
*/
public string getAvailableRAM(){
ramCounter.NextValue()+"Mb";
}
67
time. The client’s replies message contains several components that the server
requested already and sends to the control node.
4.7 Design of proposed system
As shown figure 4.8, the administrator can monitor performance of many clients
such as CPU usage, Memory usage, Disk usage, Network bandwidth and OS name
and architecture it also can watch status of different clients.
Figure 4.8 Design of server side of proposed tool
68
4.8 Summary
This chapter presented proposed tool architecture of client server application
for server farm performance monitoring. The design details of the proposed tool and
different diagrams such as use cases diagram, flowcharts diagram of each client side
and server side, technique and algorithms of the proposed tool were discussed in
detail.
76
CHAPTER 5
IMPLEMENTATION AND RESULTS
5.1 Introduction
In the previous chapter, design of the proposed tool which includes client
server monitoring performance method was presented. The proposed tool presents
the CPU usage, Memory usage, Disk utilization and network Bandwidth.
The remainder of this chapter is structured as follows. Section 5.2 is the main
focus of this chapter, which discusses results of the proposed tool including resource
usage of the clients such as system information, CPU usage, Memory Usage, Disk
utilization and Network bandwidth. Section 5.3 compares the results of the proposed
tool with the previous server farm performance monitoring tools. Finally section 5.4
concludes this chapter.
70
5.2 Testbed for the Proposed Tool
In this section the testbed of the proposed tool testing is presented. Figure 5.1
shows the configuration of the testbed.
Figure 5.1 Configuration of testbed.
From Figure 5.1 there are five computers. One of them is Monitoring Center
and others are clients. The client computers collects performance information such as
system information, CPU usage, Memory usage, Disk utilization and Network
Bandwidth then visualizes the Monitoring center node.
71
5.2.1 Test Case 1
Test case1 will monitor to the targeted machine, the name of the target
machine is XP1, and the IP Address of this machine is 192.168.232.6, the tool
collects the performance data such as system information, CPU usage, Memory
Usage, Disk utilization and Network Bandwidth and then visualize the central
monitor machine, so the name of the monitoring center is rashka pc and IP address is
192.168.232.1.
Figure 5.2 illustrates the main interface of the central monitoring machine
72
Figure 5.2 main interface of the central monitoring
In figure 5.2 there is no performance data such system information, CPU
usage, Memory usage, Disk usage and network Bandwidth, to gather those
information it need first to register the clients that may be to visualize their
information. Figure 5.3 shows the client registration form.
73
Figure 5.3 Adding New Client
The new client added will appear in client list form with a status field indicate
whether the server succeeded to connect to the client or failed.
Connected – the server has succeeded connecting to the client.
Failure – the server has failed connecting to the client
Figure 5.4 Client list form
74
After fix the problem that was causing the server to fail connecting the client,
then may be needs to press the Status button to check the correct status. Each client
will appear in the drop down list of clients that located on the top right of the system
main interface. Use it in order to choose on which client that may needs to get it’s
information.
Figure 5.5 choose client form.
The main tab of the proposed tool is the performance tab, which contains any
performance counter available on the target client such as CPU usage, Memory
usage, Disk usage and Network Bandwidth and visualizes to the monitoring center.
The value of any counter are presented in a line graph, it can be watch up six
different graphs concurrently. In order to add a new counter, choose in the menu
View Counters Select Counters and select performance categories:
75
Figure 5.6 Choosing performance type
. In the above figure 5.6, the administrator chose to see information
regarding the process of the target client, and specified the total processor time
percentage. In the bottom of the performance tab, the list of counters it may chose,
including each counter category and instance.
76
Figure 5.7 performance monitoring
After adding a counter and can also remove it from the view by right clicking
the requested counter and choosing Remove Counter.
77
Figure 5.8 Removing Counter
In order to distinguish between the different counters in a better way, it can
use the Change Color option. Right click the counter, which its color that may want
to change, then choose Change Color. The relevant graph will change its color to the
selected color. The following figure 5.9 illustrates changing the color to the counters.
78
Figure 5.9 change color
The second tab is System Info, which contains basic information about the
target client operating system and selected performance counters, which may find
very useful. In the left side of the tab located the static information of the operating
system, Windows version and service pack, registered and logged on user, and the
list of available drivers. Notice that this data is not influenced by the system interval
and is collected once for each time you select this tab. In the right side there is
dynamic information of memory usages, CPU, threads counts and more. The data is
shown in both as graphs and as text.
The following figure 5.10 illustrates the system information such as computer
name, type of operating system, user name, and logical disk space.
79
Figure 5.10 system information
Figure 5.11 CPU information
The above figure 5.11 describes the CPU usage with limit time interval also
the administrator can watch several components related to the processor such as
processor time and so on.
80
Figure 5.12 Memory information
As illustrated Figure 5.12 memory information is one of the performance
counters and the above figure visualizes the memory usage.
Figure 5.13 Disk information
81
According to the Figure 5.13, the monitoring center can visualize disk
information such disk utilization, the disk free space, logical average disk
transfer/sec and logical disk write/sec.
Figure 5.14 Network Bandwidth
Network bandwidth is one of the main functions of the proposed tool and
Figures 5.14 shows network input and network output bandwidth
82
4.3. Server farm performance monitoring tools and proposed tool comparison
Table 5.1 shows comparison core functions of existing tools of monitoring
performance for server farm and proposed tool.
Table 5.1 comparison core functions of existing tools and proposed
tool.
83
4.6 Summary
In this chapter presented testbed of the proposed tool including the client’s
performance such as system information, CPU usage, Memory Usage, Disk
utilization and Network. Finally the results of the proposed tool compared with the
previous server farm performance monitoring tools.
84
CHAPTER 6
Conclusion and Recommendation
6.1 Introduction
This chapter summarizes the entire project work and discusses issues raised
throughout this project. In section 6.2 will be the overall conclusion of the project.
As well as the contributions are discussed based on objectives of this project and
visualized in section 6.3. The future enhancements of the projects are recommended
in section 6.4. Finally section 6.4 summarizes this chapter.
6.2 Concluding Remarks
In this project, Client server application for server farm performance
monitoring using visual studio special C # language and client server algorithm has
been proposed.
85
In chapter 1, the domain of the study is discussed followed by the background
of the problem. The previous tools for the server farm monitoring have been
investigated and it leads to the statement of the problem and the objective of the
study. The project scope, motivation and aim of the project have been made after the
study objectives have been identified.
The purpose of this project is to develop a tool that cover five functions of a
client server application for server farm resource monitoring which are System
information, CPU usage, Memory Usage , Disk utilization and Network bandwidth.
Before the proposed tool is developed studies have been made towards the effective
functions will be applied to the proposed tool. The study conducted was based on the
tools related to the proposed tool.
In the first part of chapter 2 the overview of Server Farm attacks has been
presented follows by types of the attack and the symptoms of each type. This part has
also covered the discussion of the current general Monitoring tools of Server Farm.
After that the researcher has focused five tools of monitoring Server Farm called,
Monit, Nagios, Ganglia, Card and PARMON, the overview of those tools has been
presented.
Project methodology must be accomplished in order to propose a Client
server application for server farm performance monitoring tool. The methodology of
this project is presented in chapter 3 which contains three main phases. The first
phase is problem formulation that can be broken down into three phases which are
Analyze existing Tools of monitoring server Farm, Compare core functions of
selected tools of monitoring server Farm and Choose important functions and add
one extra function.
Second phase of the methodology is the design and development of the
proposed tool. The details of the proposed tool design including the flowchart of the
proposed tool, architecture and design of the proposed tool presented in chapter 4.
86
Also the result of the proposed tool and comparison with previous tool are shown in
chapter 5. Contributions of this project are in the next section followed by future
works and recommendations.
6.3 Contributions
As mentioned in chapter 2, monitoring servers is one of the mechanisms that
can be used to confirm the availability of the servers. It provides a way to compare
servers before the attack and after the attack, if any changes related resource
availability of the servers’ occurs such as increasing CPU usage, Memory usage and
Disk utilization of the server it concludes that the server is attacked by DOS or
VIRUS and so on.
There are three objectives that need to be achieved in this project throughout
this study. Following paragraph describes each of the objectives in this study.
The first objective of this project is studding and analyzing available tools of
resource monitoring performance for Server Farm. The study took into consideration
the functions that they have used such CPU usage, Memory usage, Disk utilization
and Network bandwidth. The analysis has done in chapter two.
The second objective of this project is designing and developing prototype of
resource monitoring performance for Server Farm. That covers five functions of
monitoring resources using client server algorithms the design of the proposed tool
has presented in chapter 4.
The last objective in this project is testing prototype of resource monitoring
performance for Server Farm. The full result and discussing of the proposed tool is
presented in chapter 5.
87
In summary, contribution in this study is as follows:
Designing a server application for server farm performance
monitoring that covers five function of resource monitoring which are
System information CPU usage, Memory usage, Disk utilization and
Network bandwidth.
Investigation of existing Tools is identified according to resource
monitoring server farm and presented in chapter two.
Results analysis of the proposed tool that uses client server algorithm
and the comparison with the previous tool.
6.4 Future works and recommendation
The proposed tool has contributed to the process of automating the server
farm attacks. In the future several modifications need to be considered in order to
improve and enhance the resource performance monitoring for servers and power of
the tool.
The tool has focused only environment of windows operating system.
Changing the structure and designing it in a way that covers the other environments
of operating systems such as Linux and UNIX is recommended.
Finally the proposed tool has five functions of resource monitoring server
farm and needs to add extra functions for future work.
88
6.5 Summary
In this chapter, the research work through the study was concluded.
Contributions of the project also were discussed. Finally, future works and
recommendations were suggested in order to improve performance of the tool on the
future. However there is still a room for improvement that need to be done towards
the carried study.
89
REFERENCES
Aghajani, M., Parolini, L. And Sinopoli, B.(2010). Dynamic Power Allocation In
Server Farms: A Real Time Optimization Approach. In: Decision And
Control (Cdc), 2010 49th Ieee Conference On, 15-17 Dec. 2010 2010. 3790-
3795.
Baronov, D. And Baillieul, J. (2012). Decision Making For Rapid Information
Acquisition In The Reconnaissance Of Random Fields. Proceedings Of The
Ieee, 100, 776-801.
Bhatia, A., Dhabe, P. S. And Pukale, S. G.(2009). Java Based Simulator To Detect
Zero-Day Silent Worms Using Actm. In: Advance Computing Conference,
2009. Iacc 2009. Ieee International, 6-7 March 2009 2009. 847-852.
Bridges, T., Kitchel, S. W. And Wehrmeister, R. M.(1992). A Cpu Utilization Limit
For Massively Parallel Mimd Computers. In: Frontiers Of Massively Parallel
Computation, 1992., Fourth Symposium On The, 19-21 Oct 1992 1992. 83-
92.
Buyya, R. (2000). Parmon: A Portable And Scalable Monitoring System For
Clusters. Software - Practice And Experience, 30, 723-739.
Cabrera, J. B. D., Lewis, L., Xinzhou, Q., Wenke, L., Prasanth, R. K., Ravichandran,
B. And Mehra, R. K.(2001). Proactive Detection Of Distributed Denial Of
Service Attacks Using Mib Traffic Variables-A Feasibility Study. In:
Integrated Network Management Proceedings, 2001 Ieee/Ifip International
Symposium On, 2001 2001. 609-622.
Chunhong, Z., Yang, J. And Lichun, L.(2008). Bandwidth And Efficiency Of P2psip
Based Server Farm. In: International Conference On Computer Science And
Software Engineering, Csse 2008, December 12, 2008 - December 14, 2008,
2008 Wuhan, Hubei, China. Ieee Computer Society, 495-498.1171.
90
Gandhi, A., Gupta, V., Harchol-Balter, M. And Kozuch, M. A. (2010). Optimality
Analysis Of Energy-Performance Trade-Off For Server Farm Management.
In, 2010a P.O. Box 211, Amsterdam, 1000 Ae, Netherlands. Elsevier, 1155-
Gandhi, A., Harchol-Balter, M. And Adan, I. (2010b). Server Farms With Setup
Costs. Performance Evaluation, 67, 1123-1138.
Gandhi, A., Harchol-Balter, M., Das, R. And Lefurgy, C. (2009). Optimal Power
Allocation In Server Farms. In: 11th International Joint Conference On
Measurement And Modeling Of Computer Systems,
Sigmetrics/Performance'09, June 15, 2009 - June 19, 2009, 2009 Seattle, Wa,
United States. Association For Computing Machinery, 157-168.
Gang, X. And Minxia, Z. (2010). A Novel Method Of Outliers Within Data Streams
Based On Clustering Evolving Model For Detecting Intrusion Attacks Of
Unknown Type. In: Multimedia Information Networking And Security
(Mines), 2010 International Conference On, 4-6 Nov. 2010 2010. 579-583.
Gregg, D. M., Blackert, W. J., Heinbuch, D. V. And Furnanage, D. (2001). Assessing
And Quantifying Denial Of Service Attacks. In: Military Communications
Conference, 2001. Milcom 2001. Communications For Network-Centric
Operations: Creating The Information Force. Ieee, 2001 2001. 76-80 Vol.1.
Hanxun, Z., Yingyou, W. And Hong, Z. (2007). Modeling And Analysis Of Active
Benign Worms And Hybrid Benign Worms Containing The Spread Of
Worms. In: Networking, 2007. Icn '07. Sixth International Conference On,
22-28 April 2007 2007. 65-65.
Hai Huang, Y. R., Anees Shaikh, Ramani Routray, Chung-Hao Tan, Sandeep
Gopisetty (2009). Building End-To-End Management Analytics For
Enterprise Data Centers. Ieee Std 802.11a-1999.
Heo, J., Jayachandran, P., Shin, I., Wang, D., Abdelzaher, T. And Liu, X. (2011).
Optituner: On Performance Composition And Server Farm Energy
Minimization Application. Ieee Transactions On Parallel And Distributed
Systems, 22, 1871-1878.
Hofmann, S., Louizi, M. And Stoll, D. (2008). A Novel Approach To Identify
Denial-Of-Service Attacks Against Transport Network Resources. Photonic
Networks, 2008 Itg Symposium On, 1-8.
Hortos, W. S. (2010). Neural Methods Based On Modified Reputation Rules For
Detection And Identification Of Intrusion Attacks In Wireless Ad Hoc Sensor
91
Networks. In: Evolutionary And Bio-Inspired Computation: Theory And
Applications Iv, April 7, 2010 - April 8, 2010, 2010 Orlando, Fl, United
States. Spie, The Society Of Photo-Optical Instrumentation Engineers (Spie).
Jayasinghe, M., Tari, Z., Zeephongsekul, P. And Zomaya, A. Y. (2011). Task
Assignment In Multiple Server Farms Using Preemptive Migration And Flow
Control. Journal Of Parallel And Distributed Computing, 71, 1608-1621.
Jayram, T. S., Kimbrel, T., Krauthgamer, R., Schieber, B. And Sviridenko, M.
(2011). Online Server Allocation In A Server Farm Via Benefit Task
Systems. In: 33rd Annual Acm Symposium On Theory Of Computing, July
6, 2001 - July 8, 2001, 2001 Creta, Greece. Association For Computing
Machinery, 540-549.
Jin, H., Henriksson, D., Xue, L. And Abdelzaher, T. (2007). Integrating Adaptive
Components: An Emerging Challenge In Performance-Adaptive Systems
And A Server Farm Case-Study. In: Real-Time Systems Symposium, 2007.
Rtss 2007. 28th Ieee International, 3-6 Dec. 2007 2007. 227-238.
Krishnamoorthy, S. And Dasgupta, P. (2004). Tackling Congestion To Address
Distributed Denial Of Service: A Push-Forward Mechanism. In: Global
Telecommunications Conference, 2004. Globecom '04. Ieee, 29 Nov.-3 Dec.
2004 2004. 2055-2060 Vol.4.
Kundu, A., Banerjee, C., Guha, S. K., Mitra, A., Chakraborty, S., Pal, C. And Roy,
R. (2010). Memory Utilization In Cloud Computing Using Transparency. In:
Computer Sciences And Convergence Information Technology (Iccit), 2010
5th International Conference On, Nov. 30 2010-Dec. 2 2010 2010. 22-27.
Li, C., Zhang, C., Yaowang And Yangji. (2008). Reliable And Scalable Dht-Based
Sip Server Farm. In: 2008 Ieee Global Telecommunications Conference,
Globecom 2008, November 30, 2008 - December 4, 2008, 2008 New
Orleans, La, United States. Institute Of Electrical And Electronics Engineers
Inc., 1762-1767.
Li, L., Zhang, C., Mi, W., Zhang, Y., Ma, T., Ji, Y. And Qiu, X. (2009). Sfdht: A Dht
Designed For Server Farm. In: 2009 Ieee Global Telecommunications
Conference, Globecom 2009, November 30, 2009 - December 4, 2009, 2009
Honolulu, Hi, United States. Institute Of Electrical And Electronics
Engineers Inc.
92
Liedtke, J., Islam, N. And Jaeger, T. (1997). Preventing Denial-Of-Service Attacks
On A Μ-Kernel For Weboses. In: Operating Systems, 1997., The Sixth
Workshop On Hot Topics In, 5-6 May 1997 1997. 73-79.
Ling, T. And Zahir, T. (2002). Dynamic Task Assignment In Server Farms: Better
Performance By Task Grouping. In: Computers And Communications, 2002.
Proceedings. Iscc 2002. Seventh International Symposium On, 2002 2002.
175-180.
Luo, M.-Y., Yang, C.-S. And Tseng, C.-W. (2002). Content Management On Server
Farm With Layer-7 Routing. In: Applied Computing 2002: Proceeedings Of
The 2002 Acm Symposium On Applied Computing, March 11, 2002 - March
14, 2002, 2002 Madrid, Spain. Association For Computing Machinery, 1134-
1139.
Massie, M. L., Chun, B. N. And Culler, D. E. (2004). The Ganglia Distributed
Monitoring System: Design, Implementation, And Experience. Parallel
Computing, 30, 817-840.
Monit. (1998). Monit Unix Systems Management.
Http://Www.Tildeslash.Com/Monit/.
Niyato, D., Chaisiri, S. And Sung, L. B. (2009). Optimal Power Management For
Server Farm To Support Green Computing. In: 2009 9th Ieee/Acm
International Symposium On Cluster Computing And The Grid, Ccgrid 2009,
May 18, 2009 - May 21, 2009, 2009 Shanghai, China. Ieee Computer
Society, 84-91.
Ohyama, N. (1994). Usage Of Magneto-Optical Disks In Medical Information Filing
System. Magnetics In Japan, Ieee Translation Journal On, 9, 104-110.
Patterson, E. A. A. D. (1997). Extensible, Scalable Monitoring For Clusters Of
Computers. Http://Now.Cs.Berkeley.Edu/Sysadmin/Esm/Intro.Html.
Ramamoorthy, C. V. And Wah, B. W. (1981). The Degradation In Memory
Utilization Due To Dependencies. Computers, Ieee Transactions On, C-30,
813-818.
Saboori, E., Mohammadi, S. And Parsazad, S. (2010). A New Scheduling Algorithm
For Server Farms Load Balancing. In: Industrial And Information Systems
(Iis), 2010 2nd International Conference On, 10-11 July 2010 2010. 417-420.
Snyder, J. (2008). Virtual Machines, Networking Security,And The Data Center: Six
Key Issues And Remediation Strategies. Part Number: 200286-002 Oct 2008.
93
Systems, C. (2006). Server Farm Security In The Business Ready Data Center
Architecture V2.1. 170 West Tasman Drive San Jose, Ca 95134-1706 Usa
Http://Www.Cisco.Com, Ol-9015-01 November 2006.
Xiaorui, W., Xing, F., Xue, L. And Zonghua, G. (2009). Power-Aware Cpu
Utilization Control For Distributed Real-Time Systems. In: Real-Time And
Embedded Technology And Applications Symposium, 2009. Rtas 2009. 15th
Ieee, 13-16 April 2009 2009. 233-242.
Xingang, Z., Yunkai, Z. And Fangwei, W. (2009). Control Strategy Based On
Worms Spread In Complex Network. In: Intelligent Information Technology
Application, 2009. Iita 2009. Third International Symposium On, 21-22 Nov.
2009 2009. 209-212.
Xiong, L., Sheng, D., Kunju, L. And Qiansheng, L. (2010). Multi-Agent-Based
Battlefield Reconnaissance Simulation By Novel Task Decompositionand
Allocation. In: Computer Science And Education (Iccse), 2010 5th
International Conference On, 24-27 Aug. 2010 2010. 1410-1414.
Xiuzhen, C., Shenghong, L., Jin, M. And Jianhua, L. (2011). Quantitative Threat
Assessment Of Denial Of Service Attacks On Service Availability. In:
Computer Science And Automation Engineering (Csae), 2011 Ieee
International Conference On, 10-12 June 2011 2011. 220-224.
Yuanyuan, Y., Shengfeng, Q. And Holland, R. (2008). Development Of A Project
Level Performance Measurement Model For Improving Collaborative Design
Team Work. In: Computer Supported Cooperative Work In Design, 2008.
Cscwd 2008. 12th International Conference On, 16-18 April 2008 2008. 135-
140.
Zhang, Y., Zhang, C., Ji, Y. And Mi, W. (2010). A Novel Load Balancing Scheme
For Dht-Based Server Farm. In: 2010 3rd Ieee International Conference On
Broadband Network And Multimedia Technology, Ic-Bnmt2010, October 26,
2010 - October 28, 2010, 2010 Beijing, China. Ieee Computer Society, 980-
984.