API versioning

The 2.0.4 release contains a lot of improvements so one tiny change may have passed unnoticed: the version of the API has been bumped to 2.0.4 as well. Indeed, that’s one small change in the code, but a huge decision for the Zabbix developers team. The API version has remained on 1.4 since the release of 2.0, but finally we’ve developed a versioning that will suite our needs.

Read more

The New API Docs

The Zabbix API is a great tool, which allows you to extend and tailor Zabbix to your specific needs. Yet using it still poses a challenge for many developers, because a lot of it is still undocumented. To solve this problem and make the API more open to third party developers we’ve decided to completely rewrite the documentation. Yes, everything. From scratch.

Read more

Putting dots on JMX monitoring

Introduction

JMX monitoring with Zabbix is easy using Zabbix Java gateway. Let’s say you have a JMX-enabled Java application running on some host. You start the Java gateway, configure Zabbix server to use that, add that host in Zabbix frontend, set up a JMX interface and create a JMX agent item (described here). A JMX item key name is (surprise-surprise!) jmx and it needs 2 parameters that describe a monitored entity:

  • an MBean object name
  • an MBean attribute name
Read more

Performance improvements in 2.0

The performance of Zabbix is being constantly improved, and there were significant performance improvements back in 1.8. Then pretty much every Zabbix 1.8 series release added some more benefits, reduced database access and so on. With the 2.0 release there are more performance benefits expected, but there’s so little time to gather some information… luckily, some users do provide us with empirical evidence 🙂

Read more

Mysterious Zabbix Problems: How We Debug Them

This came as the first assignment for me, a new Zabbix employee – to fix a bug ZBX-3788 zabbix daemon processes hang on futex
Sometimes terminating a Zabbix agent with “killall -15 zabbix_agentd” resulted in one hanging process and other processes in the <defunct> state. strace utility showed the process was hanging on futex:

Process 10468 attached - interrupt to quit
futex(0xb783ca50, FUTEX_WAIT_PRIVATE, 2, NULL
Read more

Zabbix Running on a $25 Device!?

Everything in the world of electronics gets smaller, while performance continues to grow. I know I should not compare those computers from 1960 with what we have now, but I still get amazed all the time.

The thing about modern computers is that sometimes it is a waste of resources to see them using a small fraction of their computing power to perform some very small task. It is like seeing a huge crane lifting a grocery paper bag. Of course, modern computers allow you to run many tasks simultaneously, sharing the power. You may use virtualization to run several logical machines on one device. But still sometimes there are cases when all you need is just a cheap, reliable, energy and space efficient device to do the work.

So when I heard that a company Observe IT from the UK, a potential partner of Zabbix, is willing to test-drive Raspberry Pi with Zabbix Proxy, I happily replied “Send it over here!”. It took more than 2 long weeks for British-Latvian post offices to deliver a very lightweight box to our office. While awaiting the package, we retweeted a message from Richard Gate about successfully installing Zabbix on Raspberry Pi. It made us jealous, but we were willing to see how it works ourselves.

So we started with a careful unpacking of the box.

Read more