cacti workshop

21
Cacti Workshop Tony Roman [email protected]

Upload: elden

Post on 12-Jan-2016

77 views

Category:

Documents


5 download

DESCRIPTION

Cacti Workshop. Tony Roman. [email protected]. Agenda. What is Cacti? The Origins of Cacti Large Installation Considerations Automation The Current State of Cacti The Future of Cacti Questions and Answers. What is Cacti?. Cacti is the complete front-end for RRDtool! Written in PHP - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cacti Workshop

Cacti Workshop

Tony Roman

[email protected]

Page 2: Cacti Workshop

2011 2

Agenda

What is Cacti?

The Origins of Cacti

Large Installation Considerations

Automation

The Current State of Cacti

The Future of Cacti

Questions and Answers

Page 3: Cacti Workshop

2011 3

What is Cacti?

Cacti is the complete front-end for RRDtool!

Written in PHP

Optional C based poller (Spine)

Stores all of the necessary information to create graphs and gather data in a MySQL database.

Full SNMP support for data gathering

Ability to use custom scripts for data gathering

User community created templates for most popular devices

Page 4: Cacti Workshop

2011 4

The Origins of Cacti

Started by Ian Berry in 2001 while he was in High School

Published as a ‘free’ application on rrdtool.org website

Discovered by many while in search for a replacement for … (you name it)

Several ink-u-Berry releases and new developers through 2004

Widespread global use began after the release of 0.8.6 in the summer of 2004

Page 5: Cacti Workshop

Large Installation Considerations

Page 6: Cacti Workshop

2011 6

Hardware

CPU

The more the better!

Dependent on the number of devices and data sources being polled

More concurrent processes (polling, graph generation, web interface, etc…)

Memory

The more the better!

Increase memory to increase the OS disk cache

More memory to be allocated to MySQL

Page 7: Cacti Workshop

2011 7

Hardware

Disk I/O

The more I/O operations per second the better!

Increase memory to increase OS disk cache

Increase number of spindles in RAID configuration

Utilize RAID levels that incorporate striping (RAID 10 optimal)

Fiber channel storage area network (SAN) with appropriate raid level configuration

Solid State Drives

Fusion I/O or OCZ PCI Express non-volatile memory storage solutions

Page 8: Cacti Workshop

2011 8

Hardware

Examples of Disk I/O success

From unable to complete polling for 160,000 data sources in 5 minutes to completing in less than 1 minute by using a Fusion I/O device to store the RRDTool files.

Fusion I/O write speeds of 3.2 Gigabytes per second seen in operation on Cacti installations.

Page 9: Cacti Workshop

2011 9

Service Separation

What is service separation?

Cacti ComponentsWeb Interface

Polling and RRDtool storage

Database

Any of these services can be split to another server.

Web interface needs access to RRDtool filesNetwork File System (NFS or CIFS)

Shared LUN on SAN

Replication (Rsync can be intense because RRDtool files all change)

Disk/SAN or file system replication

Page 10: Cacti Workshop

2011 10

MySQL Optimization

MyISAM vs InnoDB

MyISAM great for small installation with minimal users

InnoDB row level locking, unlike MyISAM table level locking, allowing for more concurrent operations

InnoDB is transaction safe, meaning that data integrity is maintained throughout the entire query operation

Increase MySQL memory usage for caching and sorts.

Page 11: Cacti Workshop

2011 11

MySQL Optimization

Memory (Hash) tables

Best for Poller Output tables in CactiUses system memory which is faster than disk

Minimizes disk I/O used by database during polling

System must have the memory available to store the Hash table completely in RAM for all the data sources during a polling cycle.

Contents erased on MySQL restart or server reboot

Optimization of the poller_output.output field size to be smaller than varchar(256) if possible.

Page 12: Cacti Workshop

2011 12

Plugin Architecture and Boost Plugin

Graph image caching

On demand RRDTool file updates

Integration with Spine for direct inserts into Boost poller output table

Boost Server

Allows for independent updating of RRDtool files

Can use rrdtool-update to improve performance

Can run from another server for separation of services

Page 13: Cacti Workshop

Automation

Page 14: Cacti Workshop

2011 14

Automation with Command Line Tools

Command line tools

Limited support in current version, primarily adding devices, graph templates, permissions and users.

Future version to bring full set of scriptsCreate, delete and list devices

Create, delete and list graph trees

Create, delete and list permissions

Create, delete and list graphs

Add, remove, update and list data query associations

Upgrade the database!

Page 15: Cacti Workshop

2011 15

Automation with Plugins – Autom8

Autom8

Creates new graphs automatically when a device is added

Creates new tree elements automatically

All creation activities are based on rule you defineOnly create 64 bit counter graphs on SNMPv2 and higher capable devices

Only create graphs for interfaces that are “Up”

Triggered graph creations on:New device is added via CLI or web interface

When a re-index occurs of a data query

Page 16: Cacti Workshop

2011 16

Automation with Plugins - Discovery

Discovery

Auto discovery SNMP enabled devices on the network

Auto creations of graph (can use Autom8 for this)

Allow you to select which discovered devices you would like to graph

Page 17: Cacti Workshop

The State of and Future of Cacti

Page 18: Cacti Workshop

2011 18

Current State of Cacti

The Cacti Group is alive and well!

0.8.7h Released

Lossless re-indexing of hosts

Poller performance enhancements

Additional template import options

RRDtool 1.4.x support

Improved Spine performance

Per host parallelization support in Spine

Page 19: Cacti Workshop

2011 19

The Future of Cacti

Development of the next version

200+ commits by developers in August of this year

Internationalization support

Integrated plugin architecture

Improved installation and platform specific setup

Extended RRDtool support

Command line scripts enhancements

Updated graph presentation (AJAX)

Web 2.0 Interface (AJAX)

Page 20: Cacti Workshop

Cacti 1.0.0 – Teaser!

2011

Page 21: Cacti Workshop

Questions and Answers