Рубрики
syslog \ rsyslog \ zabbix Конспект

Конспект: zabbix

Установка zabbix-server

!!! можно воспользоваться официальной инструкцией 
!!! https://www.zabbix.com/ru/download?zabbix=5.4&os_distribution=debian&os_version=11_bullseye&db=mysql&ws=apache 

0. устанавливаем пакет
apt install zabbix-server-mysql

1. Создаем файл zabbix.sql
nano zabbix.sql
---------------
#drop database zabbix;
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
---------------

2. Создаем базу
mysql < zabbix.sql

3. Загружаем таблицы
zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -uzabbix -pzabbix zabbix  
zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -uzabbix -pzabbix zabbix
zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -uzabbix -pzabbix zabbix

3. Редактируем конфигурацию сервера zabbix
nano /etc/zabbix/zabbix_server.conf
Можно просто вставить в самый конец файла.
-----------------------------------
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
-----------------------------------

4. Запускаем zabbix
systemctl enable zabbix-server
service zabbix-server start

Установка и запуск web интерфейса

0. Установка пакетов
apt install zabbix-frontend-php php-mysql

1. Редактируем файл и указываем правильную временную зону
/etc/apache2/conf-available/zabbix-frontend-php.conf
----------------------------------------------------
php_value date.timezone Europe/Moscow
----------------------------------------------------

2. Активируем конфиг и перезапускаем zabbix
a2enconf zabbix-frontend-php
service apache2 reload

3. Создаем пустой файл и выдаем на него права для apache2
touch /etc/zabbix/zabbix.conf.php
chown www-data /etc/zabbix/zabbix.conf.php

4. Заходим на веб интерфейс
http://ВАШ_IP_адрес/zabbix/setup.php

5. Проверяем конфиг
less /etc/zabbix/zabbix.conf.php
--------------------------------

Пароль по умолчанию

Логин: Admin
Пароль: zabbix

Что и как мониторит zabbix

Собственно мониторинг начинается тогда когда будет подключен хотя бы один item (Элемент данных)
Т.е. настроенный интерфейс в хосте ни на что не влияет.(почти)

Простые проверки

https://www.zabbix.com/documentation/4.0/ru/manual/config/items/itemtypes/simple_checks - док
Хост может не иметь не одного интерфейса zabbix, но можно выполнять простые проверки.

варианты:
net.tcp.service[http] 
net.tcp.service.perf[http,,8080]
net.tcp.service[ftp,,155]
net.udp.service.perf[ntp]
net.tcp.service.perf[http] - возвращает float (число с точкой)

Пример net.tcp.service.perf[http]
Создаем узел.
Имя узла сети: ya.ru
Группа: любая
Интерфейс любой: главное указать DNS (в нашем случае ya.ru)
Добавляем item (Элемент данных)
Имя: любое
Тип: Simple check(Простая проверка)
Тип информации: Float (Число с точкой)
Интервал обновления: желаемый (30s 10m 9h 300d)

Ну и собственно можем идти наблюдать в в мониторинге -> Последние данные

Также никто нам не запрещает создать узел и в варианте простой проверки указывать следующие:
icmpping[192.168.1.1] - возвращает dec (целое число) (0 - Fulse (не сработала), 1 - True(ок, сработала))
net.tcp.service[tcp,192.168.15.53,3389] - проверяем доступность порта 3389 (rdp) для хоста 192.168.15.53
То есть указывать хос\порт\протокол который мы проверяем, и одним узлом проверять множество узлов.





Триггеры

{ya.ru:net.tcp.service.perf[http].last()}=0
{server.corpX.un:icmpping[192.168.1.1].last()}=0
{server.corpX.un:net.tcp.service[tcp,192.168.15.53,3389].last()}=0

Можно настроить зависимость триггера, что бы он не срабатывал когда сработал другой триггер.
Например у нас есть два триггера. 
Один проверяет доступность интернета. 
Второй проверяет доступность сайта в интернете.
Логично будет что бы срабатывал только первый когда у нас не доступен интернет.


Так же можно вычислять среднее значение для срабатывания триггера 
{ya.ru:net.tcp.service.perf[https].avg(5m)}>0.4  

zabbix пассивное получение значений / элемент trapper

Настройка узла
--------------
Name: my item (как угодно)
Type: Zabbix trapper
Key: my.item
Allowed hosts: 127.0.0.1
---------------


zabbix_sender -z 127.0.0.1 -p 10051 -s server -k my.item -o 1

zabbix-agent минимальная конфигурация

zabbix_get -s IP/DNSNAME -p 10050 -k agent.version - тестирование подключения к zabbix-server с сервера zabbix
zabbix_agent -p - показать доступные  элементы

Zabbix-agent в обычном режиме
vim /etc/zabbix/zabbix-agentd.comf
----------------------------------
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=0
Server=IP_ADDRESS_SERVER_ZABBIX
#ServerActive=IP_ADDRESS_SERVER_ZABBIX 
Hostname=HOSTNAME_CLIENT_FOR_ZABBIX
Include=/etc/zabbix/zabbix_agentd.conf.d/
----------------------------------


Zabbix-agent в активном режиме
vim /etc/zabbix/zabbix-agentd.conf
!!! для этого режима требуется настраивать обнаружение (Настройка->Действия->Авто регистрация)
!!! в авто Дискавери не забудь прикрепить шаблон Zabbix agent (active), а иначе получишь неадекватные данные
----------------------------------

LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=0
StartAgents=0          # Не слушаем сеть \ не ожидаем подключения заббикс сервера

#Server=192.168.15.246 # эта запись не нужна в активном режиме

ServerActive=192.168.15.246 # как раз этой записью сообщаем агенту что данные шлем сами

Hostname=HOSTNAME_CLIENT_FOR_ZABBIX # как наш агент будет представляется серверу заббикс

ListenIP=0.0.0.0 # не сообщаем свой IP адресс

Include=/etc/zabbix/zabbix_agentd.conf.d/

----------------------------------

Установка агента zabbix на CentOS7:

yum install -y zabbix-agent  - установка агента 
systemctl start zabbix-agent - запуск агента 
systemctl enable zabbix-agent - добавление в автозагрузку

nano /etc/zabbix/zabbix_agentd.conf - редактируем и исправляем строки
----------------------------------
StartAgents=2
Server=192.168.15.246 - ip нашего сервера zabbix
Hostname=sdv - имя клиента который подключается к zabbix
----------------------------------

service zabbix-agent stop - останавливаем агент
service zabbix-agent start - запускаем агент

Установка агента zabbix на debian:

apt update
apt upgrade
apt install zabbix-agent  - установка агента 
systemctl start zabbix-agent - запуск агента 
systemctl enable zabbix-agent - добавление в автозагрузку

nano /etc/zabbix/zabbix_agentd.conf - редактируем и исправляем строки
----------------------------------
StartAgents=2
Server=192.168.15.246 - ip нашего сервера zabbix
Hostname=sdv - имя клиента который подключается к zabbix
----------------------------------

service zabbix-agent stop - останавливаем агент
service zabbix-agent start - запускаем агент

Установка агента zabbix на windows:

0. Качаем agent zabbix для windows 
https://www.zabbix.com/download_agents#tab:34
1. Создаем папку zabbix на диске c:\

2. Распаковываем в нее 4 файла 
zabbix_agentd.exe
zabbix_agentd.win.conf
zabbix_get.exe
zabbix_sender.exe

3. редактируем файл zabbix_agentd.win.conf
------------------------------------------
Server = 192.168.15.246  - ip адрес Zabbix-севера 
Hostname = namehost - имя хоста, на который устанавливаем агент
HostnameItem = PC_NAME - имя хоста, на который устанавливаем агент
LogFile=c:\zabbix\zabbix_agentd.log - указываем место для записи логов в файл
------------------------------------------

4. Переходим в каталог на клиенте
cd c:\zabbix
5. Устанавливаем службу agent-zabbix
zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf --install

6.Нужно создать разрешающее правило в Брандмауэре Windows.
Брандмауэр Защитника Windows – Дополнительные параметры – Правило для входящих подключений – Создать правило…

Тип правила: Для порта;
Протоколы и порты: Протокол TCP; Определенные локальные порты: 10050;
Действие: Разрешить подключение;
Профиль: Галочки Доменный, Частный, Публичный;
Имя: Zabbix Agent;

Zabbix-agent в обычном режиме + psk

== На клиенте ==
0. редактируем конфиг агента 
vim /etc/zabbix/zabbix-agentd.comf
----------------------------------
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=0
Server=IP_ADDRESS_SERVER_ZABBIX
Hostname=ClientZabbix
Include=/etc/zabbix/zabbix_agentd.conf.d/

TLSConnect=psk
TLSAccept=psk
##TLSAccept=unencrypted,psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
TLSPSKIdentity=ClientZabbix
----------------------------------

1.  Генерируем файл PSK  и распространяем его между агентами и сервером zabbix
openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk - генерируем файл PSK 
scp /etc/zabbix/zabbix_agentd.psk server_zabbix:ClientZabbix.psk - копируем файл на server_zabbix
service zabbix-agent restart - перезапускаем агент

== На сервере ==
2. Проверяем
zabbix_get -s IP/DNSNAME -p 10050 -k agent.version - тестирование подключения к zabbix-server с сервера zabbix

zabbix_get -s ClientZabbix -p 10050 -k agent.version - проверяем без ключа
zabbix_get -s ClientZabbix -k system.sw.packages --tls-connect=psk --tls-psk-identity="ClientZabbix" --tls-psk-file=ClientZabbix.psk - тестируем с ключом 

3. В веб интерфейсе zabbix-server добавляем шифрование по PSK для узла ClientZabbix

Макросы

Макросы в zabbix, они же переменные. 
Макрос - перед макросам должен быть знак доллар ($) 
и все это заключено в фигурные скобки {}, пример:
{$SSH_PORT} 



UserParameter

Используется для написания своих ключей для zabbix-agent

vim /etc/zabbix/zabbix-agentd.comf - добавляем 
----------------------------------

#UnsafeUserParameters=1
#UserParameter=listinstalledsoft,powershell -Command Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; powershell -Command Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
#UserParameter=lmstat[*],C:\Progra~1\PTC\flexnet\bin\lmutil lmstat -a -c $1

#UserParameter=dir[*],dir $1
#UserParameter=runcommand[*],$1

UserParameter=bbb[*],wc -l $1 | cut -d' ' -f1
----------------------------------

service zabbix-agent restart - перезапускаем агент


Проверяем:

zabbix_get -s gate -k bbb[/etc/passwd]

sudo -u zabbix zabbix_agentd -t 'bbb[/etc/passwd]'

UserParameter пример с ssl (проверяем сколько жить сертификату сайта )

0.
!!! В zabbix_agentd.conf должен быть параметр (Include=/etc/zabbix/zabbix_agentd.d/*.conf)
vim /etc/zabbix/zabbix-agentd.comf
-----------------------------------------
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,85.143.162.134
ServerActive=127.0.0.1
StartAgents=2
Hostname=Zabbix Server
Timeout=10
UnsafeUserParameters=0

Include=/etc/zabbix/zabbix_agentd.d/*.conf
------------------------------------------

1. В каталоге  (/etc/zabbix/zabbix_agentd.d/) файл ssl.conf
vim /etc/zabbix/zabbix_agentd.d/ssl.conf
------------------------------------------
UserParameter=ssl.discovery[*],/etc/zabbix/scripts/sslcheck/ssl_discovery.sh
UserParameter=ssl.expire[*],/etc/zabbix/scripts/sslcheck/ssl_check.sh $1
------------------------------------------

2.  в каталоге (/etc.zabbix.scripts/sslcheck/) файлы: 
list.txt - список доменов у которых проверяем ssl

vim ssl_check.sh - скрипт который проверяет валидность сертификата сайта 
---------------------------------------------
#!/bin/sh
SERVER=$1
TIMEOUT=25
RETVAL=0
TIMESTAMP=`echo | date`
if [ -z "$2" ]
then
PORT=443;
else
PORT=$2;
fi
EXPIRE_DATE=`echo | openssl s_client -connect $SERVER:$PORT -servername $SERVER 2>/dev/null | openssl x509 -noout -dates 2>/dev/null | grep notAfter | cut -d'=' -f2`
EXPIRE_SECS=`date -d "${EXPIRE_DATE}" +%s`
EXPIRE_TIME=$(( ${EXPIRE_SECS} - `date +%s` ))
if test $EXPIRE_TIME -lt 0
then
RETVAL=0
else
RETVAL=$(( ${EXPIRE_TIME} / 24 / 3600 ))
fi

echo ${RETVAL}
------------------------------------

vim ssl_discovery.sh - файл приводит список lixt.txt для читаемости zabbix
-----------------------------
#!/bin/bash
JSON=$(for i in `cat /etc/zabbix/scripts/sslcheck/list.txt`; do printf "{\"{#SSL}\":\"$i\"},"; done | sed 's/^\(.*\).$/\1/')
printf "{\"data\":["
printf "$JSON"
printf "]}"
-----------------------------


4. Тестирование 
root@zabbix-server:~# sudo -u zabbix zabbix_agentd -t 'ssl.discovery'
ssl.discovery                                 [t|{"data":[{"{#SSL}":"XXXXX.ru"},{"{#SSL}":"XXXXX.ru"},{"{#SSL}":"XXXXX.ru"},{"{#SSL}":"XXXXX.ru"}]}]

root@zabbix-server:~#  sudo -u zabbix zabbix_agentd -t 'ssl.expire[XXXXX.ru]'
ssl.expire[XXXXX.ru]          [t|400]

curl -Is https://XXXXX.ru | head -n 1

UserParameter пример с dhcp

0. Устанавливаем пакет 
apt install dhcpd-pools - устанавливаем пакет dhcpd-pools

1. Проверяем работу программы которая нам будет показывать сколько выдано у нас адресов
dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf - покажет сколько адресов выдано 

2. создаем скрипт dhcp_stat.sh
vim  /etc/zabbix/scripts/dhcp_stat.sh (!!! все любят складывать скрипты /usr/local/bin/)
-------------------------------
#!/bin/sh

CMD='/usr/bin/dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf -f c | grep 192.168.8'
MAX=`eval $CMD | cut -d'"' -f8`
CUR=`eval $CMD | cut -d'"' -f10`

eval RES=\$$1

echo $RES
-------------------------------

Примеры запуска: 
# /usr/local/bin/dhcp_stat.sh MAX
# /usr/local/bin/dhcp_stat.sh CUR

3. создаем файл в каталоге (/etc/zabbix/zabbix_agentd.d/) с именем (dhcp.conf)
vim /etc/zabbix/zabbix_agentd.d/dhcp.conf
------------------------------------------
UserParameter=dhcp.stat[*],/usr/local/bin/dhcp_stat.sh $1
------------------------------------------

4. Проверка
zabbix_get -s gate -k dhcp.stat[CUR]
zabbix_get -s gate -k dhcp.stat[MAX]

sudo -u zabbix zabbix_agentd -t 'dhcp.stat[CUR]'
sudo -u zabbix zabbix_agentd -t 'dhcp.stat[MAX]'

zabbix_agentd -t / zabbix_get

apt install jq - установка пакета jq для работы с json

zabbix_agentd -t agent.version

zabbix_agentd -t net.if.discovery
zabbix_agentd -t net.if.in[eth0]
zabbix_agentd -t net.if.out[eth0]

zabbix_agentd -t vfs.fs.dicovery 
zabbix_agentd -t vfs.fs.size[/,pused]


!!! zabbix_get - устарел, ставится отдельным пакетом.
zabbix_get -s 192.168.1.10 -p 10050 -k agent.version
zabbix_get -s 192.168.1.10 -p 10050 -k system.sw.os

zabbix_get -s 192.168.1.10 -p 10050 -k system.cpu.util

zabbix_get -s 192.168.1.10 -p 10050 -k net.if.discovery
zabbix_get -s 192.168.1.10 -p 10050 -k net.if.in["eth0"]
zabbix_get -s 192.168.1.10 -p 10050 -k net.if.out["eth0"]

zabbix_get -s 192.168.1.10 -p 10050 -k vfs.fs.discovery
zabbix_get -s 192.168.1.10 -p 10050 -k vfs.fs.size[/,pused]

SNMP

!!! snmp - simple network manager protocol
!!! apt install snmp snmp-mibs-downloader - установка
!!! MIB - manager information base
!!! https://wiki.mikrotik.com/wiki/Manual:SNMP
!!! /interface> print oid
!!! 
:> /etc/snmp/snmp.conf - очистим содержимое конфига

snmpget
snmpset
sbmpwalk

snmpget -c public -v2c 10.0.0.25 .1.3.6.1.2.1.2.2.1.2.3 - получить инфу по MIB .1.3.6.1.2.1.2.2.1.2.3
snmpget -c public -v2c 10.0.0.25 iso.3.6.1.2.1.1.5.0 - получить инфу по MIB iso.3.6.1.2.1.1.5.0

snmpwalk -c public -v2c 10.0.0.25 - получить все MIB с устройства с ip 10.0.0.25


Установка и запуск zabbix proxy

0. устанавливаем
apt install snmp
apt install zabbix-proxy-mysql

1. готовим базу данных
mysql
---------------------------
#drop database zabbix_proxy;
#create database zabbix_proxy character set utf8 collate utf8_bin;
gran all privileges on zabbix_proxy.* to zabbix@localhost indentified by 'zabbix';
---------------------------

zcat /usr/share/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabix -p zabbix_proxy

2. редактируем конфиг
vim /etc/zabbix/zabbix_proxy.conf
---------------------------------
Hostname=gate
ConfigFrequency=60
Server=zabbix.mynet.inc
DBName=zabbix_proxy
DBuser=zabbix
DBPassword=zabbix
--------------------------------

3. запускаем
systemctl enable zabbix-proxy
service zabbix-proxy start

zabbix api

apt install curl jq

0. получаем ключ для запросов к заббикс
curl -s -k -X POST -H 'Content-type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
} ' http://127.0.0.1/zabbix/api_jsonrpc.php

!!! тут мы получим ключ который потребуется далее
{
    "jsonrpc": "2.0",
    "result": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "id": 1
}
!!! ключ живет ровно столько сколько указано для времени активного сеанса пользователя
!!! по умолчанию 30 дней 


1. получаем список хостов из заббикс
curl -s -k -X POST -H 'Content-type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
    },
    "id": 2,
    "auth": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
} ' http://127.0.0.1/zabbix/api_jsonrpc.php

Отключить \ выключить вход через ldap:

mysql
use zabbix;
update config set authentication_type=0;

MIB \ snmp \ snptt

apt-get install snmp-mibs-downloader
apt install snmptt

### Добавить mib
download-mibs
sed -i "s/^\(mibs *:\).*/#\1/" /etc/snmp/snmp.conf
service snmpd restart


### Пример конфига  snmptt.conf
vim  /etc/snmp/snmptt.conf
--------------------------
EVENT ELRPReport .1.3.6.1.4.1.1916.1.1.6.0.2 "Status Events" Normal
FORMAT ZBXTRAP $A $aA $3

EVENT BGPSESSCHANGE .1.3.6.1.4.1.2636.4.12.0.1 "Status Events" Normal
FORMAT ZBXTRAP $A $aA $8
--------------------------
systemctl restart  snmptt.service 

zabbix ограничение страниц в 20

zabbix ограничение страниц в 20
zabbix ограничения на количество элементов данных

Решение:
администрирование - общие параметры - gui

Отключить триггеры на интерфейсы для хоста super_host_name1, база mysql

use zabbix;
UPDATE triggers
SET status = 1
WHERE triggers.triggerid IN (
    SELECT triggers.triggerid
    FROM
 hosts,
 items,
 functions,
 triggers
    WHERE
 items.hostid = hosts.hostid
 AND
 items.itemid = functions.itemid
 AND
 functions.triggerid = triggers.triggerid
 AND
 triggers.description LIKE 'Interface % is {ITEM.VALUE1} on {HOST.NAME}'
 AND
 hosts.host = 'super_host_name1'

);

Отключить триггеры на интерфейсы для хоста super_host_name1, база postgres

UPDATE triggers
SET status = 1
WHERE triggers.triggerid IN (
    SELECT triggers.triggerid
    FROM
 public.hosts,
 public.items,
 public.functions,
 public.triggers
    WHERE
 items.hostid = hosts.hostid
 AND
 items.itemid = functions.itemid
 AND
 functions.triggerid = triggers.triggerid
 AND
 triggers.description LIKE 'Interface % is {ITEM.VALUE1} on {HOST.NAME}'
 AND
 hosts.host = 'super_host_name1'

);

ссылки:

https://www.zabbix.com/documentation/current/
https://www.zabbix.com/documentation/3.4/ru/manual/discovery/auto_registration - авто регистрация агентов
https://www.zabbix.com/documentation/4.2/ru/manual/config/items/itemtypes/zabbix_agent

https://www.zabbix.com/documentation/4.0/ru/manual/config/macros

https://www.zabbix.com/documentation/4.0/ru/manual/config/templates

https://www.zabbix.com/documentation/current/ru/manual/encryption/using_pre_shared_keys - использование шифрования

https://www.zabbix.com/documentation/current/ru/manual/api - документация zabbix Api
https://pypi.org/project/py-zabbix/  - документация zabbix Api управляем с помощью py-zabbix

https://www.zabbix.com/ru/solutions - решения на zabbix

https://share.zabbix.com/network_devices - огромная база template / шаблонов

https://wikival.bmstu.ru/doku.php?id=zabbix._мониторинг_it_инфраструктуры_предприятия
https://tradenark.com.ua/monitoring/zabbix/check-ssl-certificate-expire-date/


https://ixnfo.com/ustanovka-mib-v-ubuntu-i-reshenie-oshibki-snmp-cannot-find-module.html - MIB


карта / maps:

https://wikival.bmstu.ru/dokuwiki/doku.php?id=zabbix._%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3_it_%D0%B8%D0%BD%D1%84%D1%80%D0%B0%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F_2024


Icon: Cloud(96)
Label: ISP

Host: gate.corpX.un 
Label: {HOST.CONN}
Через Ctrl выделить элементы, добавить Link и подписать его значениями трафика
Zabbix <=5

Out: {gate.corpX.un:net.if.out["eth1"].last()}
In: {gate.corpX.un:net.if.in["eth1"].last()}
Download: {server.corpX.un:speedtest.download.last()}
Upload: {server.corpX.un:speedtest.upload.last()}
Zabbix >=6

Out: {?last(/gate.corpX.un/net.if.out["eth1"])}
In: {?last(/gate.corpX.un/net.if.in["eth1"])}
Download: {?last(/server.corpX.un/speedtest.download)}
Upload: {?last(/server.corpX.un/speedtest.upload)}

Мои значения на карте:

{HOST.NAME} 
{HOST.CONN}

OUT enp1s0: {?last(/nxp-9.lab.local/net.if.out["enp1s0"])}
IN enp1s0: {?last(/nxp-9.lab.local/net.if.in["enp1s0"])}

CPU Utilization: {?last(/nxp-9.lab.local/system.cpu.util)}
Number of CPUs: {?last(/nxp-9.lab.local/system.cpu.num)}

Memory Used:  {?last(/nxp-9.lab.local/vm.memory.utilization)}
Memory Total:{?last(/nxp-9.lab.local/vm.memory.size[total])}


Used Disk: {?last(/nxp-9.lab.local/vfs.fs.dependent.size[/,used])} 
Total Disk  {?last(/nxp-9.lab.local/vfs.fs.dependent.size[/,total])}




--------------------------------------------------------------------

{HOST.NAME}
{HOST.CONN}

OUT enp1s0: {?last(/Zabbix server/net.if.out["enp1s0"])}
IN enp1s0: {?last(/Zabbix server/net.if.in["enp1s0"])}

CPU Utilization: {?last(/Zabbix server/system.cpu.util)}
Number of CPUs: {?last(/Zabbix server/system.cpu.num)}

Memory Used:  {?last(/Zabbix server/vm.memory.utilization)}
Memory Total:{?last(/Zabbix server/vm.memory.size[total])}


Used Disk: {?last(/Zabbix server/vfs.fs.dependent.size[/,used])} 
Total Disk  {?last(/Zabbix server/vfs.fs.dependent.size[/,total])}