Всем привет.
При работе в Zabbix для метрики(item) можно легко получить статус "Unsupported item key." Самое простое объяснение это когда я ошибаюсь с типом метрики - ее значение текстовое, а я выставил число. И наоборот. Но бывают и варианты.
Вариант 1.
Решил я промониторить температуру ЦП через внешнюю команду в агенте Zabbix:
UserParameter=Temperature.CPU[*], C:\Zabbix\CPUtemp.bat
CPUtemp.bat:
for /F "usebackq tokens=7-10" %%a in (`D:\Toolkit\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/intelcpu/0/load/0">nul && set temper0=%%a
echo %temper0%
Ручной контроль параметра:
c:\zabbix\zabbix_agentd.exe --config c:\zabbix\zabbix_agentd.win.conf --print | findstr Temperature
Temperature [m|ZBX_NOTSUPPORTED] [Unsupported item key.]
совет будет другим.
Найдите в конфиге агента параметр "UnsafeUserParameters", он обычно закоментирован и по дефолту равен 0. Уберите знак комментария и установите ему значение 1:
UnsafeUserParameters=1
Это потому что символы \ ‘ » ` * ? [ ] { } ~ $ ! & ; ( ) | # @ изначально не позволены в «UserParameter», а значение "1" снимет это ограничение.
Возможно будут еще варианты.
Успехов.
При работе в Zabbix для метрики(item) можно легко получить статус "Unsupported item key." Самое простое объяснение это когда я ошибаюсь с типом метрики - ее значение текстовое, а я выставил число. И наоборот. Но бывают и варианты.
Вариант 1.
Решил я промониторить температуру ЦП через внешнюю команду в агенте Zabbix:
UserParameter=Temperature.CPU[*], C:\Zabbix\CPUtemp.bat
CPUtemp.bat:
for /F "usebackq tokens=7-10" %%a in (`D:\Toolkit\OpenHardwareMonitor\OpenHardwareMonitorReport.exe`) do echo %%b %%c %%d| find "/intelcpu/0/load/0">nul && set temper0=%%a
echo %temper0%
Ручной контроль параметра:
c:\zabbix\zabbix_agentd.exe --config c:\zabbix\zabbix_agentd.win.conf --print | findstr Temperature
Однако вчера я обратил внимание, что при запуске батника из командной строки, вывод данных происходит с приличной задержкой в 3-5 секунд. В Zabbix по-умолчанию стоит параметр, по которому агент ожидает ответа от скрипта 3 секунды и на сервере есть подобный параметр, по которому сервер ждет ответа от агента 3 секунды. Если за это время данные не поступают, то Item переходит в статус "Not Supported" и данные с него не собираются.
Чтобы избавиться от этой ошибки, необходимо увеличить таймаут не менее 15-ти секунд. Меняем параметр в конфиге на клиентах и на сервере. У меня он и там и там один и тот же, на максимум:
Timeout=30
И 2-й вариант.
Для тех кто столкнулся с похожей ошибкой при работе с параметром:Temperature [m|ZBX_NOTSUPPORTED] [Unsupported item key.]
совет будет другим.
Найдите в конфиге агента параметр "UnsafeUserParameters", он обычно закоментирован и по дефолту равен 0. Уберите знак комментария и установите ему значение 1:
UnsafeUserParameters=1
Это потому что символы \ ‘ » ` * ? [ ] { } ~ $ ! & ; ( ) | # @ изначально не позволены в «UserParameter», а значение "1" снимет это ограничение.
Возможно будут еще варианты.
Успехов.
2 comments:
Поправили тип, переключение с "Not supported" на "Disable", далее на "Enable", но видим "Not supported". Ничего не трогаем, просто ждем минуту или две.
Скорее всего в Timeout=30 смысла нет. Максимум на 15.
Post a Comment
А что вы думаете по этому поводу?