Applications – software applications – mean a specific thing in IT. Usually, that’s a user-oriented piece of software. A web browser, word processor, game. Lately, mobile applications have somewhat lowered the bar, even down to I Am Rich applications.
And then there’s Zabbix with it’s own definition for applications. So what are applications in Zabbix?
What are applications in Zabbix?
Perhaps it is best to start by defining what applications are not in Zabbix.
Zabbix application are not software applications.
OK, so that’s not matching the normal definition of the word. What are the applications in Zabbix?
Zabbix applications are groups of items.
“Applications” in Zabbix can be thought of as groups of items. While they may group items for an application – like MySQL or Cassandra – that is just a side effect of how it all works. As an example, let’s look at the applications, shipped with the default Template OS Linux:
- Network interfaces
- Zabbix agent
Only Zabbix agent would qualify as a software application here, everything else is just an arbitrary grouping of items.
Common questions on applications
Besides the general confusion about the non-standard use of the word “application” in Zabbix, there are some additional questions that arise regarding the functionality – let’s look at those.
How are applications different from templates?
- Templates arrange items, triggers, custom graphs, LLD rules and other entities, and allow assigning all that to multiple hosts or other templates.
- Applications group items either inside one template, or from several templates on a host.
- And templates may also have applications on them – a template may have any number of applications, and items may optionally be linked to those applications.
Can the same application can be used for multiple servers?
Items exist independently of applications – they aren’t really created under or in applications (but they can be assigned to applications). If a template with some applications is linked to multiple hosts, all of those hosts get all the applications that are defined in the template. Application is not a global concept, it is constrained by a template or by a host. Note that older versions of Zabbix did not allow linking two templates with the same application (identified by name) to the same host or template – that used to fail with an infamous message “Template with application Application_name already linked to host”. Linking multiple templates with the same application is supported since Zabbix 2.2.
Here’s a schematic on how hosts, applications and items relate:
Notice how there can be several applications on the host, and items can belong to them – but items can also exist on a host without any association with the applications. Also notice how Item C is listed twice – here it does not mean that the item is duplicated, it means that this item has been included in both applications. An item can belong to any number of applications.
Keep in mind – you can use Zabbix applications to group items by software applications, but you are free to use them to group items by any other criteria as well.
What applications can be useful for?
Historically, applications could be used only for a few things in Zabbix. The functionality, related to applications, has been increasing over the past few years. Some of the things one can do with applications:
- Grouping items in Monitoring -> Latest data (including web scenario items)
- Limiting actions
- Filtering in:
- Monitoring -> Overview (since Zabbix 2.2)
- Monitoring -> Triggers (since Zabbix 2.4)
- Monitoring -> Maps (since Zabbix 2.4)
- Item configuration section
Normally, applications are manually configured. Since Zabbix 3.0, they can also be created by LLD rules, thus allowing dynamic configuration, based on discovered software applications or their components.