Monitoring IT Infra with Prometheus and Grafana – Part 1

Recently in pursuit of Open Source solution to monitor a stack of Jenkins and Team City nodes, I got chance to explore Prometheus and Grafana, which brought back all the fun, I used to have with CentOS and Open Source. That prompted me to write a step-by-step guide about setting up one.

Roughly 12 years back, I wrote a blog about Zabbix Monitoring when I was managing couple of data centres of a BPO in Delhi. In those days, I worked over a number of solutions over CentOS but later on in career,  I got more engaged in Windows side of world. Microsoft Azure, O365 and more so Windows PowerShell and lost touch with such Open Source solutions for monitoring. But what better to resume the touch than Prometheus and Grafana.

Windows Dashboard

Let’s go through introduction first, what is Prometheus? Some sci-fi movie title?

Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud to meet requirements like a multi-dimensional data model, operational simplicity, scalable data collection, and a powerful query language, all in a single tool. The project was open-source from the beginning and began to be used by Boxever and Docker users as well, despite not being explicitly announced. Prometheus was inspired by the monitoring tool Borgmon used at Google. In May 2016, the Cloud Native Computing Foundation accepted Prometheus as its second incubated project, after Kubernetes. The blog post announcing this stated that the tool was in use at many companies including DigitalOcean, Ericsson, CoreOS, Weaveworks, Red Hat, and Google.

Second incubated project after Kubernetes? Impressive, no?

What about Grafana?

Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. A licensed Grafana Enterprise version with additional capabilities is also available as a self-hosted installation or an account on the Grafana Labs cloud service. It is expandable through a plug-in system. End users can create complex monitoring dashboards using interactive query builders. Grafana is divided into a front end and back end, written in TypeScript and Go, respectively.

As a visualization tool, Grafana is a popular component in monitoring stacks, often used in combination with time series databases such as InfluxDB, Prometheus and Graphite; monitoring platforms such as Sensu, Icinga, Checkmk, Zabbix, Netdata, and PRTG; SIEMs such as Elasticsearch and Splunk; and other data sources.

Ok enough of introduction, let’s begin with steps to setup one. Continue reading “Monitoring IT Infra with Prometheus and Grafana – Part 1”

Advertisement

System Administration-Some simplest scripts for daily tasks

[tweetmeme source=”mrnitishkumar” only_single=”false”]

Its been really a while when I last wrote over System administration, my office job. Might be the reason that you don’t find it enough interesting to write on, if things are not changing much. But let me say it..if we think the small things around us are boring and complicated, then its because we are not thinking about them.

Technology is not a panacea, technology is not some magic, but sure could be magical, if we apply it for solving our cause in intuitive ways. As a popular brand says Its what we do with it.

I am listing some of the simplest troubling tasks on System administration and easiest understandable solutions on them via scripts. Note that all the solutions are just raw and sure better implementations could be found, but its just to push your imagination and then share the same with whole world.

Task 1: Monitoring network connection of some server or some link on hourly/30mins basis and log it too.
Task 2: Taking system state backup of servers on Daily/ Weekly basis.
Task 3: Taking event logs backup of servers on Daily/ Weekly basis.


Task 1: Monitoring network connection of some server or some link on hourly/30mins basis and log it too.
Such scenarios are most common. You will asked to monitor some link on regular basis and obvious way to do the same is ping the same server. But in messy environments like sys admin usually get, its not possible for someone to sit in front of screen and MS DOS windows do not allow to check history of long back. What if one wanted to know that in whole day, when the link went down or might be some alert right then?

Yes there are softwares for doing the same, but why can’t you yourself think a simple solution? Check the script below..

echo off
set Today=%date:~6,4%%date:~0,2%%date:~3,2%
set Period=%time:~6,4%%time:~0,2%%time:~3,2%
mkdir \\172.16.72.72\share\%Today%
sc.exe config "Messenger" start= auto
net start Messenger
echo The time at which the check was done: %time% >>\\172.16.72.72\share\%Today%\log.txt
Ping -n 2 172.16.66.66 | find "Reply" >>\\172.16.72.72\share\%Today%\log.txt
if errorlevel 1 net send 172.16.100.100 failed %time%

Your PC IP here: 172.16.100.100
Monitored IP here: 172.16.66.66
Share location: \\172.16.72.72\share

You just need to save this as a batch file and then put it in Windows scheduled tasks to run in each 10 mins or 20 mins to take the status. It will create date wise folders in any given share location (each new day, a new folder with name like ddmmyyyy) and also will pop up a message on your system (172.16.100.100) via net send in case of failure. Logs will be created in a text file named log.txt, one in each of the date folder accordingly.

Note: you need to change the date/time format of system as DDMMYYYY otherwise, it will create the folders with weird names.


Task 2: Taking system state backup of servers on Daily/ Weekly basis

Yeah you will say that system state backup method doesn’t work most of the time in expected way, but that’s the case due to un-equal hardware configurations most of the time. Best practices always ask you for taking system state backup time to time.

In real world, we usually miss or ignore the task, which were never productive for us, so better scheduling the same via Windows scheduled tasks and your custom script.

REM – Create Date and Time strings
set Today=%date:~6,4%%date:~0,2%%date:~3,2%
net use X: /delete
net use x: \\172.16.72.72\share
mkdir x:\%Today%
ntbackup backup systemstate /f x:\%Today%\AD.bkf
cd C:\Program Files\Windows Resource Kits\Tools
compress -Z x:\%Today%\AD.bkf x:\%Today%\AD.ZIP
del x:\%Today%\AD.bkf

Share location: \\172.16.72.72\share

Like the last one, you just need to save the above as a batch file and put it in Windows scheduled task to run on weekly or daily basis (as your situations permit). Obviously the share location must be accessible\writeable and the script has to be placed in scheduled task of the same server, you want to backup. There should be sufficient disk space in the share to accommodate your needs. One day backup may be around 1-2 Gbs and after compressing (which the script does in last three lines) that will go sufficiently lesser. For using later on, you will be needed to expand the backup from compressed file via expand command in similar way.

Note:
1. you need to change the date/time format of system as DDMMYYYY
2. You need to install Windows Resource Toolkit in the same server for the compress tool.


Task 3: Taking event logs backup of servers on Daily/ Weekly basis

Well going through event logs might be irritating sometimes as Windows many times just skip to provide the info, we might be looking for. But as a compliance thing for Audit reviews or for security reasons, you always wishes to keep the logs for the longest period possible. So, what about backing up them on daily basis and removing them from the server?

The below is the VB script that I got from some forum.

Dim DestServer
‘ Put in the UNC path for where you want the logs to be stored
DestServer = \\172.16.72.72\share\

‘Create the Time variables
sDate=Right("0" & Month(Date),2) _
& "-" & Right("0" & Day(Date),2) _
& "-" & Right(Year(Date),2)

sTime = DatePart("h", Now) & DatePart("n", Now)

set oFSO = CreateObject("Scripting.FileSystemObject")

‘If correct folder doesn’t exist, make it
if Not oFSO.FolderExists(DestServer & sDate) then
   set oFolder = oFSO.CreateFolder(DestServer & sDate )
end if

‘Gets the log files for this machine
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate, (Backup, Security)}!\\" _
        & strComputer & "\root\cimv2")

Set colLogFiles = objWMIService.ExecQuery _
    ("Select * from Win32_NTEventLogFile")

‘This section goes out and gets the hostname this is run on for us.

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)

For Each objItem in colItems
  strHOSTNAME = objItem.Name
NEXT

‘Now archive the logs and clear them
if oFSO.FolderExists(DestServer & sDate) then
  For Each objLogfile in colLogFiles
    strBackupLog = objLogFile.BackupEventLog _
        (DestServer & sDate & "\"  & strHOSTNAME & "_" & objLogFile.LogFileName & "_" & sDate & "_" & sTime & ".evt")
    objLogFile.ClearEventLog()
  Next
end if

Share location: \\172.16.72.72\share

This time, its not a batch file like last two tasks and you have to save the above text as a .vbs file and then same routine.. put in Windows scheduled tasks. Note that security logs might be huge like some 800 mb – 1GB, so slow down the servers up to almost non-responsive state for a few mins sometime. I have not found any work around over the same yet, but till now, its safe to run the same in a time, where the servers are not in full production.

Note: you need to change the date/time format of system as DDMMYYYY.


Just thought to post the same scripts here, so that other might be benefitted and also to bring awareness that Windows scripts are not something to be completely ignored or to be thought as geeky stuff only. Hope others also will share few of such tricks with me.

Keep tuned in and drop a few words please.

Now you could download the app for this blog on your Nokia (Symbian5) via  this link or widget via this link.

Digg This

Zabbix Monitoring-Simplest becomes more simpler

[tweetmeme source=”mrnitishkumar” only_single=”false”]

Add to Google Buzz

Remember that IT guy from the movie “Hello” based on Chetan’s One Night @ Call Center? So many USBs hanging around neck, some screw drivers in the pocket, some wires here and there … and don’t know what else. A funny sight to laugh about, but little does you realize that life of us, we ‘IT guys’ somewhat really become the same.

Month by month reduced manpower and day by day getting complex infrastructure really make we IT people, (even if equipped with most powerful and expensive hardware on our side) running every moment of each day. Even sometimes, we find ourselves fed up of our own jobs and issues popping around from all over, try to come up with new energy at every next day and tired at the end of day thinking that will ever we going to get some productive time to block issues before rising rather than facing issues which most of the time arise due to the fact that even after knowing rules, we can’t keep an eye over each and everything by own.

Monitoring solutions do the job for you. You know that problems come due to grown logs, low disk spaces or any such parameter, which could be monitored easily if individual, but monitoring all at one place is what these monitoring solutions are all about.


I already have recommended Zabbix as complete monitoring solution and even wrote a dummies manual about deployment of the same on your Windows/ Linux workstations and Servers. Once I even been complaining about the complexity and confusions around simple yet very complex in nature Zabbix Solution.

Genuinely, having a cool product in your hands solve many things, but it frustrates you a lot, when you get lots of questions hitting your mind and no authentic solution over the same other than random answers in forums or hit-n-trial experiences of other users. You wanted to have command over what’s going on in your infrastructure and you not confident about the product itself?

After receiving and reading the Packt Publications book over Zabbix written by Rihards Olups, I really feel getting the same confidence I always wished for. The book really clears around tiny details of Zabbix. As I promised in my last introduction post about the book, allow me to share detailed summery about the book now…


Zabbix 1.8 Network Monitoring
Language :
English
Paperback : 428 pages [ 235mm x 191mm ]
Release Date : March 2010
ISBN : 184719768X
ISBN 13 : 978-1-847197-68-9
Author(s) : Rihards Olups

428 pages are like nothing, when you talk about something that covers really a lot, but the step by step and Layman’s approach make each of the page of real worth.

Chapter 1: Getting Started with Zabbix

This chapter covers almost all what in first place, you may come to know after installing not one, but a few Zabbix servers. It starts from what Zabbix is, what are the features, how it will look like and then how to install and configure. Yes!! even the first chapter leaves you with completed installation and web frontend with brief explanation of each step and command you went through while installation.

Chapter 2: Getting your first notification

Zabbix is much bigger thing than just the installation. by looking at the default provided graphs and monitored data of the server itself already gives you an idea that what Zabbix is going to do for you, but knowing the details like creating a host, items to monitor, defining triggers, email notifications, creating actions etc are what concerns this chapter. It explains in details that how we can monitor some particular element of consideration in Zabbix terms.

An experienced learner could gather the details at his own pace, but having the correct manual about each and everything makes your life easier about the product and enables you to concentrate more on your scenario itself.

By the way, this chapter could be downloaded as sample chapter from here

Chapter 3: Monitoring with Zabbix Agents and Basic Protocols

Zabbix usages client-server way to bring the most from the monitored host. You are needed to install Agents on client side (already discussed in earlier chapter). This chapter deals with more finer elements of Zabbix Agents and show the way to use them all over the Zabbix frontend.

Chapter 4: Monitoring SNMP and IPMI Devices

Once I mentioned that it requires installation on client side, few of you might have started to think that not each device will be like that you could install something up on like your DSL, your UPS, your EPBX etc… what about that? Don’t get worried, Zabbix isn’t only for typical specialist Server Administrators, but it does the job for more complex scenario as well, where the infrastructure to be monitor includes more variety of devices.

This chapter deals with how to monitor SNMP devices and how to get along with other monitoring interfaces and real worth reading for people, who wanted to extend their capabilities/ responsibilities at another level.

Chapter 5: Managing Hosts, Users and Permissions

This chapter is about the instructions that how to behave with frontend about managing hosts, users and permissions as the name hints. It also shows that how you can create different groups for different monitoring responsibilities and in this way delegating the works and rights that might be more suiting to your environment.

Chapter 6: Acting Upon Monitored Conditions

A monitoring solution is not only about knowing whats going on, but also doing corrective measures at first place, if harmless. This chapter deals about the same like how to create triggers on specific scenarios, putting human readable constants and using scripts/ remote commands to deal with situation in first place with human intervention. One of most worthy chapter of this book.

Chapter 7: Simplifying Complex Configurations with Templates

Templates are like standards or tailor made copies for scenario and having lots of customizable ones make your life more easier. This chapter deals with various templates available with Zabbix and also how to use them.

Chapter 8: Visualizing the Data & Chapter 9: Creating Reports

These two chapters deals about the presentation part, which would be actual impression when people other than administrators go through them.

Chapter 10 to Chapter 13

These four chapters dig deeper into advanced item configurations, scenarios, later included proxy method for monitoring remote locations and database itself. Worth reading for administrators, who feel themselves comfortable with day to day tasks with Zabbix and want to go geeks with it now.

Chapter 14: Upgrading Zabbix

This chapter deals with one of the most important aspect. Zabbix is a constantly growing application and sure we find ourselves in front of another version with new features in short intervals. Knowing exactly that how to make the transitions without loosing data is what concerns this portion of the book.

Chapter 15: Taking Care of Zabbix

My experience says that even beginners should read this chapter for sure otherwise they are bound to pass through un-necessary worries like I went. Having a good thing is good, but best is to keep it good. This chapter not only talks about performance and efficiency cautions, but also give good instructions about backing up and restoring data.

 

There are two Appendix A & B after these all chapters, which deals a little with troubleshooting in a few scenarios and things like Global support through online documentations, forums, wikis, IRCs.


If you know the worth of a monitoring solution like Zabbix, then more than anything else, this book makes the place in your closest book self for any free time reading more than anything. Its not about impressing others with some tricks around Zabbix, but its about real living with it.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Zabbix 1.8 Network Monitoring Book from Packt Publishing

[tweetmeme source=”mrnitishkumar” only_single=”false”]

Buzz

Sometimes big things come in your way in unexpected manner. Happened to me when I was contacted by Sandeep Patil from Packt Publishing to take a look over their book over Zabbix. I have seen the book earlier and was already knowing that its one of the biggest book on the subject for sure. Chance of reviewing the same would be like chance of interviewing your favourite star. 🙂

This would mark my first time, when might have been requested for reviewing some book otherwise, it has happened once for movie, many times for reality shows, many times for websites or services and in recent months a few times for smart phones, but I was never on reviewing some book. I could bet you that even thinking to review a book that too a tech book was harder or may say boring for me, if it would not have been on my sweet heart Zabbix. Zabbix and Squid been my most favourite Open Source applications and these are truly a must for any IT Infrastructure. I have even wrote dummies manuals over them on my blog.

Here is the front cover of the book and if you click over the same, then it would take you to the site itself with the details/ pricing etc of the book. Just taken a sneak peak till now, but I could assure you that its definitely worth taking a look for anyone managing small or big Network Infrastructure.

booka 


I have written a couple of posts over Zabbix and deployed it in a few scenario in current job as well as test environment at my home, but definitely that doesn’t stand for a chance to get compared in anyway against the author, Rihards Olups, who had straight nine years experience with Zabbix (since first releases). Recently he joined Zabbix SIA and the gained internal knowledge reflects in the book.

This book really fills up the vacuum about Zabbix related books and will really help people, who find it hard enough to deploy confusing NagiOS and then integrating it with other reporting solutions. Even I struggled a lot with countless customizations and template tricks in last many months and always cried if there was a better manual than forums only.


Consisting of 428 pages and 15 chapters, the book not only covers the installation, frontend customizations and extensive configuration instructions, but also includes well worth mentioning chapters over upgrading, maintenance and troubleshooting instructions. The book goes through command-by-command, example-by-example and scenario-by-scenario, not only that but it also includes very useful sources for templates/ rules etc. It really makes the simple yet powerful application experience more wonderful than ever.

As about the structure of the book, then it seems to be really compact and very much to the point (that’s what matter most for any book) along with the same it also impressed me with the way of putting thoughts. Take a look over one example that I got to read, when was just taking a look over introductory lines around backing up Zabbix …

Real men make no backups
And use RAID 0, right? Still, most do make backups, and for a good reason. It is a lucky person who creates backups daily and never needs one, and it is a very unfortunate person who needs a backup when one has not been created, so we will look at the basic requirements for backing up Zabbix.

I’ll take my time to go though the whole of the book and will be back soon with some more thoughts over the book. Meanwhile I want to take this place to thank Sandeep for providing me this licensed electronic review copy to me with personalized footer as given below

footer

Be tuned … will wait for your comments ….

 

Digg This

Zabbix: Really frustrating me now

I wrote about Zabbix Installation for Layman sometimes back and really recommended itzabbix1_thumb_thumb for all system administrators out there, due to its simplicity, flexibility and promising nature about lots of aspects.

But now days, look like myself in deep troubles with the same. I am getting strange kind of problems with well established setups of Zabbix, when no one has altered any kind of configuration that is really very very strange. May be my knowledge about this product is lesser; may be reason is just that I am unable to find any proper book over it; may be the manual itself is one of worse, one could come across. Reason might be any of them or all of them, but its getting really unstable for me. It works perfectly after installation for sometime, but gets unstable soon as data grows. I am just finding one different thing in my environment that our servers run 9 AM-9PM, not 24 hours, but this should be the reason for any standard product. Or it might be something happened behind my back, when I was on leave for 3-4 days. Whatever the reasons might be, I am not able to trace it until now.


Listing here some of the issues I am facing with it, which are yet unexplained/ unresolved:



Problem 1: High Dependency on Local Time :- The first problem, I faced with Zabbix was, its going completely out of tune if somehow local time of the server get altered by any means. I tried even network time, but just of no use. You are left to pray about this only. Its been an issue since long and I have seen warnings about it manuals and books.

I really think that it should have been fixed till now (means some kind of automatic handling or making server time synced with clients etc). If you were offering this solution to corporate as along this ‘bug’ makes it completely unreliable.


Problem 2: Broken graphs later on as Data increases :- I am really not sure about this problem, but its making me low on confidence in front of management about this product. I am getting really many strange scenarios with it. The biggest Zabbix Server of mine was taking care of around 25-30 servers and this was going awry again and again. Like I am getting data in latest data tab correctly, I am getting data in 4 hours and 8 hours graphs correctly, but getting no graphs in 1 hour and 2 hours graphs, while its showing data but no lines on graph.

Searching through forums say that it might due to much data in MySQL tables and MySQL might be needed to be retuned. But I don’t think that such an application would not be able to handle a mere 2 dozen servers for even straight 7 days. No disk space issue (100 GB free), No Memory Issue (1 GB RAM), processor is Core 2 Duo, have enabled house cleanup, have increased the memory limits, but still….


Problem 3: No support as I am unable to find any person, who knows this software a bit more. Look like most of the people using more worse NagiOS only. Professionals require contract for support and forums are not that useful as its not a simple piece of application and problems are of diverse nature… literally too many. Logs are confusing and most of the time not that much info even on setting it on debug mode.



My aim of this post is not to criticize Zabbix itself here, but its support is really poor and many things not that explained in forums and manuals. Much hard to find anyone, who knows it through.

Currently looking for someone, who might be dealing with Zabbix in his environment and could offer help out of the way. I want to invite all who know a thing or two about Zabbix to share the knowledge with me and same will be with myself.

photo of Nitish KumarNitish Kumar

ATS Services Pvt. Ltd.
+91-11-66500050

Making Zabbix Monitoring Server from Scratch: The Dummies Manual

[tweetmeme source=”mrnitishkumar” only_single=”false”]

Update: Wrote this post long back.. just was meant to show that how easy it could be…many things needs to be Add to Google Buzzupdated in reference to new features and UI.. will update soon. Recently I received a book over Zabbix from Packt Publicing. Amazing book and probably the only available for the same. Worth buying….

“ How we system administrators work in case of any trouble? If something goes down or anything wrong would have happened and we get asked about how it happened? We just run into logs or try to guess what would have been happened, was it high CPU, low disk space or tremendous network traffic? Sometimes we get our answers, sometime not and we keep on saying ourselves that we can’t be everywhere to monitor each and everything all the time. But it’s the time to update yourself and get optimized. I went through a few of monitoring solutions and with their pros and cons, finally I got settled with the Open Source Solution developed by Zabbix SIA. ”

 

What is Zabbix? Before the configuration and installation part, I am starting with a little history.zabbix1_thumb Zabbix is a network management system application created by Alexei Vladishev in 1998 (public release in 2001) to monitor and track the status of various network services, servers, and other network hardware. Zabbix uses MySQL, PostgreSQL, SQLite or Oracle to store data. Its backend is written in C and the web frontend is written in PHP and javascript.

Zabbix offers several monitoring options. Simple checks can verify the availability and responsiveness of standard services such as SMTP or HTTP without installing any software on the monitored host. A Zabbix agent can also be installed on UNIX and Windows hosts to monitor statistics such as CPU load, network utilization, disk space, etc. As an alternative to installing an agent on hosts, Zabbix includes support for monitoring via SNMP, TCP and ICMP checks, IPMI and custom parameters. Zabbix supports a variety of real-time notification mechanisms, including XMPP.


Installation and Configuration to monitor Windows\ Linux Servers:

Although I tried and found it extremely efficient , but even then I didn’t went along with the wonderful easy install procedure made by Brendon Baumgartner, not due to some fault in that one, but due to inherent problems with I guess not stable yet latest version of zabbix. But I sure be waiting for BB to write other magic scripts in the same way to make things one Enter only.

Here comes the way, I followed to install zabbix in manual way over the servers.

Step by Step Implementations with details:

Base machine: As for most of Linux Development I choose, even here I am choosing CentOS as the base system to build the solution upon. One should go for at least CentOS 5.x as there are a few options not available with older CentOS 4.x. As per recommendation for CentOS, machine should have at least 512 MB RAM and decent processor, LAN card etc. and although not kind of requirement but the machine should has ample space in it to store logs for as many days.

As usually I do, installation was customized with 1GB swap, 200 MB of boot partition, all PHP/ MySQL related packages checked, all libraries checked, SendMail package checked. In next, as the installation will pull updates, packages from internet directly, so Ethernet configurations should be ready and internet should be working fine over the same machine. Also note that it would be around 27-28 mb download size in total while installation.

Pre-requisites for the installation:

First of all, we need to finish installation/ update of all required packages in reference with zabbix installation.

yum install httpd php mysql mysql-server mysql-devel php-gd php-mysql php-bcmath gcc net-snmp net-snmp-libs net-snmp-utils net-snmp-devel curl-devel

Once finished with this, one need to check whether the crucial components are configured to start with the system and are working well.

# service httpd start
# chkconfig –add httpd
# chkconfig httpd on
# service mysqld start
# chkconfig –add mysqld
# chkconfig mysqld on

Possible issues and resolutions first:

Need to check whether things are working fine.

# mysql –u root

This should leave one to MySQL prompt, if not then need to check. In next, need to check whether httpd is working fine (Apache is properly installed and configured). Type the IP Address of the target Zabbix Installation Server in browser from some other computer, if you are able to see Apache page, then its fine otherwise you will be needed to check things like SELINUX.

How to check selinux status?

Execute the following command:

# sestatus

If its showing it enabled, then could disable it by

# setenforce 0

To permanently disabled the same, we need to do some editing in configuration file, otherwise it will be back with the next boot

# vi /etc/selinux/config

The file must look like (after setting SELINUX=disabled)

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted

Check if the browser started opening apache page after this, if yes, then we are done, otherwise should look down in /var/log/httpd/error.log for other possible reasons.

Installation and configuration steps:

Here I am assuming that you are using CentOS 5.x as base, otherwise the configurations might be altered.

# cd /usr/src
#wget
http://internap.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.5.tar.gz
# tar zxf zabbix-1.4.5.tar.gz
# cd zabbix-1.4.5
# mysql -u root
# mysql> create database zabbix;
# mysql> quit
# cat create/schema/mysql.sql | mysql -u root zabbix
# cat create/data/data.sql | mysql -u root zabbix
# cat create/data/images_mysql.sql | mysql -u root zabbix
# ./configure –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl
# make install
# mkdir /etc/zabbix
# cp misc/conf/* /etc/zabbix
# groupadd zabbix
# useradd -g zabbix zabbix
# chown zabbix:zabbix /usr/local/sbin/zabbix*
# cp misc/init.d/redhat/8.0/zabbix* /etc/init.d
# vi /etc/init.d/zabbix_agentd

change BASEDIR=/opt/zabbix to BASEDIR=/usr/local/sbin

change FULLPATH=$BASEDIR/bin/$BINARY_NAME to FULLPATH=$BASEDIR/$BINARY_NAME

# vi /etc/init.d/zabbix_server

Make the same changes as above.

# chkconfig –add zabbix_agentd
# chkconfig –add zabbix_server
# chkconfig –level 3 zabbix_server on
# chkconfig –level 3 zabbix_agentd on

Now, installing the web application….

# mkdir /var/www/html/zabbix
# cp -R frontends/php/* /var/www/html/zabbix
# chown apache:apache /var/www/html/zabbix/conf
# vi /etc/php.ini

Find resource limits section and change max_execution_time to 300

;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;;

max_execution_time = 300 ; Maximum execution time of each script, in seconds

Also make changes for date.timezone entry, it should be commented, uncomment it and set it accordingly like in case of India ..

date.timezone=ASIA/CALCUTTA

At the end, start zabbix services

# service zabbix_server start
# service zabbix_agentd start

Add zabbix ports to be listened to the configuration of services.

# vi /etc/services

And put the following two lines at the very end of the file.

zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp

Zabbix Server console installation is ready to and web installation is ready to go from here.

After finishing all the above steps, now go to url http://IP_ADDRESS/zabbix (Here IP_ADDRESS is what you have given to the server Ethernet port)

It should ask for installation steps, if you have followed my steps exactly, then it must go like next, next only. After finishing all the steps, you will get a login prompt, user name will be admin here and password is blank. After login, go to profile link and change the password to whatever suits to you. Logout and login again. Click monitoring and then go to screens in second row. You should get five screens on the same page for the zabbix server itself. One screen must be having map only. Check that rest all showing you graphs or not. If yes, then server side work is done and you are ready to move towards adding clients.

Zabbix Agent Installation over Linux Clients:

First part is to download the appropriate zabbix agent package from the official page. I assume, your clients (Servers to monitor) are updated and have kernel at least 2.6.x (If not then choose the suitable package).

# yum install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel curl-devel (Optional)
# groupadd zabbix
# useradd -g zabbix zabbix
# cd /usr/src
#wget
http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/1.8/zabbix-1.8.tar.gz/download
# tar zxvf zabbix-1.8.tar.gz
# cd zabbix-1.8
# chmod 7555 *
# ./configure -enable-agent -with-mysql -with-net-snmp -with-libcurl
# make install
# chown zabbix:zabbix /usr/local/sbin/zabbix*
# mkdir /etc/zabbix
# cp misc/conf/* /etc/zabbix
# cp misc/init.d/redhat/8.0/* /etc/init.d
# chmod +x /etc/init.d/zabbix_*

Now, Change the binary location to /usr/local/sbin

# vi /etc/init.d/zabbix_agentd

In next, make the zabbix agent point to your Zabbix Server by putting Server’s IP Address in configuration file of agent

# vi /etc/zabbix/zabbix_agentd.conf

And as final step on client side, set up the services

# chkconfig –add zabbix_agentd
# chkconfig –level 3 zabbix_agentd on
# service zabbix_agentd start

Getting the graphs from data coming from agents:

You will see that Zabbix Server itself added in the WebUI. In place of creating a new monitoring scenario, first it’s easier to copy the same entries to the newly added Linux Servers.

Go to Hosts, create a new host with the name of your agent (whatever name you choose), select group as Linux Server, then put the right IP Address and set the tab below to it on IP Address and save.

After this, go to Items, from combo box at right top, select zabbix server, it will show up items already configured for zabbix server, you need to select all the items and press copy selected items to button at the bottom and then when it will show the list of all templates and hosts configured, choose the one, you just created.

From here, you have setup items to fetch data from agent, now how to use it. Go to graphs, from right top select zabbix server and copy all the graphs to newly created server. Graphs are ready from here.

Finally, make a screen to monitor. Make a screen of 2×2 and give it the name as per your choice. Once screen created, click edit. Then configure CPU Loads, CPU Utilization, Disk Space and Network Utilization graphs for the agent, you setup and you are ready to monitor your Linux Server.

Zabbix Agent Installation over Windows Clients:

I find Windows Installation easier in first part and little bit complicated in second part. First need to download the windows agent from here

http://www.zabbix.com/downloads/1.8/zabbix_agents_1.8.win.zip

Then install it and it will ask for server IP Address, give zabbix server’s IP Address. Now, go to WebUI of Zabbix Server, Create host/items/graphs/screens in similar ways and you are ready to go.

There are many features that are there in Linux Agent but nowhere in Windows one. One workaround is to use data fetched from Windows Performance Monitor (permon.exe).

For example: Network Utilization

Go to cmd, type typeperf –qx |find “Network” >c:\network.txt

Now, check the network.txt file created in C: drive, it would be containing the exact network resource/ variable name for bytes sent and bytes received.

Now, how to call it?

Go to C:\program files\zabbix agent\zabbix_agentd.conf

Add something like following lines at the end…

PerfCounter= Server1NetIn,"\Network Interface(Intel Pro Server Adapter)\Bytes Received/sec",60
PerfCounter= Server1NetOut,"\Network Interface(Intel Pro Server Adapter)\Bytes Sent/sec",60

Note that the value placed in inverted commas is exactly the same, which you must have obtained from that network.txt file. Restart the Zabbix Service from services.msc. Now, go to Zabbix Server WebUI, create an item in target Windows Server area with any name for Network and put Server1NetIn or Server1NetOut as key. Save item and you are ready to use it in your graphs 🙂

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

A post after a while

“ You call it tough schedules or mark it as over-commitment to achieve some short term targets or consider as hurdles in changing to another flat in same area or smile on my obsession of Farmville, but yes, my blog really got a ‘long break’ considering momentum gained in last few weeks. So, today I thought to join back.”

Lots of things happened in this while, either it be personal,  professional front or like last night conversation with a new friend. Thought to spare some moments to spit out few paragraphs here.


Zabbix: Linux Based Monitoring Solution: At professional front, currently, I was working onzabbix1 designing of a basic Real Time Monitoring Solution targeting a raw and diverse infrastructure as a small step in the process of making a brand new and robust infrastructure of the next coming new year. The theme is to design a solution that I could access most of the basic aspects like CPU Utilization, Network Utilization, Disk Space for all the servers from a central point and then extending the limits slowly towards more complex features. After comparing for a while, I chosen zabbix over nagios due to its simplistic nature and convenience to pass through the knowledge structure to newbie team members of mine.

As about Linux Servers, it worked well, but many of important functions of this don’t seem to be supported with that of Windows Servers. Currently I am trying to obtain live graphs of Network Utilizations in most common terms with it, but facing the difficulty that most of the variables are not supported with the windows agent of zabbix. As of now, using Performance Monitor’s variables for workaround. Wiill come up shortly with detailed article, once finish the task, which has to be spread around a dozen domains in two offices.


Mdaemon: Email Gateway Solution: This is the other product, I was looking for exploring nowPageBanner_SecurityGateway days. The requirement was to find a low cost mail filtering solution, while we were running with third party mail provider. It was something like “I want Email id abc@example.com could send mails only to def@world.com and could receive mails only from xyz@star.com and all other things go restricted”. Having it as a purchased version would have been really nice experience, but currently running over 30 days trial versions. There is a free version as well, but will check that tomorrow, if could serve the purpose. I also tried zibra and other open source solution, but not getting the exact pitch I required. Any suggests will be a welcome.


Addiction of Farmville: Now about the other side of life, finally the last week dragged me infarmville addiction of Farmville and forced me to take visits of my Facebook account, which was literally idle since last many months. There was a kind of crazy early crowd of the same game in my office, in fact, once you start with the game in initial phase, you get tempted to talk about the same… obviously to add more and more neighbours in your farm. Funny part was to see some people being awake in nights for being ahead and so punctual about timing (even I am not exception). No wonder, farmville been the biggest reason too rise of Facebook in recent past.


Shifting to a new room: Your living place really matters a lot in life. After all that is the place, where you take a piece of rest. Even if for me like only their Computer Screen is the whole world, but still a nice room matters. Changed to the new room. Comfortable for me like lazy persons. 🙂

Although the shifting was not a tasty piece of cake, gone through some really weird hurdles around, but now more or less, things are fine. Lost one of my suit in this shifting though 😦


Interesting conversation with a new friend: It was an interesting late night conversation with Rajat, who was added in my gtalk and I was ashamed that why I am not able to remember that who is he. All of sudden, Rajat said that could he call me?

I was busy in dinner etc. and when later got engaged in call, then got to know many more things about him other than name like he is calling from UK, working for TCS, working over a telecom project of upgradation of 2G infrastructure to 3G and at last senior to me by 5 years 😉

He invited me to take a look over his group blog http://getsetgrow.org It was sure a good one and in fact I liked a few of articles like the one over BPO, Information Overload very much. On his invite, I was sure honored to be part of the group, if he wishes so.


My last experiences of joining to other blogs as co-author: My last experiences of being co-author for other blogs not been very pleasant. Although don’t remember them all, but one was some fontezer4, whose exact web address, I am unable to mention. I joined the same on their invitation to write for, but  after a few posts, I went busy for a while say for one or two months and for my greatest surprise, when I tried to login back then my account was deleted and my post were credited in name of one of those four authors. I was in real shock and decided not to join any other blog later on.

Although the decision was changed after I got requested by one blog over Indian Idol 4. As the owner was providing me Video Links of each episode in time and my job was to write articles episode by episode. It was an interesting experience as we got as high that were ranked as number 1 blog about Indian Idol on its official website and remained there for more than a week. Later on, the owner of blog suddenly gone missing. No reply over mails, no uploads of videos. I kept on write though, but later lost interest and moved back to my blog only.

Recent chance was interaction with Devilsworkshop group. Their condition was “exclusiveness”, which was obvious as they were offering full adsense value back to original author and even a price once in a month of around $150. I decided to keep identity of my blog more prior and gave up the idea.


It goes really harder to write for others as you don’t get enough time even for your own blog due to commitment toward professional and personal life. It asks for a level of awareness, one could comfortably afford only after being settled enough in his/her professional lives. I know some do very good job in balancing all these things for me job is a little tougher.

So, for now, only this much. Will be back