Performance Analysis and Capacity Planing



Similar documents
Maintaining Non-Stop Services with Multi Layer Monitoring

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Optimization of QoS for Cloud-Based Services through Elasticity and Network Awareness

eccharts: Behind the scenes

WHITE PAPER. ClusterWorX 2.1 from Linux NetworX. Cluster Management Solution C ONTENTS INTRODUCTION

TPAf KTl Pen source. System Monitoring. Zenoss Core 3.x Network and

Scaling Graphite Installations

ENTERPRISE-CLASS MONITORING SOLUTION FOR EVERYONE ALL-IN-ONE OPEN-SOURCE DISTRIBUTED MONITORING

Availability Management Nagios overview. TEIN2 training Bangkok September 2005

Assignment # 1 (Cloud Computing Security)

OnCommand Performance Manager 1.1

Monitoring Drupal with Sensu. John VanDyk Iowa State University DrupalCorn Iowa City August 10, 2013

Ganglia & Nagios. Maciej Lasyk 11. Sesja Linuksowa Wrocław, /25. Maciej Lasyk, Ganglia & Nagios

Open Source Monitoring

STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM

Ein Unternehmen stellt sich vor. Nagios in large environments

iphouse has chosen LogicMonitor to offer a Software as a Service (SaaS) monitoring solution.

MALAYSIAN PUBLIC SECTOR OPEN SOURCE SOFTWARE (OSS) PROGRAMME. COMPARISON REPORT ON NETWORK MONITORING SYSTEMS (Nagios and Zabbix)

Red Hat Network: Monitoring Module Overview

How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

The syslog-ng Premium Edition 5F2

Efficient Management of System Logs using a Cloud Radoslav Bodó, Daniel Kouřil CESNET. ISGC 2013, March 2013

Bernd Ahlers Michael Friedrich. Log Monitoring Simplified Get the best out of Graylog2 & Icinga 2

A SURVEY ON AUTOMATED SERVER MONITORING

Tools and strategies to monitor the ATLAS online computing farm

AGENDA: INTRODUCTION: 1. How is our cloud monitoring setup? 2. Which are the tools used? 3. How do we access monitoring dashboard?

Security Correlation Server Quick Installation Guide

Wait, How Many Metrics? Monitoring at Quantcast

Monitoring Infrastructure for Superclusters: Experiences at MareNostrum

Clusters in the Cloud

Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7. Product Application Guide October 8, 2012

SCF/FEF Evaluation of Nagios and Zabbix Monitoring Systems. Ed Simmonds and Jason Harrington 7/20/2009

Features. The Samhain HIDS. Overview of available features. Rainer Wichmann

Open Source in the Data Centre. John Ferlito Bulletproof Networks

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Architecture and Mode of Operation

Storage of Network Monitoring and Measurement Data

VPS Cloud Hosting. Call (02)

CYAN SECURE WEB APPLIANCE. User interface manual

Products, Features & Services

PANDORA FMS NETWORK DEVICES MONITORING

WhatsUp Gold v11 Features Overview

Whitepaper. Business Service monitoring approach

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

1 Data Center Infrastructure Remote Monitoring

This document will list the ManageEngine Applications Manager best practices

The Check_MK monitoring system. Open Source Days 2016, Copenhagen Speaker: Troels Arvin Slides:

PANDORA FMS NETWORK DEVICE MONITORING

Volume SYSLOG JUNCTION. User s Guide. User s Guide

The Monitis Monitoring Agent ver. 1.2

O p e n N M S. Marcin Rybacki OpenNMS

Grids & networks monitoring - practical approach

Integrated Monitoring for PostgreSQL

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

Understanding Slow Start

Introduction to Highly Available NFS Server on scale out storage systems based on GlusterFS

Monitoring of computer networks and applications using Nagios

Agenda. Capacity Planning practical view CPU Capacity Planning LPAR2RRD LPAR2RRD. Discussion. Premium features Future

Log infrastructure & Zabbix. logging tools integration

Advanced Linux System Administration Knowledge GNU/LINUX Requirements

EventSentry Overview. Part I About This Guide 1. Part II Overview 2. Part III Installation & Deployment 4. Part IV Monitoring Architecture 13

Monitoring MySQL. Presented by, MySQL & O Reilly Media, Inc. A quick overview of available tools

A recipe using an Open Source monitoring tool for performance monitoring of a SaaS application.

NETWORK MONITORING & ALERTING SERVICES SERVICE DEFINITION

McAfee Web Gateway 7.4.1

Sisense. Product Highlights.

How To Monitor Your Computer With Nagiostee.Org (Nagios)

Review Quiz 1. What is the stateful firewall that is built into Mac OS X and Mac OS X Server?

FileNet System Manager Dashboard Help

Various Load Testing Tools

CS312 Solutions #6. March 13, 2015

Monitoring Nginx Server

OnCommand Unified Manager

Required Ports and Protocols. Communication Direction Protocol and Port Purpose Enterprise Controller Port 443, then Port Port 8005

Nagios and Cloud Computing

Log management with Logstash and Elasticsearch. Matteo Dessalvi

Ubuntu Sever Administration

SOSFTP Managed File Transfer

PZVM1 Administration Guide. V1.1 February 2014 Alain Ganuchaud. Page 1/27

Accelerating Rails with

The syslog-ng Premium Edition 5LTS

MSP End User. Version 3.0. Technical Solution Guide

Automatic Configuration of Slave Nameservers (BIND only)

Network management tools: Torrus, Gerty, Mooxu

ZABBIX. An Enterprise-Class Open Source Distributed Monitoring Solution. Takanori Suzuki MIRACLE LINUX CORPORATION October 22, 2009

Monitoring Network Traffic using ntopng

Taking Drupal development to the Cloud. Karel Bemelmans

Best Practices for Deploying and Managing Linux with Red Hat Network

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Security Correlation Server Quick Installation Guide

Comprehensive Monitoring of VMware vsphere ESX & ESXi Environments

OpenSAF A Standardized HA Solution

Using Cacti To Graph MySQL s Metrics

Transcription:

Performance Analysis and Capacity Planing collectd the system statistics collection daemon Sebastian tokkee Harl <sh@teamix.net> teamix GmbH / collectd core team Libre Software Meeting 2012 July 10, 2012

teamix GmbH Solid IT-Infrastructure Location: Nuremberg, Munich, Frankfurt Open-Source Monitoring Network N-IX NetApp Juniper Riverbed VMWare Trainings collectd slide 2

collectd Overview Overview Main Features Feature Overview Extending collectd Extras collectd slide 3

collectd overview collectd collects performance data of systems some (simple) examples: CPU utilization memory utilization network traffic collectd collects and stores the performance data stored data is usually used to generate graphs performance analysis, capacity planing not to be confused with monitoring! Homepage: http://collectd.org/ collectd slide 4

Main features daemon free software (mostly GPL) portable (Linux, *BSD, Solaris,... ) scalable (OpenWrt,..., Cluster / Cloud) sophisticated network support efficient (default resolution: 10 seconds) flexible architecture modular (more than 100 plugins in Version 5.1) collectd slide 5

Main features daemon free software (mostly GPL) portable (Linux, *BSD, Solaris,... ) scalable (OpenWrt,..., Cluster / Cloud) sophisticated network support efficient (default resolution: 10 seconds) flexible architecture modular (more than 100 plugins in Version 5.1) collectd slide 5

10 seconds resolution collectd slide 6

Main features daemon free software (mostly GPL) portable (Linux, *BSD, Solaris,... ) scalable (OpenWrt,..., Cluster / Cloud) sophisticated network support efficient (default resolution: 10 seconds) flexible architecture modular (more than 100 plugins in version 5.1) collectd slide 7

available plugins (version 5.1) amqp battery cpufreq dbi entropy GenericJMX.java iptables load match hashed md Monitorus.pm network ntpd openvpn ping python sensors table target scale ted uptime vserver write redis apache bind csv df ethstat gmond ipvs logfile match regex memcachec multimeter nfs numa OpenVZ.pm postgresql redis serial tail target set thermal users wireless xmms apcups conntrack curl disk exec hddtemp irq lpar match timediff memcached mysql nginx nut oracle powerdns routeros snmp tape target v5upgrade threshold uuid write graphite zfs arc apple sensors contextswitch curl json dns filecount interface java madwifi match value memory netapp notify desktop olsrd perl processes rrdcached swap target notification tcpconns tokyotyrant varnish write http ascent cpu curl xml email fscache ipmi libvirt match empty counter mbmon modbus netlink notify email onewire pinba protocols rrdtool syslog target replace teamspeak2 unixsock vmem write mongodb collectd slide 8

collectd setup daemon collects data locally runs on every client system (exceptions: SNMP, databases, etc.) one or more central servers clients push their data to the central servers first steps: install; select plugins; start daemon; enjoy ;-) collectd slide 9

data display: Collection 4 (C4) provide collected data through JSON different frontends possible efficiently handles large amounts of data flexible configuration of graphs collectd slide 10

data display: Graphite collectd slide 11

collectd Overview Feature Overview CPU, memory, network I/O Networking Support RRDtool Support Generic Plugins (Overview) Extending collectd Extras collectd slide 12

plugin overview specialized read plugins CPU, memory, network interfaces,... IO plugins network plugin RRDtool, RRDCacheD Graphite MongoDB, Redis AMQP generic plugins SNMP tail PostgreSQL filter-chains collectd slide 13

CPU, memory, network I/O configuration synopsis LoadPlugin "cpu" LoadPlugin "memory" LoadPlugin "interface" collectd slide 14

CPU, memory, network I/O configuration synopsis LoadPlugin "cpu" LoadPlugin "memory" LoadPlugin "interface" <Plugin interface> Interface lo Interface sit0 IgnoreSelected true </Plugin> collectd slide 14

CPU, memory, network I/O collectd slide 15

CPU, memory, network I/O collectd slide 16

CPU, memory, network I/O collectd slide 17

Networking Support modes of operation send data ( client ) receive data ( server ) forward data ( proxy ) Unicast ( point-to-point ) Multicast ( point-to-group ) IPv4 and IPv6 rule them all Modes may be mixed arbitrarily. collectd slide 18

network plugin: server / client synopsis: client LoadPlugin "network" <Plugin "network"> Server "collectd0.example.com" Server "collectd1.example.com" Server "ff18::efc0:4a42" </Plugin> collectd slide 19

network plugin: server / client synopsis: server LoadPlugin "network" <Plugin "network"> Listen "collectd0.example.com" Listen "ff18::efc0:4a42" </Plugin> collectd slide 20

network plugin: proxy synopsis: proxy LoadPlugin "network" <Plugin "network"> Listen "collectgw.extern.example.com" Server "collectd1.intern.example.com" Forward true </Plugin> collectd slide 21

RRDtool plugin writes data to RRD files efficiently caching functionality now also available in RRDtool as stand-alone RRD Caching Daemon (RRDCacheD) synopsis LoadPlugin "rrdtool" <Plugin "rrdtool"> DataDir "/var/lib/collectd/rrd" </Plugin> collectd slide 22

RRDtool plugin (caching) configuration synopsis <Plugin "rrdtool"> DataDir "/var/lib/collectd/rrd" CacheTimeout 3600 CacheFlush 86400 # 1 hour # 1 day WritesPerSecond 30 </Plugin> FLUSH command allows for graphing of current values collectd slide 23

generic plugins (overview) idea: generic approaches rather than specialized solutions user configuration determines behavior new equipment does not require a new version of collectd examples: SNMP, tail, curl, DBI, PostgreSQL collectd slide 24

SNMP plugin: UPS load collectd slide 25

tail plugin: SSH brute-force attack collectd slide 26

collectd Overview Feature Overview Extending collectd UNIXSOCK interface Custom Extensions Extras collectd slide 27

custom extensions (overview) collectd API: C, Perl, Python, Java external programs may use unixsock or exec plugins collectd slide 28

interacting with collectd UNIXSOCK plugin opens a UNIX socket text and line based protocol (e. g. PUTVAL, FLUSH, LISTVAL, GETVAL) query and submit values collectd-nagios collectdctl (since version 5.0) cussh.pl: collectd UNIX socket shell collectd slide 29

UNIXSOCK plugin: example -> <<<<- GETVAL "FQDN/load/load" 3 Values found shortterm=4.000000e-02 midterm=6.000000e-02 longterm=7.000000e-02 -> PUTVAL FQDN/users/users 1341851406:42 <- 0 Success: 1 value has been dispatched. collectd slide 30

Perl plugin overview integrates a Perl interpreter (similar to Apache s mod perl) compiles Perl code only once exports internal API ( full flexibility available) also available Java and Python collectd slide 31

exec plugin overview executes arbitrary programs / scripts parses STDOUT of the program respawns process upon termination (cf. init) collectd slide 32

exec plugin: example #! /bin/bash INTVL=${COLLECTD_INTERVAL:-10} CHOST="${COLLECTD_HOSTNAME:-localhost}" IDENT="$CHOST/magic/magic_level" while sleep $INTVL do V= magic --level echo "PUTVAL \"$IDENT\" interval=$intvl date +%s :$V" done collectd slide 33

Future aggregation of arbitrary values per-plugin interval settings Nagios support (pushing information to Nagios) store data in RMDBSs... http://collectd.org/wiki/index.php/roadmap collectd slide 34

collectd Thank you for your attention! Questions? collectd slide 35

collectd Contact: Sebastian tokkee Harl teamix GmbH, Nuremberg <sh@teamix.net> <collectd@verplant.org> irc.freenode.net/#collectd http://identi.ca/collectd http://tokkee.org/events.html collectd slide 36

collectd Overview Feature Overview Extending collectd Extras SNMP plugin RRDCacheD Plugin collectd Internals Perl Plugin collectd slide 37

SNMP plugin overview queries network equipment via SNMP generic: not specialized for any particular hardware queries multiple systems in parallel configuration Data Block Host block collectd slide 38

SNMP plugin synopsis: data block <Plugin "snmp"> <Data "ifmib_if_octets64"> Type "if_octets" Table true Instance "IF-MIB::ifName" Values "IF-MIB::ifHCInOctets" \ "IF-MIB::ifHCOutOctets" </Data> </Plugin> collectd slide 39

SNMP plugin synopsis: host block <Plugin "snmp"> <Host "switch0.intern.musterfirma.de"> Address "10.0.42.2" Version 1 Community "public" Collect "ifmib_if_octets64" Interval 60 </Host> </Plugin> collectd slide 40

RRDCacheD plugin overview generalizes caching idea of the rrdtool plugin standalone daemon integrated into RRDtool (available since version 1.4) extended feature set, e. g. journal benefit: restart collectd without losing cache collectd slide 41

Suchbaum RRDCacheD plugin c Florian octo Forster graphic collectd slide 42

Suchbaum RRDCacheD plugin c Florian octo Forster graphic collectd slide 42

Thread Dateisystem Queue Update- Suchbaum Update- RRDCacheD plugin c Florian octo Forster graphic collectd slide 42

Thread Dateisystem Flush-Queue Queue Update- Suchbaum Update- RRDCacheD plugin c Florian octo Forster graphic collectd slide 42

collectd internals core: read thread() p = get next plugin(); sleep until due(p); collectd slide 43

collectd internals core: read thread() plugin1.c:read() p->callback(); collectd slide 43

collectd internals plugin1.c:read()... dispatch values(v); collectd slide 43

collectd internals core: dispatch values() plugin1.c:read()... plugin write(v);... dispatch values(v); collectd slide 43

collectd internals core: dispatch values() plugin1.c:read() plugin2.c:write()... plugin write(v);... dispatch values(v);... collectd slide 43

Perl plugin: example package Collectd::Plugin::Magic; use Collectd qw( :all ); sub magic_read { my $vl = { plugin => magic, values => [Magic->getCurrentLevel ()] }; plugin_dispatch_values ( magic_level, $vl); } plugin_register (TYPE_READ, magic, magic_read ); collectd slide 44