2011 19 The Future of Cacti

Download Report

Transcript 2011 19 The Future of Cacti

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
2011
2
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
2011
3
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
2011
4
Large Installation
Considerations
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
2011
6
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
2011
7
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.
2011
8
Service Separation
What is service separation?
Cacti Components
Web Interface
Polling and RRDtool storage
Database
Any of these services can be split to another server.
Web interface needs access to RRDtool files
Network 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
2011
9
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.
2011
10
MySQL Optimization
Memory (Hash) tables
Best for Poller Output tables in Cacti
Uses 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.
2011
11
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
2011
12
Automation
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 scripts
Create, 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!
2011
14
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 define
Only 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
2011
15
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
2011
16
The State of and
Future of Cacti
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
2011
18
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)
2011
19
Cacti 1.0.0 – Teaser!
2011
Questions and
Answers