Короткий ответ
Серый 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 | сеть/community | SNMP |
| key not supported | этот материал | ключ/плагин |
| триггер молчит | expression | триггер |
| тысячи мусорных item | LLD | LLD |
Возможные причины
- Опечатка ключа, неверный параметр (
vfs.fs.size[/,pfree]vs WindowsC:). - Тип item = Zabbix agent, а ключ только у plugin agent 2 (или наоборот agent 1).
DenyKey/AllowKeyрежетsystem.run,vfs.file.*, perf.- Type of information не совпал с возвратом (число vs text), preprocessing JSONPath пуст.
- Timeout: ключ тяжёлый (SMART, powershell), дефолт 3s.
- SNMP OID нет на этом устройстве, но шаблон общий.
- LLD: discovered FS, который уже отмонтирован; lifetime ещё держит item.
- Редко: 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.