9 авг. 2012 г.

Немного о Munin

Когда-то давно на домашнем сервере установил Munin, настроил по умолчанию (c помощью --suggest) и забыл. Со временем что-то изменилось, что-то добавилось: ACPI плагин перестал показывать температуру, потому что при очередном обновлении ядра пропало устройство из /proc/acpi/thermal_zone/что-то_там, появились Apache Tomcat и nginx, для которых тоже интересно получать разные красивые графики. А еще захотелось настроить уведомления о неприятных ситуациях вроде перегрева, недостатка свободного места на дисках и т. п.

Примечание: используется Arch Linux с последним LTS ядром, в других ОС\дистрибутивах пути могут быть другие.

  1. Чтобы опять заработал мониторинг температуры, захардкодил плагин /usr/lib/munin/plugins/acpi (документация пропущена):

    ATZ=`cat /sys/class/thermal/thermal_zone0/temp`
    
    do_ () { # Fetch
        echo temp.value $((ATZ / 1000))
        exit 0
    }
    
    do_config () {
        echo "graph_title ACPI Thermal zone temperatures"
        echo "graph_vlabel Celcius"
        echo "graph_category sensors"
        echo "graph_info This graph shows the temperature in different ACPI Thermal zones.  If there is only one it will usually be the case temperature."
        echo temp.label Temp
    }
    
    do_autoconf () {
        echo yes
        exit 0
    }
    
    case $1 in
        config|autoconf|'')
        eval do_$1
    esac
    
    exit $?
    

    Раньше тут был цикл по всем датчикам и разбор их показаний. Теперь я просто читаю показания из файла. Температура там хранится в тысячекратном размере, поэтому перед выводом число нужно разделить на 1000. И, собственно, для Munin надо подготовить данные в виде:

    <row_name>.value <value>
    <row_name>.label <label>
    

    Где <row_name> — название «датчика» (temp). Value и label говорят за себя.

    Для разных систем пути к датчикам будут отличаться.

  2. Чтобы заработал плагин температуры жестких дисков hddtemp_smartctll (есть и другие для этой же цели), нужно добавить названия устройств в конфигурационный файл /etc/munin/plugin-conf.d/hddtemp_smartctl:

    [hddtemp_smartctl]
    env.drives sda
    

    А также убедиться, что munin-node работает из-под рута, чтобы плагин мог достучаться до SMART.

Комментариев нет :

Отправить комментарий