Title Page Copyright and Credits Zabbix 4 Network Monitoring Third Edition About Packt Why subscribe? Packt.com Contributors About the authors About the reviewers Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Reviews Getting Started with Zabbix Technical requirements The first steps in monitoring Zabbix features and architecture Installation Choosing the version and repository Hardware requirements Installing from the packages Red Hat Enterprise Linux (RHEL)/CentOS EPEL The Zabbix repository Ubuntu/Debian Installing from source The server and agent Software requirements Downloading the source Compilation Dash or underscore Initial configuration Creating and populating the database Starting up Verifying the service's state The web frontend Prerequisites and setting up the environment Using the web frontend configuration wizard Step 1 – welcome Step 2 – PHP prerequisites Step 3 – database access Step 4 – Zabbix server details Step 5 – summary Step 6 – writing the configuration file Step 7 – finishing the wizard Step 8 – logging in Summary Questions Further reading Getting Your First Notification Exploring the frontend The user profile Monitoring quickstart Creating a host Creating an item Introducing simple graphs Creating triggers Configuring email parameters Creating an action Information flow in Zabbix Let's create some load Basic item configuration Monitoring categories Availability Performance Security Management Efficiency Item types How items can be monitored Using global search Summary Questions Further reading Monitoring with Zabbix Agents and Basic Protocols Using the Zabbix agent Passive items Cloning items Manually querying items Active items An active agent with multiple servers Supported items Choosing between active and passive items Item scheduling Simple checks Setting up ICMP checks Connecting all of the pieces Key parameter quoting Positional parameters for item names Using mass update Value mapping Units Custom intervals Flexible intervals Custom scheduling Copying items Summary Questions Further reading Monitoring SNMP Devices Using Net-SNMP Using SNMPv3 with Net-SNMP The engine ID Authentication, encryption, and context Adding new MIBs Polling SNMP items in Zabbix Translating SNMP OIDs Dynamic indexes SNMP bulk requests Receiving SNMP traps Using embedded Perl code Filtering values by received data Filtering values by originating host Debugging Handling the temporary file SNMP Trap Translator (SNMPTT) Using a custom script Filtering the traps Custom mapping Database lookups Summary Questions Further reading Managing Hosts, Users, and Permissions Hosts and host groups Host inventory Editing inventory data manually Populating inventory data automatically Host maintenance Creating maintenance periods Collecting data during maintenance Not collecting data during maintenance Maintenance period options One-time only maintenance Daily maintenance Weekly maintenance Monthly maintenance Ad hoc maintenance Users, user groups, and permissions Authentication methods Creating a user Creating user groups Permissions and maintenance Summary Questions Further reading Detecting Problems with Triggers Triggers The trigger-and-item relationship Trigger dependencies Constructing trigger expressions Preventing trigger flapping Checking for missing data Triggers that time out Triggers with adaptable thresholds Triggers with a limited period Relative thresholds or time shift Verifying system time Human-readable constants Customizing how triggers are displayed Triggering severities Triggering display options Event details Event generation and recovery expression Using event tags for correlation Summary Questions Further reading Acting upon Monitored Conditions Actions Limiting conditions when alerts are sent Additional action conditions Complex conditions Dependencies and actions Media limits for users Sending out notifications Using macros Sending recovery messages Escalating once a threshold is reached Runner analogy Using scripts as media Integrating with issue management systems Bugzilla Computer Associates Unicenter Service Desk Manager Atlassian JIRA Remote commands Global scripts Configuring global scripts Reusing global scripts in actions Summary Questions Further reading Simplifying Complex Configurations with Templates Creating a template Linking templates to hosts Handling default templates Changing the configuration in a template Macro usage User macros Using multiple templates Unlinking templates from hosts Using mass update Nested templates Summary Questions Further reading Visualizing Data with Screens and Slideshows Configuring and sharing dashboards Configuring the dashboard Sharing our dashboard Screens Dynamic screens Additional screen elements Templated screens Slide shows Showing data on a big display Challenges Non-interactive display Information overload Displaying a specific section automatically Summary Questions Further reading Advanced Item Monitoring Log file monitoring Monitoring a single file Filtering for specific strings Monitoring rotated files Alerting on log data Event tags Extracting part of the line Parsing timestamps Viewing log data Reusing data on the server Calculated items Quoting in calculated items Referencing items from multiple hosts Aggregate items Aggregating across multiple groups User parameters Just getting it to work Querying data that the Zabbix agent doesn't support Flexible user parameters Level of the details monitored Environment trap Things to remember about user parameters Wrapper scripts When not to use user parameters External checks Finding a certificate expiry time Determining certificate validity Sending in the data Using an agent daemon configuration file Sending values from a file Sending timestamped values SSH and Telnet items SSH items Telnet items Custom modules Value preprocessing and dependent items Summary Questions Further reading Automating Configuration LLD Network interface discovery Automatically creating calculated items Automatically creating triggers Automatically creating graphs Filtering discovery results Filesystem discovery Introducing the LLD JSON format Including discovered graphs in screens Custom thresholds with user macro context CPU discovery SNMP discovery Creating custom LLD rules Reimplementing CPU discovery Discovering MySQL databases Global regular expressions Testing global regexps Usage in the default templates Network discovery Configuring a discovery rule Viewing the results Reacting to the discovery results Uniqueness criteria Active agent auto-registration Auto-registration metadata Summary Further reading Monitoring Web Pages Monitoring a simple web page Creating a web-monitoring scenario Other scenarios and step properties Alerting on web scenarios Logging into the Zabbix interface Step 1 – checking the first page Step 2 – logging in Step 3 – checking login Step 4 – logging out Step 5 – checking logout Authentication options Using agent items Getting the page Checking page performance Extracting content from web pages Extracting content using the HTTP agent Summary Questions Further reading High-Level Business Service Monitoring Deciding on the service tree Setting up IT services Creating test items and triggers Configuring IT services Sending in the data Viewing reports Specifying uptime and downtime Summary Questions Further reading Monitoring IPMI Devices Getting an IPMI device Preparing for IPMI monitoring Setting up IPMI items Creating an IPMI item Monitoring discrete sensors Using the bitwise trigger function Summary Questions Further reading Monitoring Java Applications Setting up the Zabbix Java gateway Monitoring JMX items Querying JMX items manually What to monitor? JMX discovery Summary Questions Further reading Monitoring VMware Technical requirements Preparing for VMware monitoring Automatic discovery Available metrics The underlying operation VMware LLD configuration Host prototypes Summarizing default template interaction Server operation and configuration details Summary Questions Further reading Using Proxies to Monitor Remote Locations Active proxies and passive proxies Setting up an active proxy Monitoring a host through a proxy Proxy benefits Proxy limitations Proxy operation Proxies and availability monitoring Method 1 – last access item Method 2 – internal proxy buffer item Method 3 – custom proxy buffer item Setting up a passive proxy Tweaking the proxy configuration Summary Questions Further reading Encrypting Zabbix Traffic Overview Backend libraries PSK encryption Certificate-based encryption Being our own authority Setting up Zabbix with certificates Concerns and further reading Summary Questions Further reading Working Closely with Data Getting raw data Extracting from the frontend Querying the database Using data in a remote site Diving further into the database Managing users Changing existing data Finding out when The when in computer language Finding out what Performing the change Using XML import/export for configuration Exporting the initial configuration Modifying the configuration The XML export format Scripting around the export Importing modified configuration Generating hosts Importing images Starting with the Zabbix API Simple operations Obtaining the API version Logging in Enabling and disabling hosts Creating a host Deleting a host Creating a value map Obtaining history and trends Issues with the Zabbix API Using API libraries Summary Questions Further reading Zabbix Maintenance Internal monitoring New values per second Zabbix server uptime Cache usage Internal process busy rate Unsupported items and more problems Counting unsupported items Reviewing unsupported items Internal events and unknown triggers Backing things up Backing up the database Restoring from a backup Separating configuration and data backups Upgrading Zabbix General version policy Long-term support and short-term support The upgrade process Minor version upgrade Upgrading binaries Upgrading the frontend Major-level upgrades Database versioning Gathering data during the upgrade The frontend configuration file Compatibility Performance considerations Who did that? Exploring configuration file parameters Zabbix agent daemon and common parameters Zabbix server daemon parameters Summary Questions Further reading Troubleshooting Introduction Common issues Installation Compilation Frontend Backend Locked out of the frontend Monitoring General monitoring Monitoring with the Zabbix agent User parameters SNMP devices IPMI monitoring ICMP checks Problems with simple checks Problems with zabbix_sender and trapper items General issues Triggers Actions Discoveries and autoregistration Troubleshooting Zabbix The Zabbix log file format Reloading the configuration cache Controlling running daemons Runtime process status Further debugging Being Part of the Community Community and support Chatting on IRC Using the Zabbix Wiki Using the Zabbix forum Filing issues on the tracker Meeting in person The Zabbix summit Local communities Following the development Getting the source Daily snapshots Accessing the version-control system Looking at the changesets Translating Zabbix Commercial support options Assessment Chapter 1: Getting Started with Zabbix Chapter 2: Getting Your First Notification Chapter 3: Monitoring with Zabbix Agents and Basic Protocols Chapter 4: Monitoring SNMP Devices Chapter 5: Managing Hosts, Users, and Permissions Chapter 6: Detecting Problems with Triggers Chapter 7: Acting upon Monitored Conditions Chapter 8: Simplifying Complex Configurations with Templates Chapter 9: Visualizing Data with Screens and Slideshows Chapter 10: Advanced Item Monitoring Chapter 12: Monitoring Web Pages Chapter 13: High-Level Business Service Monitoring Chapter 14: Monitoring IPMI Devices Chapter 15: Monitoring Java Applications Chapter 16: Monitoring VMware Chapter 17: Using Proxies to Monitor Remote Locations Chapter 18: Encrypting Zabbix Traffic Chapter 19: Working Closely with Data Chapter 20: Zabbix Maintenance Other Books You May Enjoy Leave a review - let other readers know what you think