Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Mastering Zabbix
Table of Contents
Mastering Zabbix
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
Who this book is for
What you need for this book
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
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
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
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
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
5. Visualizing Data
Graphs
Analyzing simple graphs
Analyzing custom graphs
Reviewing all the 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
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
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
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
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
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
Index
← Prev
Back
Next →
← Prev
Back
Next →