Zabbix by Alexei Vladishev - FISL12 - 2011

51
FISL12 2011, Porto Alegre Zabbix Free Software that helps

description

Zabbix Presentation on FISL12 2011 in Porto Alegre, Brazil by Alexei Vladishev (Founder and CEO from Zabbix SIA)

Transcript of Zabbix by Alexei Vladishev - FISL12 - 2011

Page 1: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

ZabbixFree Software that helps

Page 2: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

About me

Name: Alexei Vladishev

Email: [email protected]

Twitter: zabbix

Home: www.zabbix.com

Author of Zabbix

Founder and CEO of Zabbix SIA, company-developer of Zabbix software located in Latvia

Page 3: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

What is my talk about?

•History of Zabbix

•What is Zabbix

• Zabbix Team

• Zabbix Philosophy and Design principles

•What’s next? Zabbix 2.0

• Looking further: Zabbix 2.x

Page 4: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

History of ZabbixOnce upon a time...

Page 5: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix timeline• Everything started with an idea of a better monitoring tool

• Zabbix 1.0alpha1: April 7th, 2001

• Zabbix 1.0: March 2004 (first stable)

• Zabbix 1.8: December 2009

• Why Zabbix?

• Software ready, but no name yet

• All cool names like “NetMon”, “SuperWatcher”, “OpenMon”, “OpenView” etc were already taken

• Google (Altavista?) returned 0 results on Zabbix

• Current state

• Zabbix 1.8.5 (stable) released on April 1st, 2011

Page 6: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Progress we've made...

10 years ago

•1-2 downloads per day

•No WEB site, no forums

•No company

•No commercial services

•Very small community

•Just one developer

Today

•500-600 downloads per day on avg

•Active community

•Company behind Zabbix

•Users around the World

•Part of nearly all distributions

•Team of developers

Page 7: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

A few Zabbix books

• Two books on Zabbix are available: in English and Japanese

• Zabbix is no longer a stranger, it’s a well known solution

Page 8: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Celebrating 10 year anniversary

•September 30 - October 1, Riga, Latvia

Page 9: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Is it a typicalOpen Source story?

• An idea of a better monitoring solution

•Was released as a free software

• A company was established for commercial services

• It is quite typical story:

•MySQL, PostgreSQL, Linux (Ubuntu, RedHat, SuSE), etc etc

Page 10: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

What is Zabbix?A project of my life...

Page 11: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

What is Zabbix?

• Zabbix - is enterprise level Open Source (GPLv2, Free!) monitoring software

• One of the most popular and complete monitoring systems

• Competes with commercial tools from HP, IBM, other vendors

• Estimated number of users is more than 30.000

• Scales up-to 100.000 of devices and 1.000.000 of checks

• Large-scale distributed monitoring

• Can monitor absolutely all platforms and devices!

Page 12: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Why monitor?Zabbix can help!

•To identify and fix problems early. Do not wait customers calling!

•To measure and analyze availability and performance

•More productive work of system administrators

•To plan hardware upgrades/restructure in advance

•To cut administrative costs by automating, no manual monitoring

Page 13: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Typical use cases•What’s current systems state? Visualization is important!

•What’s the root cause of my problem?

• I want to be warned if something happens

• A problem must be escalated after N minutes

•My system has to do something in case of a problem

• I want to have long-term information (trends) to plan hardware upgrades

• I need SLA numbers for all my services

Page 14: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix is about assuringquality of services:

availability & performance.

Page 15: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

All included!

•Possible models

• Enterprise and Community versions

• All included

Zabbix is a True Open Source, no proprietary addons, “professional” or “enterprise” versions

Page 16: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

What is Free Software?

Free. Is is not about price, it is about freedom!

•Think as free as in free speech, not as in free beer:

• Freedom to use program for any purpose

• Freedom to study how the program works

• Freedom to redistribute the software

• Freedom to improve the program and release your improvements

Page 17: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Proprietary Software?! Think twice...

• It comes with certain limitations

•No source code is available

• Contract imposed limitations (max number of devices)

• For non-commercial use only

• Technical restrictions (number of CPUs), size of data

• Be careful: any of your freedoms can be restricted for your money!

Page 18: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix TeamPeople behind Zabbix...

Page 19: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix Company• Zabbix Company was established 6 years ago

• Our team grew to 16 people

• Customers with more than 200.000 of monitored devices

• We have 4 Premium Partners (Japan, UK, Austria, Spain)

• More than 20 Partners and Resellers around the World

Page 20: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix Team: some of us

Page 21: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Free Software.How do we make a

living then?

Page 22: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

0% revenue on license fees,because Zabbix is FREE

Page 23: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Community vs Customers

•Community

• Zabbix wouldn’t be so popular without community

•Helping new users (IRC, forums, mailing lists)

•New products: ZapCat, Zabcon, mobile clients (Mozaby), and more

•Customers and partners

•Growth of our company depends on customers and partners

Both are very important to us!

Page 24: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Community and customers make

Zabbix better

Page 25: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix Philosophy...and principles

Page 26: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Our principles

•We never compare Zabbix with other Open Source monitoring software. Let users do it!

• Be driven by technology, not marketing

• Listen to our users and our community

•Our mission

•Develop an exceptional monitoring solution people can trust

Page 27: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Core design principles

• Keep things simple (KISS)

• Respect users: always think about maintenance issues

• Evolution, not revolution! No big jumps.

• Be efficient: use as few system resources as possible (memory/CPU usage)

• Aimed for very high performance

• Low number of third-party dependencies

Page 28: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Important decisions made 12 years ago

• WEB front-end

• Open and customizable

• Everything is sored in a traditional database. MySQL, PostgreSQL, Oracle, DB2, SQLite. No RRD.

• No use of threads, different processes instead

• Better quality, no locking issues

• C language for core part of Zabbix

• Best possible performance and efficient resource usage

• Ready for embedded environments

• SQLite

Page 29: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Focus on quality!• A new branch is created for each new feature or a bug fix. Done!

• Independent testing and code reviews. Done!

• Obligatory Release Candidates. Done!

• Coding standards. Done!

• PHP string freeze phases for translators. Done!

• Automated unit testing to cover most of the code. API helps! In progress.

• Zero bug policy. Not there yet...

• Release when ready

• Agile approach: Zabbix is ready to be released anytime

• Do not try to put as much features as possible

• Release in time, tested and stable

Page 30: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

So, what’s next?Zabbix 2.0!

Page 31: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Better user experience

• Refreshed design

• Improving usability of Zabbix front-end

• Review of all forms and pages

Page 32: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Better performance

• Performance is better with every release of Zabbix• In-memory cache for nearly all configuration data• More efficient Zabbix API

Page 33: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Database integrity

• Why it is important

• Consistency of data

• It help to catch all sorts of bugs at very early stage

• Drawbacks

• Lower performance

• What it is all about

• Foreign keys

• Cascade operations (deletes, updates)

Page 34: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Low level discovery

• Current situation

• Host level discovery only

• Difficult to use templates for hosts having different file systems, network interfaces, etc

• Zabbix 2.0

• Automatic discovery of network devices, file systems, processes, etc

• Discovery of SNMP interfaces and JMX counters

• One template for hosts having different resources!

Page 35: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Multiple network interfaces

•Current situation

•One IP address per monitored device

•Unable to monitor different resources on different IPs

• Zabbix 2.0

•Monitored device to support multiple IPs

•One IP: monitoring by SNMP, another: Zabbix Agent

Page 36: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

JMX remote monitoring

• Current situation

• Use of ZapCat or other 3rd party tool

• Zabbix 2.0

• Native support of secure JMX monitoring

• Discovery of JMX counters

• Monitoring of Java infrastructure: JBoss, WebLogic, WEBSphere, Tomcat

• Monitoring of Java Applications

Page 37: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Automatic collection of hardware inventory data

•Current situation

•Host inventory shouldbe manually updated

• Zabbix 2.0

•Can be automatically collected

•Manual processing as well

By camknowns, Flickr

Page 38: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Remote commands

• Remote commands based on Telnet and SSH

•Can already be scripted but not natively supported

•Will simplify automatic actions on network devices

•Remote commands based on IPMI (remote shutdowns, restarts)

• For devices having no Zabbix or SNMP agent running

Page 39: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

GNU Translation framework

• Easier contribution

• More languages

• GNU Translation framework

• Obligatory string freeze phase

Page 40: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

WHEN???I am very bad at estimating release dates...

Page 41: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

To be released when ready

Last estimate:

this summer

Page 42: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix 2.xSomething to expect soon

Page 43: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

General Directions

• Large scale distributed monitoring. Horizontal scalability.

• Easier to use & maintain & integrate (Zabbix API)

• Better separation of all parts of Zabbix. Provide APIs between all modules.

• APIs everywhere to extend Zabbix functionality

• Business level monitoring

Page 44: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix is all about monitoring.

Page 45: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix Interface

•MVC (Model-View-Controller) model for GUI

• Strict separation of logic and presentation levels

• Better scalability

• Easy to make unit tests

•Make it more user friendly

•Usable with all information interconnected

• Personalization (a user can create his own resources)

Page 46: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

NoSQL storages

• Zabbix Supports: MySQL, PostgreSQL, Oracle, DB2, SQLite

• Problem: maximum 15.000 of values per second

• Cannot scale!

• Performance drops significantly when size of historical data increases

• Solution:

• Use NoSQL storages for historical data (Cassandra, Hadoop, Hbase, Hypertable, MongoDB, CouchDB, Neo4J). Terrabytes of data.

• Theoretically, performance can be higher than 100.000 of values per second

• Can be horizontally scaled. More servers - more performance!

• API for history data, you can choose any engine!

Page 47: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix in a Cloud

• Integration with cloud APIs

• Amazon EC2

• Rackspace Cloud

• VMWare

• Monitoring

• Management (add or remove resources on demand)

• High CPU load -> add a new cloud server

• Lack of disk storage -> add a new cloud storage

Page 48: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Zabbix for virtual environments

• Virtual environments

• KVM

• XEN

• VMWare

• Monitoring

• Management (add or remove resources on demand)

• High CPU load -> add a new VMs

Page 49: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Global task scheduler

• We already have everything to make it possible

• Kind of global calendar for the whole monitored environment

• Can be used to:

• Schedule backups and other periodical tasks

• Start/shut down physical and virtual servers, cloud resources

• Conditional execution of commands depending on existing problems. Example: Turn off cluster nodes at night only if CPU load is low.

Page 50: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

Questions?

Page 51: Zabbix by Alexei Vladishev - FISL12 - 2011

FISL12 2011, Porto Alegre

WWW.ZABBIX.COMThe presentation will be available

on www.zabbix.com soon!