Zabbix 3.0 and beyond - FISL 2015
-
Upload
zabbix-llc -
Category
Technology
-
view
1.307 -
download
6
Transcript of Zabbix 3.0 and beyond - FISL 2015
![Page 1: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/1.jpg)
ZabbixZabbix 3.0 and beyond
![Page 2: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/2.jpg)
Who am I?
Alexei Vladishev
Creator of Zabbix
CEO, Architect and Product Manager
Twitter: @avladishev
Email: [email protected]
![Page 3: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/3.jpg)
What is my talk about?
• Past: look at the history
• Present: Zabbix 3.0
• Future
![Page 4: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/4.jpg)
About Zabbix team30 members working full-time
Offices in Riga (Headquarters), Tokyo and New-York
Business model is based on providing services: technical support, trainings, development, turn-key solutions
Very active community in many countries including Brazil
![Page 5: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/5.jpg)
What do we do?
• We develop free monitoring system you can trust
• Not limited to IT monitoring
• Fanatical about high quality and producing good code
• We care about post production maintenance
![Page 6: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/6.jpg)
PastWhere Zabbix came from
![Page 7: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/7.jpg)
History: 1998
Most important decisions
C language for the most critical parts
PHP language for the WEB interface
SQL back-end
![Page 8: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/8.jpg)
C language+ Very low level, close to the hardware
+ Efficient code: fast
+ Minimal usage of CPU and memory resources
+ Almost no dependencies
+ Write once, compile and run everywhere
- Slower development
- Potential problems with memory, locks, pointers
![Page 9: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/9.jpg)
PHP language+ Easy to start writing bad code
+ Available on most platforms
+ Actively developed recently
- Dynamic typing
- Discipline is a must for good code
- Interpreted: errors during code execution
![Page 10: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/10.jpg)
SQL back-end + MySQL, PostgreSQL, Oracle, DB2, SQLite
+ Transactions and data integrity
+ Standart API: SQL
+ Easy to deploy
- Scalability
- High availability and redundancy
![Page 11: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/11.jpg)
Zabbix is an extremely compact application
![Page 12: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/12.jpg)
Architecture: what’s good
Separation of logic: data collection, problem detection, notifications, visualisation, API, etc
Multiprocess application: uses all available CPU cores
Data is always in consistent state
![Page 13: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/13.jpg)
OptimisationsIn-memory cache
ZABBIX SERVER
DATABASEIN-MEMORY CACHE
SYNC
HISTORY
CONFIGURATION
HISTORY
POLLERS
TRAPPERS
ESCALATORS
ALERTERS
SYNC
SYNC
![Page 14: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/14.jpg)
OptimisationsMass (bulk) operations
ZABBIX SERVER
DATABASE
POLLERS
TRAPPERS
ESCALATORS
ALERTERS
INSERT
INSERT
INSERT
BULK INSERT/UPDATE
X
![Page 15: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/15.jpg)
2015, any changes?• Languages: no changes - C, PHP
• Much stricter development work-flow Specification, development, code review, testing, documentation, ready to ship Coding guidelines
• Continuous integration
• Static analysers and commit hooks
![Page 16: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/16.jpg)
Current challenges
• Different stack of technologies for back-end and front-endTeam members with different skill set
• Speed of development
• Older historical code in PHP
![Page 17: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/17.jpg)
Different quality of code
C PHP
![Page 18: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/18.jpg)
PresentWorking hard on Zabbix 3.0
![Page 19: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/19.jpg)
Where is the roadmap?Find in a search engine “zabbix roadmap”
https://www.zabbix.org/wiki/Docs/roadmap
![Page 20: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/20.jpg)
InterfaceCleaner and better
![Page 21: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/21.jpg)
Zabbix 1.8
![Page 22: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/22.jpg)
Zabbix 2.0
![Page 23: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/23.jpg)
Zabbix 2.2
![Page 24: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/24.jpg)
Zabbix 2.4
![Page 25: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/25.jpg)
No visible progress
2009: Zabbix 1.8 2012: Zabbix 2.0
2013: Zabbix 2.2 2014: Zabbix 2.4
![Page 26: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/26.jpg)
It’s time to fix it!Zabbix 3.0
![Page 27: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/27.jpg)
Zabbix 3.0: interface
![Page 28: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/28.jpg)
Zabbix 3.0: interface
![Page 29: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/29.jpg)
Zabbix 3.0: interface
![Page 30: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/30.jpg)
Interface: under the hood• Modularity, MVC
• Ability to create your own pages
• Ability to extend existing pages
• First attempts to create API for dashboard widgets
![Page 31: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/31.jpg)
Encryption and authentication
Strong encryption and authentication for all components based on TLS v1.2
ZABBIX SERVER AGENTAGENT ZABBIX
PROXY
AGENT
TLSTLSTLS
TLS
Support of certificates and PSKChoice of: OpenSSL, GnuTLS and PolarSSL
![Page 32: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/32.jpg)
Easy upgrade to better security
Step 1 Enable end-point to accept both encrypted and plain text communications
ZABBIX SERVER
ZABBIX PROXYTLS
Plain text
![Page 33: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/33.jpg)
Easy upgrade to better security
Step 2 Configure certificate or PSK based encryption and authentication
ZABBIX SERVER
ZABBIX PROXYTLS
Plain textCertificate or PSK Certificate or PSK
![Page 34: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/34.jpg)
Easy upgrade to better security
Step 3 Verify that TLS works and reject plain text connections
ZABBIX SERVER
ZABBIX PROXYTLS
Plain textCertificate or PSK Certificate or PSK
X X X X X X X X X X X X X X X X X X X X X
![Page 35: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/35.jpg)
Personal resources• Personal screens, maps and slide shows
• Ability to share with other user groups
![Page 36: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/36.jpg)
Versioning for XML
• Versions for XML files
• Strong validation
• Backward compatibility
• Automatic conversion from older versions
XML 2.2 XML 2.4 XML 3.0
![Page 37: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/37.jpg)
Context specific macros{$MACRO:context], if does not exist we use value of {$MACRO}
Example
{$MINDISKSPACE:/tmp] => 50%{$MINDISKSPACE:/db] => 30%{$MINDISKSPACE} = 10%
Not enough disk space {host:vfs.fs.size[{#FSNAME},pfree].last()} < {$MINDISKSPACE:{#FSNAME}}
{host:vfs.fs.size[“/home”,pfree].last()} < {$MINDISKSPACE:/home}
![Page 38: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/38.jpg)
“Ready for business” checks
Checks at a specific time:
every 2 hours starting from 9:00 (9:00, 11:00 …)
every hour hh:00 и hh:30
working days only at 9:00
working days every hour at 9:00,10:00,…,18:00
at first day of every month at 9:30
at first day of every month at 9:30 if it’s Monday
![Page 39: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/39.jpg)
Manual execution of housekeeper
For example, from crontab:
* 2 * * * /usr/local/sbin/zabbix_server -R housekeeper_execute
![Page 40: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/40.jpg)
Low level discovery based on SQL queries
Retrieve data from external database
select field1,field2,field3 from table where …
Use it to create new items, triggers, graphs
{#FIELD1}, {#FIELD2}, {#FIELD3}
![Page 41: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/41.jpg)
Also• Support of dependencies for trigger prototypes
• Support of IPv6 for Java gateway
• Triggers Top 100, filleting by: host, host group, severity and custom time period
• Support of TCP for DNS checks
• Discovery of any number of SNMP LLD values ifDescr, ifOutOctets, ifInOctets using one query from different SNMP tables
• Dropdowns replaced by buttons for mass-actions
• Support of LLD macros in units and IMPI sensors
![Page 42: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/42.jpg)
Zabbix 3.0: when?
Planned in May, 2015
Expected: September, 2015 (?)
![Page 43: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/43.jpg)
FutureWhat I would like to improve in Zabbix
![Page 44: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/44.jpg)
WEB interface: facts• Existing navigation is no good: menu!
• Too many clicks for standard actions “Click till death”, Lukas, Zabbix Conference 2014
• Information is not well inter-connected Monitoring/Administration is strictly separated
• Drop downs: consume too much memory and CPU
![Page 45: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/45.jpg)
WEB interface: make it better
• Improve user experience
• Object-oriented navigation Choose host → All information about selected host is one-click away
• Information should be interconnected
• Improve performance (depends on performance of API)
![Page 46: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/46.jpg)
API: facts
• Can be very slow
• Generates too much queries to the database
• No strong validation
• Poor error reporting
![Page 47: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/47.jpg)
API: faster and more reliable• Make it 10-100x fasterMore efficient algorithms Bulk operations and caching
• Make API first class citizen: possible move to Zabbix Server side That’s where we have the most efficient code
• Strong validation
• Detailed error reporting
![Page 48: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/48.jpg)
Reports: facts So much data in the database but:
• Poor reporting
• No analytics
• No way to create your own reports
• No way to remember report parameters for easy re-use
![Page 49: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/49.jpg)
Reports: visualisationReal-time an analytics
![Page 50: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/50.jpg)
Scalability: facts
• Zabbix becomes significantly slower as data volume grows
• Requires special techniques for scalability (table partitioning)
• HA and redundancy is not trivial
![Page 51: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/51.jpg)
Scalability: terrabytes!• Horizontal scalability for data storage Standard SQL engine cannot deliver it
• Separate storage for historical data
• New distributed monitoring
• Performance of the interface is important, sub-second response time
![Page 52: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/52.jpg)
API and plugins: facts
Currently can be used only for extending agent- and server-side checks, notification methods.
It is not enough!
![Page 53: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/53.jpg)
API and plugins
Support whenever possible
• New trigger functions
• Pre- and post-processing of data
• Dashboard widgets
• and more!
![Page 54: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/54.jpg)
A few useful links
![Page 55: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/55.jpg)
support.zabbix.comVoting is a real opportunity to influence Zabbix functionality!
![Page 57: Zabbix 3.0 and beyond - FISL 2015](https://reader036.fdocuments.us/reader036/viewer/2022062304/55c5ff9dbb61eb37568b46a3/html5/thumbnails/57.jpg)
Thank you!
twitter.com/zabbix
Please come to Zabbix booth! We have nice giveaways. :)