Understanding Low-Level Discovery (LLD) in Zabbix

Imagine we have a server with several disks, file systems, network interfaces, or services, and we want to monitor all of them with Zabbix.

One way is to manually create an Item and Trigger for every single one.

That might be fine with 5 servers. With 500 servers... not so fun anymore!

This is where Low-Level Discovery (LLD) comes in.

In this video, we take a look at LLD and see how Zabbix can automatically discover resources and create the required Items and Triggers for us.

What Is LLD?

LLD stands for Low-Level Discovery.

The basic idea is simple: instead of telling Zabbix exactly what resources exist, we let Zabbix discover them first.

For example, Zabbix can discover the file systems on a server and automatically create monitoring Items for each one.

If a new file system is added later, we don't have to go back to Zabbix and manually create everything again.

Discovery Rules

The first important part of LLD is the Discovery Rule.

Its job is to discover the resources we want to monitor.

The discovery result contains information that Zabbix can later use to create Items, Triggers, and other objects automatically.

To work with this information, we use LLD Macros.

For example:

{#FSNAME}

This Macro can represent the name of a file system discovered by Zabbix.

Item Prototypes

Now that we've discovered our resources, we need to tell Zabbix what it should monitor for each one.

This is where Item Prototypes come in.

Instead of manually creating an Item for every file system, we create one Item Prototype.

Zabbix then uses that Prototype along with the discovery results to automatically create the actual Items.

We create the template once, and Zabbix does the boring part for us. Sounds fair!

Trigger Prototypes

The same idea also applies to Triggers.

Using a Trigger Prototype, we can define what kind of Trigger should be created for each discovered resource.

For example, if a server has several file systems, we don't need to manually create a low disk space Trigger for every one.

We create a Trigger Prototype, and Zabbix creates the required Triggers for the discovered file systems automatically.

Where Is LLD Useful?

LLD is especially useful when the number or names of the resources we want to monitor aren't fixed.

File systems, disks, network interfaces, services, databases, and many other resources are good examples.

The important idea is that with LLD, instead of manually creating a huge number of Items and Triggers, we define the rules for creating them and let Zabbix handle the rest.

In this video, we go through the basics of Low-Level Discovery in Zabbix, including Discovery Rules, LLD Macros, Item Prototypes, and Trigger Prototypes, and see how Zabbix can automatically discover and monitor different resources.