2. About me
Name: Alexei Vladishev
Email: alex@zabbix.com
Twitter: zabbix
Home: www.zabbix.com
Author of Zabbix
Founder and CEO of Zabbix SIA, company-developer
of Zabbix software located in Latvia
FISL12 2011, Porto Alegre
3. 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
FISL12 2011, Porto Alegre
5. 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
FISL12 2011, Porto Alegre
6. Progress we've made...
Today
10 years ago •500-600 downloads per day on
avg
•1-2 downloads per day
•No WEB site, no forums •Active community
•No company •Company behind Zabbix
•No commercial services •Users around the World
•Very small community •Part of nearly all distributions
•Just one developer
•Team of developers
FISL12 2011, Porto Alegre
7. 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
FISL12 2011, Porto Alegre
8. Celebrating 10 year
anniversary
•September 30 - October 1, Riga, Latvia
FISL12 2011, Porto Alegre
9. Is it a typical
Open 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
FISL12 2011, Porto Alegre
10. What is Zabbix?
A project of my life...
FISL12 2011, Porto Alegre
11. 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!
FISL12 2011, Porto Alegre
12. 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
FISL12 2011, Porto Alegre
13. 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
• Ihardwarehave long-term information (trends) to plan
want to
upgrades
• I need SLA numbers for all my services
FISL12 2011, Porto Alegre
14. Zabbix is about assuring
quality of services:
availability & performance.
FISL12 2011, Porto Alegre
15. All included!
• Possible models
• Enterprise and
Community
versions
• All included
Zabbix is a True Open Source, no proprietary addons,
“professional” or “enterprise” versions
FISL12 2011, Porto Alegre
16. 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
FISL12 2011, Porto Alegre
17. 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!
FISL12 2011, Porto Alegre
19. 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
FISL12 2011, Porto Alegre
22. 0% revenue on license fees,
because Zabbix is FREE
FISL12 2011, Porto Alegre
23. Community vs Customers
Both are very important to us!
• 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
FISL12 2011, Porto Alegre
26. 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
FISL12 2011, Porto Alegre
27. 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
FISL12 2011, Porto Alegre
28. 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
FISL12 2011, Porto Alegre
29. 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
FISL12 2011, Porto Alegre
31. Better user experience
• Refreshed design
• Improving usability of Zabbix front-end
• Review of all forms and pages
FISL12 2011, Porto Alegre
32. Better performance
• Performance is better with every release of Zabbix
• In-memory cache for nearly all configuration data
• More efficient Zabbix API
FISL12 2011, Porto Alegre
33. 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)
FISL12 2011, Porto Alegre
34. 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!
FISL12 2011, Porto Alegre
35. 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
FISL12 2011, Porto Alegre
36. 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
FISL12 2011, Porto Alegre
37. Automatic collection
of hardware inventory data
• Current situation
• Host inventory should
be manually updated
• Zabbix 2.0
• Can be automatically
By camknowns, Flickr
collected
• Manual processing as well
FISL12 2011, Porto Alegre
38. 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
FISL12 2011, Porto Alegre
39. GNU Translation framework
• Easier contribution
• More languages
• GNU Translation
framework
• Obligatory string freeze
phase
FISL12 2011, Porto Alegre
40. WHEN???
I am very bad at estimating release dates...
FISL12 2011, Porto Alegre
41. To be released when ready
Last estimate:
this summer
FISL12 2011, Porto Alegre
43. 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
FISL12 2011, Porto Alegre
44. Zabbix is all about
monitoring.
FISL12 2011, Porto Alegre
45. 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)
FISL12 2011, Porto Alegre
46. 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!
FISL12 2011, Porto Alegre
47. 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
FISL12 2011, Porto Alegre
48. Zabbix for virtual environments
• Virtual environments
• KVM
• XEN
• VMWare
• Monitoring
• Management (add or remove resources on demand)
• High CPU load -> add a new VMs
FISL12 2011, Porto Alegre
49. 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.
FISL12 2011, Porto Alegre