Итак, после проведенных манипуляций, описанных в первой, части имеем примерно следующий вид:
1 | cd /etc/munin/plugins/ ls -la |
hddtemp_smartctl
Займемся настройкой плагинов. Начнем с hddtemp_smartctl. Этот плагин покажет нам температуру жестких дисков, используя технологию S.M.A.R.T
S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.
Первым делом выясняем сколько у нас дисков, какие они и включен ли на них S.M.A.R.T.
1 | fdisk -l |
1 | Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 ... ... |
Проверяем S.M.A.R.T. для диска /dev/sda
1 | smartctl -i /dev/sda |
1 | smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-... Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sou... === START OF INFORMATION SECTION === Device Model: VB0250EAVER Serial Number: 9VMHGQJN Firmware Version: HPG0 User Capacity: 250,059,350,016 bytes Device is: Not in smartctl database [for details use: ... ATA Version is: 8 ATA Standard is: ATA-8-ACS revision 6 Local Time is: Tue Apr 16 13:03:13 2013 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled |
Две последние строчки говорят нам о том, что все у нас получится 🙂
Теперь можно посмотреть подробную информацию о нашем диске:
1 | smartctl -A /dev/sda |
Среди всей информации можно увидеть строчки, содержащие Temperature. Значения этих строк и будет получать плагин. Проверить текущее значение можно так:
1 | env drives="sda1" /etc/munin/plugins/hddtemp_smartctl |
Должны увидеть что-то вроде этого:
1 | sda1.value 17 |
Температура у нас есть, нужно прописать какие диски мы будем мониторить.
1 | cd /etc/munin/plugin-conf.d/ |
Нам нужен файл hddtemp_smartctl, если он есть — редактируем, если нет — создаем.
В итоге у нас должен получиться вот такой файл:
1 | [hddtemp_smartctl] user root env.drives sda |
Если у Вас больше дисков, то нужно только добавить их в строчку через пробел — env.drives sda sdb
После этих манипуляций у Вас должен появиться график HDD Temperature:
Так как это плагин сам не может отправлять уведомления о критических температурах — рекомендуется добавить пороги температур в файл munin.conf сервера-сборщика, к примеру 55 градусов — hddtemp_smartctl.sda.critical 55
1 | [server1.myhost.ru] address 127.0.0.1 use_node_name yes hddtemp_smartctl.sda.critical 55 hddtemp_smartctl.sda.warning 50 |
При достижении температуры 50 градусов — в мониторинге окно с графиком температуры выделится желтым цветом — предупреждение, при достижении температуры 55 градусов — выделится красным — критическая ситуация. Если настроена отправка уведомлений по почте на самом сервере (позже опишу как это делается) — на почту придет уведомление.
multiping
C этим плагином все просто — он показывает время ответа на пинги. Для настройки нужно в файл /etc/munin/plugin-conf.d/munin-node добавить хосты, которые будем пинговать:
1 | [multiping] env.host www.ya.ru www.google.ru www.google.com |
После этих манипуляций у Вас должен появиться график Ping times:
sensors_
У нас есть три плагина:
sensors_temp
sensors_fan
sensors_volt
теперь нужно понять какую информацию мы можем получить с наших датчиков. Сначала устанавливаем пакет lm_sensors:
1 | yum install lm_sensors |
После этого запускаем
1 | sensors-detect |
в первый проход этой утилиты я соглашаюсь со всем — то есть добавляю все датчики, которые обнаруживаются.
На вопрос
1 | Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): y |
отвечаем yes. Теперь запускаем команду
1 | sensors |
Видим примерно следующее:
1 | [root@server]# sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +29.0°C (crit = +90.0°C) w83627dhg-isa-0a00 Adapter: ISA adapter Vcore: +1.10 V (min = +0.00 V, max = +1.74 V) in1: +1.59 V (min = +0.00 V, max = +1.06 V) ALARM AVCC: +3.41 V (min = +2.98 V, max = +3.63 V) +3.3V: +3.41 V (min = +2.98 V, max = +3.63 V) in4: +1.88 V (min = +0.29 V, max = +0.15 V) ALARM in5: +1.22 V (min = +0.64 V, max = +1.23 V) in6: +1.59 V (min = +0.42 V, max = +0.52 V) ALARM 3VSB: +3.42 V (min = +2.98 V, max = +3.63 V) Vbat: +3.38 V (min = +2.70 V, max = +3.30 V) ALARM fan1: 0 RPM (min = 337500 RPM, div = 4) ALARM fan2: 2083 RPM (min = 0 RPM, div = 8) ALARM fan3: 0 RPM (min = 5192 RPM, div = 4) ALARM fan4: 0 RPM (min = 675000 RPM, div = 2) ALARM fan5: 0 RPM (min = 6553 RPM, div = 2) ALARM temp1: +45.0°C (high = -103.0°C, hyst = +22.0°C) ALARM sensor = diode temp2: +55.0°C (high = +80.0°C, hyst = +75.0°C) sensor = diode temp3: +127.0°C (high = +80.0°C, hyst = +75.0°C) ALARM sensor = thermistor cpu0_vid: +2.050 V |
Видно, что у нас отрабатывается два модуля — coretemp и w83627ehf (чипсет материнсокй платы). Второй показывает и температуру процессора — поэтому я от первого откажусь, и перезапущу sensors-detect , и добавлю только второй модуль.
Уже после этих манипуляций мы получим графики напряжения, оборотов вентиляторов и температуры, но... Как видно некоторые напряжения выдают ALARM — и график напряжений будет выделен красным, как критическая ситуация. Из пяти разъемов вентиляторов я использую только один — fan2, по-хорошему нужно его обозвать CPU Fan и указать ему минимальное количество оборотов, ниже которого мы получим предупреждение. Открываем файл /etc/sensors3.conf и ищем блок нашего чипсета w83627ehf и добавляем строки:
1 | label fan2 "CPU Fan" set fan2_min 2000 label temp2 "CPU Temp" |
выполняем команду
1 | sensors -s |
и видим что нужные нам строчки стали выглядеть так:
1 | CPU Fan: 2057 RPM (min = 2008 RPM, div = 4) CPU Temp: +55.0°C (high = +80.0°C, hyst = +75.0°C) sensor = diode |
Теперь нужно исключить из мониторинга неиспользуемые датчики и ненужные температуры. Для этого открываем файл /etc/munin/plugin-conf.d/munin-node и добавляем блок:
1 | [sensors_*] env.ignore_fan1 yes env.ignore_fan3 yes env.ignore_fan4 yes env.ignore_fan5 yes env.ignore_temp1 yes env.ignore_temp3 yes |
Все, перезапускаем сервис munin-node и смотрим графики.
Вот что было до того, как убрали неиспользуемое:
А вот уже конечный вариант:
В следующей части напишу про настройку mysql плагинов, про организацию уведомлений по почте, про подключение Windows серверов...
Продолжение следует...
Лучшая статья о первоначальной настройке munin на русском языке.