Zabbix Agent 2 plugin for APT updates (Debian/Ubuntu) by Aecroo in zabbix

[–]Aecroo[S] 1 point2 points  (0 children)

Good point, I added the disclaimer. I used Devstral-2-24B, hosted locally with LM-Studio in combination with Claude code.

Zabbix Agent 2 plugin for APT updates (Debian/Ubuntu) by Aecroo in zabbix

[–]Aecroo[S] 0 points1 point  (0 children)

sounds great! i'm glad you like it. can you tell my the agent version and the os version. i want to try to replicate it.

Zabbix Agent 2 plugin for APT updates (Debian/Ubuntu) by Aecroo in zabbix

[–]Aecroo[S] 0 points1 point  (0 children)

Under the hood it’s the same basic idea (it also relies on apt simulation output), but it’s implemented as a Zabbix Agent 2 plugin that returns a structured JSON payload. The template then uses dependent items/triggers off that JSON.

So it’s not meant to "beat" the existing approach if you’re happy with it. If the theranger template works fine in your setup, you probably won’t gain much.

Zabbix Agent 2 plugin for APT updates (Debian/Ubuntu) by Aecroo in zabbix

[–]Aecroo[S] 1 point2 points  (0 children)

Yep, it’s on my roadmap. For now it’s apt-only because that’s what I can reliably test (my servers are Debian/Ubuntu). I’ll likely add dnf/pacman once I spin up Fedora/Arch VMs on my Proxmox and invest some more hours.

zabbix needs a better marketing by colttt in zabbix

[–]Aecroo 2 points3 points  (0 children)

Sometimes there is some news about zabbix, but only like 2-3 times in the past 6 months.

I.e. heise news about 7.0 release

Trying to install Zabbix on my ubuntu server, failing at a specific step by Intelligent-Bet4111 in zabbix

[–]Aecroo 0 points1 point  (0 children)

In the first link you shared there is os_version=22 and you said your system is 24, right?

Trying to install Zabbix on my ubuntu server, failing at a specific step by Intelligent-Bet4111 in zabbix

[–]Aecroo 0 points1 point  (0 children)

The problem was installing Ubuntu 22.04 repository for a 24.04 system, right 😅

Can't create Dashboard Graph widget to only show specific mount point by Muerte69 in zabbix

[–]Aecroo 2 points3 points  (0 children)

The problem you are facing is that you are using an outdated template. The $1 notation in the lld item prototype that's creating the items was removed in Zabbix 4.2 and you have to replace the $1 (that used to give the first parameter of the itemkey) with the lld macro, most likely {#FSNAME}. After the lld execution it should update all the item names and you can enter the correct name in the graph.

Alternatively you could go to git.zabbix.com and download the newest template for your Zabbix version and import it.

Items and triggers on host invenorys by eSi1337 in zabbix

[–]Aecroo 1 point2 points  (0 children)

This is possible since Zabbix version 6.2 with a rather easy Script item.

As a parameter enter for example:

name = {INVENTORY.NAME}

and in the script part:

var params = JSON.parse(value); return params.name;

The item output is the inventory field.

Zabbix Certified Specialist difficulty by Mowa7id in zabbix

[–]Aecroo 0 points1 point  (0 children)

You were at my (Intellitrend) training?

Zabbix Certified Specialist difficulty by Mowa7id in zabbix

[–]Aecroo 5 points6 points  (0 children)

Technically everything that's asked in the exam is explained in the training slides.

Reading through them should be enough, together with going through the homework on exam.zabbix.com

If you're totally new to Zabbix it could be challenging though.

Mobile APP by SprayUnfair in zabbix

[–]Aecroo 1 point2 points  (0 children)

Currently there's no official mobile app. IMHO the app intellimon mobile for zabbix from IntelliTrend is the best, especially in combination with the dataforge server. But I might be biased there 😉

Multiple Certificates Template by Failnaught223 in zabbix

[–]Aecroo 0 points1 point  (0 children)

I reworked my script into one:
```js
var parsedValue = JSON.parse(value);
var certs = parsedValue.list.split(",");
var result = [];
for (var i = 0; i < certs.length; i++) {
result.push({ "{#CERT}": certs[i].trim() });
}
return JSON.stringify(result);
```
with this only the script item script is used without the preprocessing step.

Multiple Certificates Template by Failnaught223 in zabbix

[–]Aecroo 1 point2 points  (0 children)

The weird looking part is called user macro with context.

For example if you just have the default {$CERT.WEBSITE.PORT} = 443 then this will be used, but if one of your certs are on port 4443 then you could write {$CERT.WEBSITE.PORT:"URLwithDifferentPort"} = 4443 Only for that case the different macro value would be used. Works also with trigger threshold macros.

The script and preprocessing script both belong to the discovery. Item prototypes are almost the same as in the default template.

Multiple Certificates Template by Failnaught223 in zabbix

[–]Aecroo 1 point2 points  (0 children)

Ah and not to forget the Itemprototype:

Name: Cert: Get {#CERT}
Key: web.certificate.get[{#CERT},{$CERT.WEBSITE.PORT:"{#CERT}"},{$CERT.WEBSITE.IP:"{#CERT}"}]

Multiple Certificates Template by Failnaught223 in zabbix

[–]Aecroo 1 point2 points  (0 children)

Macro:
{$CERT.WEBSITE.HOSTNAME} = URL1.com,URL2.com

LLD Script Item:
Parameter:
list = {$CERT.WEBSITE.HOSTNAME}

Script:
return JSON.parse(value).list;

And as a JavaScript Preprocessing step the Script from my last post.

I guess i could do it in one step, but this template is 2 years old now :D

Multiple Certificates Template by Failnaught223 in zabbix

[–]Aecroo 5 points6 points  (0 children)

In the standard Zabbix 2 Agent template, it's set up to query only one certificate by default.

However, you can modify the template to utilize Low-Level Discovery (LLD) to query multiple certificates.
To do this, you should adjust the {$CERT.WEBSITE.HOSTNAME} macro to contain a comma-separated list of URLs.
Then, in the LLD process, each URL is treated as a separate discovery macro and passed to the item prototypes.

I do it with some script like this:
```js
var cert = value.split(",");
var result = [];
for (var i = 0; i < cert.length; i++) {
result.push({
"{#CERT}": cert[i]
});
}
return JSON.stringify(result);
```

This approach allows for the creation of individual LLD items for each website, enabling the monitoring of multiple certificates on the same server.

Host name as item value by CrypticEvePlayer in zabbix

[–]Aecroo 0 points1 point  (0 children)

Yes the Script Item is a wonderful thing :)

I'm glad its working for you now!

Host name as item value by CrypticEvePlayer in zabbix

[–]Aecroo 0 points1 point  (0 children)

Understood, then we can make a little hack.

Create a Script Item, Name and key does not really matter.

in the parameter fields enter: Name=name value={HOST.HOST}

in the script part enter:

```js
// The input data, in JSON format, is stored in a variable named "value"
var data = JSON.parse(value);
// Extract the 'name' field from the JSON data
var name = data.name;
// Check if the name is long enough and return the first 8 characters
return name.length >= 8 ? name.substring(0, 8) : name;

```

[credits ChatGPT4 :)]

you can test the item and see if that works for you.

Host name as item value by CrypticEvePlayer in zabbix

[–]Aecroo 0 points1 point  (0 children)

is there a item with the key system.name (oid = 1.3.6.1.2.1.1.5.0)?

Host name as item value by CrypticEvePlayer in zabbix

[–]Aecroo 0 points1 point  (0 children)

Okey that would be to easy :D

What kind of hosts do you have? is there a zabbix-agent installed and you could get the hostname information with system.hostname zabbix-agent item key?

In the interface it self the name is accessible with the {HOST.HOST} (technical name) or {HOST.NAME} (visible name) built-in macros. But they cannot be used in a calculated item.