Today’s topic is tools for monitoring okay. So before starting today’s topic we will revise monitoring. so as we know we discussed last time also what is monitoring? Our whole devops process is divided in 8 steps, and that process is, we take data or requirements from client and then according to his requirement we will give him an app so this whole process starts from taking requirements till delivering him the app we need to monitor this whole process, why do we need to monitor? So every process has its own reasons like if I talk about coding part then if you monitor while coding then what is its benefit? You will be able to check whether everyone is coding or not, is it up to date or not? Will you be able to deliver your code before the deadline? Is everyone dedicating themselves to the project? So all these things we can monitor and check.
Now if we talk about building ,then while building we need to check whether our app is building properly or not? Is there any warning or not? Is it working properly or not ,so all these things we need to monitor while building and after that when we test it, we can find out all the vulnerabilities through monitoring okay, now after that means after delivering also you need to monitor if you have delivered app to client and after that if someone is hacking it or if someone is trying to exploit it then, you can know all these only ,when you monitor it and you can alert your client, now what is the benefit of doing this?
First while coding when we monitor our time is saved, while building if we monitor then legal issues will be less, and if we monitor after delivering it to client we are able to keep client secure and the client will be connected with our company as you know software field has become very competitive nowadays, means same type of software is sold by different companies with different names and different designs right, like if you want to do shopping then you have amazon, flipkart, snapdeal etc. or if you want taxi service then we have ola, uber, jugnoo, so we have many things available.
So if you are making any software or application which is already available in market and now if you are not monitoring it, and if you are not able to provide any service then what will happen? client will go somewhere else where he is getting more services and features, or the company is taking good care of the client so in order to maintain your customer's monitoring it is necessary.
Now in monitoring as you know devops is divided in 8 parts right, so if we want to monitor all the 8 parts then that is not possible with simple tools, so we have divided monitoring tools of devops in 4 parts, first among them is workstation monitoring, in workstation monitoring we will monitor our pc, let it be local or server and second is network monitoring in that we monitor our server’s or application’s network.
Third is application monitoring, in that we will see our application’s performance and whether it is working properly or not? And after that the last one is workflow monitoring in that we will check if coding is properly done or not and all other tasks come under workflow monitoring okay.
So let’s start with workstation monitoring, so in workstation monitoring ,as we discussed earlier in that we monitor computers it can be local or it can be server so if we want to monitor then how can we do? Tools we will see later, first we will see reason so if we are monitoring any local server or client pc then what will be its benefits? You can easily point out any vulnerability or if anyone tries to hack it and if some other issue is coming then ,if you are monitoring then, you will easily come to know apart from this also, we have many reasons for monitoring, for example if any illegal activity is taking place on your server then you will come to know or whether your application is working properly or not or if you want to know how much RAM is used in server, how much hard disk is used so all these things we can know through monitoring, so if I want to do workstation monitoring then we have lots of tools like so the most common amongst them is Prometheus, splunk, nagios and sensu and the most commonly used one is nagios and splunk.
So splunk is divided in two parts, the first one is splunk’s web interface .so if you install splunk web interface in server then after that it has agent app ,so what you have to do is you have to install all those plug ins or agent app in client’s server means the pc which you have to monitor in that you have to install splunk’s agent and if you install agent in that then it will be automatically connected with our server and it will send all the data okay.
Second is nagios, it is also quite popular, this tool is also divided in two parts ,first one is nagios core, so if you install your core on server and the remote which we have to monitor in that we will install its client version so ,if you install any client version of nagios and set it up so that it will send all the data through connection so you will be able to control it through nagios and monitor it.
So after workstation monitoring, we have network monitoring, you will do network monitoring when your service is on web right now it has many benefits, first of them is if any hacking takes place on website then you can easily catch it or if you want to know how your system was hacked then mostly people do it through network monitoring, so in this you will easily get anybody’s IP like, who all are connected, and who all have sent request and what type of request it is and how it is working? You will at least know what type response our server is giving to request and this request response you will know if you have studied html like how this works.
So tools available for network monitoring are wireshark, nagios, and icinga .So yes we can do network monitoring through nagios also means, if you have used nagios in client’s pc then what will happen? As soon as your server or client goes offline then in nagiOS that your current pc is offline and as soon as it comes online even if network issue is there when it comes online it will tell you that from this time to this time its network was gone but our pc was on and if it was shut down then it will inform you accordingly, so you can monitor the entire network through nagiOS means it will give you network details also means how many request came and how many response were given and how it has handled network’s all the request all these monitoring can be done through nagiOS.
Wireshark is a kind of temporary tool, now what does temporary tools mean? Once you install NagiOS you don’t need to monitor it once it is installed it will run in background and it will keep on creating logs, but in case of wireshark what happens is, if you want it for some time then in wireshark you need to enable or you need to start network monitoring and same thing is in Ntop also, you need to start it manually and icing is also same like nagios, you just need to make service once and after that it will work in background.
After that our third topic is application monitoring, in this what happens? We need to test our application which we have created. We need to test it on these two parameters based on its performance and its accuracy, so what is the difference between accuracy and performance? Now performance means what is the speed of your application? How fast is it completing the given task okay and what does accuracy mean? Your task has been finished quickly but the answer which we got is wrong so this will not work, so you need to check both accuracy and performance so for that we need to do application monitoring and for that we will test it in different environments, what is its benefits? If you are running your application in 2GB RAM then how is it working? And if the same application you are running in 1 GB RAM then how is it working?
Now if the environment is the same and everything else is the same but you are changing its input means someone is entering something else and some other person is entering something else then what kind of output we will get? So these edge cases means which are very complicated that also if someone wants to test then he can test it in app monitoring okay, so the tools available for app monitoring then the open source and free tool is skywalking rom apache and then we have app metrics it is also free and open source after that we have code speed okay, so app metrics will tell you all the metrics like, in performance how much RAM is being used? All the technical details like how much hard disk is used and how much time it required to work and how much time it required for loading? So all these you can see in app metrics. Last is app dynamics. You need to purchase app dynamics but it is also a good tool.
Now after application monitoring our last type is workflow monitoring. Now what happens in this ? Our whole process in devops like what is coder doing? If a coder has coded something then we build it right? So how is it building then how is it testing and how is it releasing and deploying ,so all these process needs to be monitored as well, so tools available for this are different for different tasks so, if we start from planning then while planning we can use excel sheet also okay and if we are talking about coding and testing, then for that we can use JIRA tool which is quite famous, it is used for tracking issues and you can create your own also like we have kanban, agile so we have many models which you can use for monitoring and for that you can get online free tools also so through that we monitor workflow also.
If you have any comments or questions regarding this course then click on the discussion button given below this video and post it there, and you will be able to discuss the course with learners.
Jay prashant kakade
Its a great platform to learn if u a student instead of putting your time n money out in classes n all get the knowledge as much as you can