Mastering Zabbix
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Create the perfect monitoring configuration based on your specific needs
  • Extract reports and visualizations from your data
  • Integrate monitoring data with other systems in your environment
  • Learn the advanced techniques of Zabbix to monitor networks and performances in large environments

Book Details

Language : English
Paperback : 358 pages [ 235mm x 191mm ]
Release Date : December 2013
ISBN : 1783283491
ISBN 13 : 9781783283491
Author(s) : Andrea Dalle Vacche, Stefano Kewan Lee
Topics and Technologies : All Books, Open Source

Table of Contents

Chapter 1: Deploying Zabbix
Chapter 2: Distributed Monitoring
Chapter 3: High Availability and Failover
Chapter 4: Collecting Data
Chapter 5: Visualizing Data
Chapter 6: Managing Alerts
Chapter 7: Managing Templates
Chapter 8: Handling External Scripts
Chapter 9: Extending Zabbix
Chapter 10: Integrating Zabbix
  • Chapter 1: Deploying Zabbix
    • Defining the environment size
    • Zabbix architectures
      • Zabbix installation
        • Prerequisites
      • Setting up the server
        • Setting up the agent
        • Installing and creating the package
        • Configuring the server
      • Installing the database
      • Starting up with Daemon
      • Some considerations about the database
      • Sizing of the database
      • Some considerations about housekeeping
      • The web interface
        • The web wizard – frontend configuration
      • Capacity planning with Zabbix
        • The observer effect
        • What to monitor
        • Define a baseline
        • Load testing
        • Forecasting the trends
    • Summary
  • Chapter 2: Distributed Monitoring
    • Zabbix proxies
      • Deploying a Zabbix proxy
      • Understanding the flow of monitoring data with proxies
    • Zabbix nodes
      • Understanding the flow of data with nodes
      • Deploying a node
    • Proxies versus nodes
      • Disadvantages of nodes
      • Choosing between proxies and nodes
    • Security considerations
      • No network configuration
      • Network isolation
      • Simple tunnels
        • Secure Shell
        • Stunnel
      • A full-blown VPN
    • Summary
  • Chapter 3: High Availability and Failover
    • Understanding high availability
    • Understanding the levels of IT service
    • Some consideration about high availability
      • Automating the switchover/the failover with a resource manager
      • Replicating the filesystem with DRBD
    • Implementing high availability on a web server
      • Configuring HTTPD HA
        • Understanding Pacemaker and STONITH
        • Pacemaker – is Quorum really needed?
        • Pacemaker – the stickiness concepts
        • Pacemaker – the Apache/HTTPD configuration
    • Configuring the Zabbix Server for high availability
    • Database high availability
      • Clustering of PostgreSQL
      • Mirrored logical volume with LVM and DRBD
        • Prerequisite tasks to start with DRBD on LVM
        • Creating a DRBD device on top of the LVM partition
        • Enabling resource in DRBD
        • Defining a primary device in DRBD
        • Creating a filesystem on a DRBD device
      • Pacemaker cluster – integrating DRBD
        • Enabling the DRBD configuration
        • Pacemaker – the LVM configuration
        • Pacemaker – configuring PostgreSQL
        • Pacemaker – the network configuration
        • Pacemaker – the final configuration
        • Cluster configuration – the final test
      • DRBD performance and optimizations
        • Efficient synchronization by DRBD
        • Enabling online verification through DRDB
        • DRBD – some networking consideration
    • Summary
  • Chapter 4: Collecting Data
    • Gathering items as raw data
    • Understanding the data flow for Zabbix items
      • Understanding Zabbix trapper items
      • The data flow overview
    • Database monitoring with Zabbix
      • Delving into ODBC
        • Installing database drivers
        • MySQL ODBC drivers
        • PostgreSQL ODBC drivers
        • Oracle ODBC drivers
        • UnixODBC configuration files
        • Compiling Zabbix with ODBC
        • Database monitor items
        • Some considerations about the ODBC SQL query
    • Zabbix JMX monitoring
      • Considering some JMX security aspects
      • Installing a Zabbix Java gateway
      • Configuring Zabbix JMX
        • JMX keys in detail
        • Issues and considerations about JMX
    • Zabbix SNMP monitoring
      • SNMP queries
      • SNMP traps
        • The snmptrapd process
        • The Perl trap handler
    • Web pages monitoring
      • Authenticating on web pages
      • Logging out
    • Aggregated and calculated items
      • Aggregated items
      • Calculated items
    • Summary
  • Chapter 5: Visualizing Data
    • Graphs
      • Analyzing simple graphs
      • Analyzing custom graphs
        • Reviewing all combinations of graph properties
    • Visualizing the data through maps
      • Creating your first Zabbix Map
      • Some important considerations about macros and URLs
      • Finally inside the map
      • Selecting elements
      • Playing with macros inside maps
    • Visualizing through screens
      • Creating a screen
      • Dynamic elements
    • Visualizing the data through a slide show
    • Controlling centre slides and the big display challenge
      • Some consideration about slides on a big display
      • Automated slide show
    • IT services
      • Configuring an IT service
    • Summary
  • Chapter 6: Managing Alerts
    • Understanding trigger expressions
      • Selecting items and functions
        • Choosing between seconds or number of measurements
        • Date and time functions
        • Trigger severity
        • Choosing between absolute values and percentages
      • Understanding operations as correlations
    • Managing the trigger dependencies
    • Taking action
      • Defining an action
        • The {EVENT.DATE} and {EVENT.TIME} macros
        • The {INVENTORY.SERIALNO.A} and friends macros
        • The {NODE.ID} and {NODE.NAME} macros
      • Defining the action conditions
      • Choosing the action operations
        • Steps and escalations
        • Messages and media
        • Remote commands
    • Summary
  • Chapter 7: Managing Templates
    • Creating templates
    • Adding entities to a template
      • Using macros
        • User-defined macros
    • Linking templates to hosts
      • Nesting templates
      • Combining templates
    • Discovering hosts
    • Low-level discovery
    • Summary
  • Chapter 8: Handling External Scripts
    • External checks
      • The script's placement
      • Going deep into external checks
      • Inside the script
      • General script writing rules
        • Some consideration about external checks
    • The UserParameter
      • The flexible UserParameter
      • Some considerations about UserParameters
    • Sending data using zabbix_sender
      • The new script
      • Writing a wrapper script for check_ora_sendtrap
      • Pros and cons of a dedicated script server
    • Working with Zabbix protocols
      • The Zabbix get protocol
      • The Zabbix sender protocol
        • An interesting undocumented feature
        • Using clock properties in JSON items
      • The Zabbix Agent protocol
        • Some more possible responses
    • Communicating with Zabbix
      • Implementing Zabbix sender in Java
      • Implementing Zabbix sender in Python
      • Some considerations about agent development
    • Summary
  • Chapter 9: Extending Zabbix
    • Exploring the Zabbix API
      • Authenticating through the API
      • Using the PyZabbix library
    • Synchronizing templates across different nodes
    • Mass operations
      • Redistributing hosts to proxies
      • Adding or updating users
    • Exporting data
      • Extracting tabular data
      • Creating graphs from data
        • The Graphviz suite of programs
        • Creating a trigger dependency graph
    • Summary
  • Chapter 10: Integrating Zabbix
    • An overview of Request Tracker
    • Setting up RT to better integrate with Zabbix
      • Creating a custom queue for Zabbix
      • Customizing tickets – the links section
      • Customizing tickets – ticket priority
      • Customizing tickets – the custom fields
      • Connecting to the Request Tracker API
    • Setting up Zabbix to integrate with Request Tracker
    • Creating RT tickets from the Zabbix events
    • Summary

Andrea Dalle Vacche

Andrea Dalle Vacche is a highly skilled IT Professional with over 12 years of industry experience. He graduated from Univerista' degli Studi di Ferrara with an Information Technology certification. This laid the technology foundation, which Andrea has built on ever since. He has acquired various other industry respected accreditations, which include Cisco, Oracle, RHCE, ITIL, and of course Zabbix. Throughout his career he has worked on many large-scale environments, often in roles which have been very complex on a consultant basis. This has further enhanced his growing skill set, adding to his practical knowledge base and concreting his appetite for theoretical technical study. His love for Zabbix came from his time spent in the Oracle world as a Database Administrator/Developer. His time was spent mainly reducing "ownership costs" with specialization in monitoring and automation. This is where he came across Zabbix and the flexibility, both technically and administratively, it offered. Using this as a launch pad, it inspired Andrea to develop Orabbix, the first open source software to monitor Oracle completely integrated with Zabbix.

Andrea has published a number of articles on Zabbix-related software such as DBforBIX. His projects are publicly available on his website Currently, Andrea is working for a leading global investment bank in a very diverse and challenging environment. His involvement is vast and deals with many aspects of the Unix/Linux platforms as well as paying due diligence to many different kinds of third-party software, which are strategically aligned to the bank's technical roadmap.

Stefano Kewan Lee

Stefano Kewan Lee is an IT Consultant with 10 years of experience in system integration, security, and administration. He is a certified Zabbix specialist in Large Environments, holds a Linux administration certification from the LPI, and a GIAC GCFW certification from SANS Institute. When he's not busy breaking websites, he lives in the countryside with two cats and two dogs and practices martial arts.

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 1 submitted: last submission 25 Mar 2014

Errata type: Code. Page no.: 22


Now we need to change a few things in the configuration file /var/lib/
pgsql/9.2/data/pg_hba.conf. We need to change the listen address, port,
and also need to add a couple of lines for our zabbix_db database
listen_addresses = '*'
port = 5432
# configuration for Zabbix
local zabbix_db zabbix md5
host zabbix_db zabbix <CIDR-address> md5

should be:

Now we need to change a few things in the configuration file /var/lib/
pgsql/9.2/data/postgresql.conf. We need to change the listen address, port,
and also need to add a couple of lines for our zabbix_db database in the the configuration file /var/lib/
in /var/lib/pgsql/9.2/data/postgresql.conf:
listen_addresses = '*'
port = 5432
in  /var/lib/pgsql/9.2/data/pg_hba.conf:
# configuration for Zabbix
local zabbix_db zabbix md5
host zabbix_db zabbix <CIDR-address> md5

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Mastering Zabbix +    Haskell Data Analysis Cookbook =
50% Off
the second eBook
Price for both: £27.35

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Integrate Zabbix in your large or complex environment
  • Establish a distributed monitoring solution
  • Set up Zabbix and its database in a High Availability configuration
  • Collect data from a variety of monitoring objects
  • Organize your data into graphs, charts, and maps
  • Build intelligent triggers and alarms to monitor you network
  • Write scripts to create custom monitoring probes
  • Understand Zabbix's database scheme and harvest data from it
  • Automate procedures using Zabbix's API

In Detail

Monitoring systems are a crucial part of any IT environment. They can be extremely useful not only to identify specific problems, but also to measure your system’s performance and find the best way to improve it. However, they can be misleading and confusing if not correctly configured and managed. False alarms and missing data can undermine a monitoring system's contribution to a healthy IT department. Zabbix 2.2 allows you to customize and implement ideas by extending, adding, or customizing functionality, giving an added value to that technology.

This comprehensive guide will help you to make both strategic and practical decisions about the Zabbix monitoring system, so that it will fit your environment and monitoring needs like a glove. From choosing the correct size and configurationto what you should actually monitor, including exporting and integrating your data with other systems, this book will leave you with no doubts about the crucial role of a well configured monitoring system.

Introducing you to methods to configure and choose between high availability and distributed Zabbix architectures for your largeenvironment, this guide will proceed to show you how to gather monitoring data, visualize, and act on it. Next, the guide explores how you can extend Zabbix and connect it to trouble ticketing systems or data mining solutions. You will also learn how to choose the ideal database backend, monitor appliances that only talk SNMP and application servers that talk JMX, and organize your charts and maps in screens that can be visualized on big screens. It shows you how to leverage Zabbix's discovery capabilities to track your ever changing environment and build complex, intelligent alarms that won't distract you with trivial problems. Finally, you will learn to expand Zabbix's capabilities through its scripting facilities, protocol and powerful API.


Written as a practical step-by-step tutorial, this book is full of engaging examples to help you learn in a practical context

Who this book is for

If you are a system administrator or an IT architect and want to know how to better integrate your Zabbix installation with your surrounding environment, this book is ideal for you. A basic, working knowledge of Zabbix is assumed, so that the book can focus on how to take full advantage of every component. The code in the later chapter will be explained in its functionality, but basic programming skills are assumed as well.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software