Virtualization and cloud computing monitoring
Virtualization and cloud computing monitoring OpenOffice/PDF Version 1º Edition, 14 February 2011 Artica Soluciones Tecnológicas 2005 2011
1 MONITORING AMAZON EC2 CLOUD WITH PANDORA FMS Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web scale computing easier for developers. Pandora FMS has a specific plugin for cloud monitoring. It can monitor the Amazon Elastic Compute Cloud alongside traditional data center's Web applications. In general, there are two ways of monitoring an IT system: from the inside, and from outside. From inside you will need an agent which runs on top your operating system. This is how Pandora FMS "traditionally" works. This allows you to define what, when, and how you want to get the information you need. Pandora FMS agents supports all operating systems and a very low profile impact on the server compared with other monitoring tools. From outside you will have several ways to monitor your application, but in this context, and we are talking about web application you will want a metric to measure the "speed" and other metric to measure if works or not. We call this Synthetic Web Monitoring, that's a transactional monitoring: to get the third page, you first to enter credententials in the first page, select an option on the second page, to finally, reach the third page and compare the page output with the output you expect to be there. This a web transaction, and you get total time for the whole transaction and the transaction complete success. Either, you can monitor EC2 from outside using the specific Plugin for Amazon EC2 monitoring, this return some interesting values about the infraestructure, like Network, Memory and CPU usage, and of course, if the instance is UP. 1.1. EC2 Plugin for Pandora FMS Page 3
This specific monitoring uses CloudWatch API to monitor your instances in Amazon EC2 service. You need to have activated the cloudwatch enabled in your instance, as shown above. The main idea of this remote server plugin is to get information from your instances using the network plugin server, that means you will need to register the plugin in the server, and make different modules to grab the information of your EC2 servers. You can get information from the Disk, Network, CPU usage in the EC2 cloud, and also get information from the Virtualized volumes. 2 MONITORING VIRTUALIZATION INTRAESTRUCTURE. VMWare, VirtualBox, XEN, KVM and others... The context is very similar to previous one, except here you can get a lot of information on the virtualization infraestructure itself: VM they are running, performance of the infraesctructure, status of the VM, etc. Of course, you can always put an agent INSIDE the VM and get the information of the VM from "the inside", and get a extenal view using remote monitoring, not only by doing a WEB Transactional checking, you can use SNMP, WMI, TCP checks or other remote checks. Pandora FMS has an specific plugin (enteprise) to monitor VMWare 4.x infraestructure, directly by grabbing the information of the infraestructure from the Virtual Center. It detects new VM, and collect interesting information from them: all, out of the box, easy to use, and integrated as alwayswith the other information collected by Pandora FMS. Page 4
2.1. VmWare Enterprise plugin With Pandora FMS, it is possible to monitor virtualized environments with VMWare through one plugin, which is specifically created to extract information from the VMWare vcenter. Pandora FMS is able to extract both from the ESXi servers and from the virtual systems that are located in them. Through this plugin, it is possible to get information like: free disk percentage, CPU usage and RAM memory, information about network interfaces, uptime, alert status, and more... 2.1.1. WMware Architecture to Monitor With this system, it's possible to monitor architectures as the one that is shown in the following sketch: It is possible to see that in the sketch we can have so many ESXi servers as we need, and also, in ech ESXi server we can have as many virtual machines as we need. Also, it will be necessary to have a vcenter Server server, so it is the one that centralizes all the resources and send the data through datacenters. 2.2. Monitoring with VMware Monitoring Plugin The Environment Monitoring with WMvare is based on two things: 1. One recon task that is able to extract the ESXi host and the virtual machines that are availables through the VMWare vcenter. 1. One plugin that gets the information to monitor as modules for each ESXi and virtual machine that has found in the recon task. With this system we get a remote agent for any ESXi host or virtual machine found. This will allow Page 5
us to manage them as independent things, not matter the links that are between them in the virtualizing architecture. And also, each agent will have the corresponding modules for its monitoring depending on if it would be ESXi or virtual machine. 2.3. VMware Virtual Architecture Agent Modules 2.3.1. Modules for agents kind Virtual Machine Boot Time: Last date where the virtual machine was booted. Connection State: Connection state. Consumed Overhead Memory: Memory consumed by the virtual machine in MB. CPU Allocation: Information about the resources assigned to the virtual machine CPU. Disk Free: Virtual Machine Free Disk Percentage. (It will be one module for each disk that that the virtual machine contains). Guest State: Host operative system operating way Host Info: Information about the VMware host. Host Alive: Module kind Keep Alive that is 1 if the virtual machine is on execution and 0 otherwise. Host Memory Usage: Consumed memory by the virtual machine in MB. Host Name: Name of the Host Operative system. IP Address: System IP address (It will show one per network interface available). MAC Address: System MAC address It will show one per network interface available). Max CPU Usage: Maximum limit of the virtual machine CPU usage. Max Memory Usage: Maximum limit of the virtual machine RAM Memory. Memory Allocation: Limit of the resources for the memory. Memory Overhead: Memory used by the virtual machine above the requirements of the host operative system in Bytes. Overall CPU Demand: Basic statistics on the CPU performance in Mhz Overall CPU Usage: Basic statistics on the CPU usage in Mhz. Power State: Current state of the virtual machine power. Private Memory: Memory in MB that is given to the virtual machine of the non shared memory. Shared Memory: Memory in Mb that is given to the virtual machine of the shared memory. Tools Running Status: Current state of the VMWare Tools execution installed in the host operative system. Triggered Alarm State: State of the VMware alarms. Uptime Seconds: Virtual machine Uptime in seconds. Virtual Image Path:Virtual machine configuration file path(.vmx). Page 6
Modules for Agents kind host ESXi Boot Time: Last time the host was booted. CPU Info: CPU general information ( it's created one module per each ESXi CPU). Datastore Info: Datastore general info ( it's created one per each datastore that is availabel in the ESXi). Memory Size: Total amount of the host physical memory in Bytes. Overall CPU Usage: Addition of the use of all CPUs in Mhz. Overall Memory Usage: Physical memory used in the host in MB. Power State: State of the host power. SSL Thumbprint: host SSL print. Uptime: Host Uptime in seconds. VNIC Info: Information about the host virtual network interfaces. Page 7