Вы установили что-нибудь, что недавно работает вместе с IIS? Например, я полагаю, что UrlScan препятствует тому, чтобы .exe файлы были получены доступ по умолчанию.
Не проверяйте сценарии munin, если выполняются только прямые сценарии. Это неправильный путь. Существует специальный Perl-скрипт munin-run
, который выполняет скрипты точно так же, как и во время обновления munin, и вы сможете найти все ошибки.
Возможно, вам потребуется определить специальные настройки для вашего скрипта. Вы можете сделать это в файле /etc/munin/plugin-conf.d/munin-node
следующим образом:
[script_file_mask_*]
user USER_FOR_YOR_SCRIPT
env.VARIABLE some_variable
В вашем случае кажется, что скрипту просто не удалось прочитать файл журнала. Поэтому добавьте
[lighttpd_*]
user root
в /etc/munin/plugin-conf.d/munin-node
и перезапустите узел munin. Это должно помочь.
Проверьте /etc/munin/munin-node.conf , какое имя пользователя работает под munin, и может ли этот пользователь читать файлы журнала lighttpd.
Не знаю, удавалось ли вам когда-нибудь исправить это самостоятельно, но я это сделал и подумал, что поделюсь своим решением.
Раш был прав, предлагая запустить его как root , но настоящая ошибка, похоже, связана с вашим выбором имени для ваших полей (1xx, 2xx, 3xx, ...). Согласно эта страница вики :
Каждый источник данных в подключаемом модуле должен быть идентифицирован по имени поля. Ниже приводится описание названия поля:
* Символы должны быть [a-zA-Z0-9_], , а первый символ должен быть [a-zA-Z _] .
Вот почему вы когда-либо видели только 5xx на своем графике и без результатов. При создании файлов rdd munin заменил числа символом подчеркивания (например, _xx), что означало, что данные были перезаписаны для каждого из 5 полей. Простое решение - добавить букву к именам полей, например так:
graph_category lighttpd
T1xx.label 1xx
T2xx.label 2xx
T3xx.label 3xx
T4xx.label 4xx
T5xx.label 5xx
EOM
echo "T1xx.value "$CODE_1xx
echo "T2xx.value "$CODE_2xx
echo "T3xx.value "$CODE_3xx
echo "T4xx.value "$CODE_4xx
echo "T5xx.value "$CODE_5xx
else
echo "T1xx.value U"
echo "T2xx.value U"
echo "T3xx.value U"
echo "T4xx.value U"
echo "T5xx.value U"
fi
Вот так, ваш скрипт работает отлично.