Using the Zabbix::Tiny to change an item interval based on a trigger.

A relatively common Zabbix feature request is to change the interval of a Zabbix item (how often the item is updated) based on the value of the item.  This post will illustrate how to use a trigger to execute a Perl script to meet this goal.

In this example, the item will be a net.tcp.service[] item to check a web server for an http response. The goal is to have this service checked every 5 minutes (300 seconds) under normal conditions, but if the response indicates that the service is down, change the interval to 60 seconds, which will allow the trigger to get cleared faster.  Additionally, once the service is back up, the interval should return to 5 minutes. Continue reading Using the Zabbix::Tiny to change an item interval based on a trigger.

Looking back at the Zabbix Conference 2016, day 2

The second day of the Zabbix conference started with workshops. This was a completely new thing, thus there was limited experience with organising these. There were four workshops in two tracks:

  • Scale with Zabbix Partitioning
  • Master Low Level Discovery
  • Hands On Trend Prediction
  • Guide to Extending Zabbix + Scripts and API

Zabbix workshop information on the agenda

Continue reading Looking back at the Zabbix Conference 2016, day 2

Looking back at the Zabbix Conference 2016, day 1

It’s been a few weeks since the Zabbix Conference 2016. If you are considering attending next year, you might want to know – how was it? In one word, great. But that doesn’t tell much, so let’s briefly explore how it went.

The conference started with a talk by Alexei Vladishev, the original author of Zabbix. He shared the improvements in the soon-to-be-released Zabbix 3.2 and the usually-interesting statistics on the conference itself. This year the 3rd biggest number of participants was from the Netherlands, second from France and Russia had the first place. Importantly, he assured all the participants that Zabbix will always be true open source software – also commonly known as Free software.

Zabbix is a True Open Source software and will always be

Continue reading Looking back at the Zabbix Conference 2016, day 1

Perl and Zabbix API – Getting Started

Zabbix’s API has the advantage of being both extremely flexible and extremely powerful.  Scripts that leverage the API can address many of the perceived ‘short-comings’, or commonly requested features of Zabbix.  I wrote the Zabbix::Tiny module as a small interface to the API to abstract some of the boiler plate that I was repeating in each script I was writing without it.  Rather than delve directly into the module and it’s uses, I wanted to first cover a few of the dependencies I rely on for (nearly) every script that I write using the Zabbix API. Any articles that I write in the future will consider these points as implied.

"Perl comes off the wall" with a short history of Perl and a portrait of Larry Wall
Perl comes off the wall. Image from eWeek

Continue reading Perl and Zabbix API – Getting Started

How to set host encryption parameters via the API?

Zabbix 3.0 introduced a major new feature – encryption between Zabbix components. If you’d like to add a new host with encryption enabled, you would go to the documentation of the host.create method… and be surprised. It says nothing about the encryption at all. You might continue to the host object page, but that wouldn’t have anything on encryption either.

Encryption tab in the host properties

How so?

Continue reading How to set host encryption parameters via the API?