Короткий ответ

Серый item — не «Zabbix сломался». Откройте Configuration → Hosts → WS-042 → Items → колонка Info: там текст причины (Unsupported item key, type mismatch, SNMP, preprocessing). Прогоните тот же ключ через zabbix_get с 10.0.20.50 и PSK psk-ws042. Не делайте массовый Enable на всех unsupported и не копируйте ключи с форума в шаблон Windows, пока не совпал тип агента (passive/active) и AllowKey. Если весь хост пуст — сначала нет данных / агент.

Симптомы и как отличить

Типичная картина:

  • один или пачка item'ов Status = Not supported;
  • trigger в unknown из-за unsupported выражения;
  • LLD создал item с макросом, который на хосте пуст;
  • после апдейта агента 6.0→7.0 часть perf_counter отвалилась.

Отличия:

Info / картинаНе тоКуда
cannot connect 10050доступностьагент
SNMP timeoutсеть/communitySNMP
key not supportedэтот материалключ/плагин
триггер молчитexpressionтриггер
тысячи мусорных itemLLDLLD

Возможные причины

  1. Опечатка ключа, неверный параметр (vfs.fs.size[/,pfree] vs Windows C:).
  2. Тип item = Zabbix agent, а ключ только у plugin agent 2 (или наоборот agent 1).
  3. DenyKey/AllowKey режет system.run, vfs.file.*, perf.
  4. Type of information не совпал с возвратом (число vs text), preprocessing JSONPath пуст.
  5. Timeout: ключ тяжёлый (SMART, powershell), дефолт 3s.
  6. SNMP OID нет на этом устройстве, но шаблон общий.
  7. LLD: discovered FS, который уже отмонтирован; lifetime ещё держит item.
  8. Редко: userparameter синтаксис, SELinux запретил helper, item зависит от master, который unsupported.

Диагностика

1. Текст Info — первоисточник

Скопируйте Info целиком в заявку. Не пересказывайте «не работает». Дальше ветвление по тексту.

2. Ключ локально и с poller

На WS-042 (Linux agent 2):

zabbix_agent2 -t agent.ping
zabbix_agent2 -t 'vfs.fs.size[/,pfree]'

-t у агента тестирует ключ. Это не zabbix_server -T.

С 10.0.20.50:

zabbix_get -s 10.0.20.42 -p 10050 -k 'vfs.fs.size[/,pfree]' \
  --tls-connect psk --tls-psk-identity psk-ws042 \
  --tls-psk-file /etc/zabbix/psk-ws042.psk

Сравните stderr. Локально OK, с сервера fail — AllowKey, TLS, timeout, другой бинарь службы.

Windows:

& 'C:\Program Files\Zabbix Agent 2\zabbix_agent2.exe' -t 'vfs.fs.size[C:,pfree]'
Get-Content 'C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf' |
  Select-String 'AllowKey|DenyKey|Timeout|Plugins'

3. Тип item и интерфейс

Passive ключ на хосте без рабочего Agent interface = unsupported/connect. Active ключ при мёртвом ServerActive = нет данных, иногда not supported после timeout. Сверьте Type: Zabbix agent / Zabbix agent (active) / SNMP agent / HTTP agent / Dependent.

4. Preprocessing

Test в UI (6.0/7.0: Test item) с реальным значением. JSONPath $.x на не-JSON — сразу unsupported. Не чините это сменой интервала.

5. Лог агента

sudo grep -iE 'unsupported|timeout|denied|AllowKey' /var/log/zabbix/zabbix_agent2.log | tail -n 40

Временный DebugLevel=4, один zabbix_get, вернуть 3.

Решение

Сценарий A. Неверный ключ под ОС

Windows диск — vfs.fs.size[C:,pfree], не /. Linux — mountpoint, не буква. Не тащите шаблон Linux на WS-042, если это Windows.

Сценарий B. AllowKey

В agent 2 по умолчанию system.run закрыт. Нужен конкретный:

AllowKey=system.run[systemctl is-active zabbix-agent2]

Не *. Рестарт агента. Проверка тем же zabbix_get.

Сценарий C. Type mismatch

Верните «Numeric (float)» для pfree. Text для JSON сертификата. Не ставьте Log type на gauge.

Сценарий D. Timeout

Поднимите Timeout в агенте и на item согласованно (например 10s для smartctl), не 30s на все ключи — убьёте pollers. Тяжёлые SMART/RAID вынесите в редкий интервал.

Сценарий E. SNMP OID

snmpwalk с 10.0.20.50. Нет OID — другой шаблон/модуль, не «unsupported навсегда enable». См. SNMP статью.

Сценарий F. LLD-мусор

Фильтр discovery, lifetime lost resources. Не удаляйте вручную 400 item'ов каждый понедельник — чините rule.

После любой правки шаблона:

# на 10.0.20.50, когда нужно сбросить кэш конфига
sudo zabbix_server -R config_cache_reload

Как проверить, что проблема устранена

Item Status = Enabled, Info пусто, Latest data с новым timestamp. zabbix_get того же ключа возвращает значение, пригодное для Type. Триггер на этом ключе вышел из unknown. Подождите Refresh unsupported items (в Administration → General, часто 10m), либо Check now.

Если не помогло

  • Dependent item: чините master.
  • Значение есть в -t, UI режет preprocessing (regex не матчится — в 6.0/7.0 можно «custom on fail» вместо unsupported).
  • Ключ с пробелами/кавычками: в zabbix_get -k кавычки оболочки съедают параметры.
  • Плагин Agent 2 не собран (например smart): смотрите документацию плагинов вашей версии, не выдумывайте ключ.

Профилактика

  • Тест ключа в лаборатории до массового link template.
  • LLD-фильтры сразу, не «потом».
  • Не смешивать agent 1 ключи и agent 2 plugins без проверки.
  • Алерт на количество unsupported на хосте > N — иначе серые item'ы живут месяцами.

Типичный рабочий порядок в заявке на zabbix.example: скрин колонки Info, ключ целиком, вывод zabbix_get с 10.0.20.50 и identity psk-ws042, тип item и имя шаблона, затем точечная правка ключа, AllowKey или preprocessing. Не закрывайте тикет формулировкой «unsupported сам прошёл»: интервал Refresh unsupported items маскирует флапающий ключ, и он вернётся.

На Windows WS-042 чаще ломаются счётчики производительности после смены языка ОС и vfs.fs.size[C:,pfree] при отсутствии тома. На Linux — mount с пробелом, fuse и systemd.unit.info на unit, которого нет в образе. LLD-прототип с пустым макросом даёт пачку серых детей: чините discovery rule, не один элемент.

Не путайте Not supported с disabled. Disabled выключили вы; unsupported вычислил сервер. Массовый Enable без чтения Info вернёт те же ошибки и только поднимет очередь poller на 10.0.20.50.

FAQ

Unsupported и «нет данных» — одно?

Нет. Unsupported — Zabbix пытался и получил ошибку ключа/типа. Нет данных — не получил значение (down, очередь, active). Разный ремонт.

Можно ли игнорировать Info и пересоздать item?

Потеряете историю и не вылечите шаблон: через LLD он вернётся.

Check now не снимает unsupported сразу

Кэш и интервал refresh unsupported. Смотрите Info после Test.

Почему после обновления агента пачка серых?

Удалили устаревший ключ, perf counter переименован в Windows, plugin off. Читайте changelog агента 6.0/7.0, не откатывайте пакет «на всякий».

UserParameter работает в shell, не в Zabbix

PATH службы короче, SELinux, относительный путь. Пишите абсолютные пути в UserParameter.

Нужен ли DebugLevel=5 на шаблон из 200 item?

Нет. Одна воспроизводящая команда zabbix_get, не ночной debug.