Статьи

Мониторинг с Мунином

Одна из вещей, которые мне очень нравятся, когда дело доходит до системного администрирования, это регистрация и мониторинг. Я люблю munin , и все еще предпочитаю это по Cacti и Zabbix . Я думаю, что основная причина в том, что он позволяет настраивать плагины без какого-либо взаимодействия с браузером. 

Создание нового графика на cacti и zabbix требует значительного количества кликов. Легко установить новые плагины munin с такими вещами, как Puppet . Итак .. Мунин. Давайте немного поближе.

В инсталляции Мунина есть две части.  Мунинский сервер и мунин-узел .  

Сервер Munin на самом деле не делает классных вещей, только агрегирование данных и создание графиков.  

Я включил пример munin.conf здесь .

Здесь есть только несколько причуд.  

Для большинства установок я обнаружил, что вы можете оставить подавляющее большинство настроек на месте, поскольку они взяты из версии, установленной apt / yum / $ package_manager_of_your_choice.

Итак, фактическая документация munin предполагает, что use_node_name — это хитрая вещь, но на самом деле она довольно полезна, особенно когда вы определяете хосты SNMP.

use_node_name указывает не использовать графическое имя для использования имени хоста, которое находится в [скобках], а вместо этого использовать имя в баннере соединения (вы можете увидеть это сами, после запуска munin, для telnet (или nc) на localhost: 4949, и строка «#munin node at <your host>»)

Хосты SNMP … без сомнения, самая крутая вещь, которую может сделать Munin. по умолчанию автоконфигурация хостов SNMP позволит вам отслеживать некоторые интересные вещи о маршрутизаторах, коммутаторах и хостах Windows. Итак, единственная главная изюминка в этом заключается в том, что плагины snmp запускаются на одном из ваших экземпляров munin-node, поэтому вы должны установить это как адрес в определении хоста. В примере я сделал это на сервере munin.  

Мунина-узел.  Очень расширяемый, но что касается конфигурации, конфигурация по умолчанию, которая входит в установку, более чем способна. 

Вот мой .

Если у вас есть несколько серверов munin или вы хотите получать данные плагинов munin с серверов Nagios, вы можете добавить несколько строк «allow» для регулярных выражений.  

 

Итак .. Мунинские плагины. Это действительно классный материал.

Вы можете написать плагины Мунина на любом языке, который вам нравится. Подавляющее большинство на Munin Exchange  написано на Perl или Bash. Я предпочитаю писать на Python, и  модуль munin-python великолепен.  

По сути, вам нужно обрабатывать две вещи, режимы « конфигурация » и « запуск ».  

Munin-run — это то, что обрабатывает плагин и запускает «конфигурацию вашего плагина». Это то, что определяет формат файлов RRD, которые munin использует для генерации графиков. Хорошо, давайте посмотрим на простой плагин munin. Я думаю, что мы будем контролировать … количество файлов в / tmp (ну, а почему бы и нет?)

https://gist.github.com/813813

Если мы запустим это с конфигурацией python tmp_files, то получим:

graph_title Number of Files in /tmp

graph_category system

graph_args --base 1000 -l 0

graph_vlabel files

files.info The number of files in /tmp

files.warning 10

files.critical 120

files.min 0

files.type GAUGE

files.label files

и если мы запустим его без «config», мы получим: 

files.value 18

Итак, это работает. ?

 

Теперь, если мы скопируем это в / usr / share / munin / plugins и chmod + x, и сделаем символическую ссылку в / etc / munin / plugins .. и перезапустим munin-node ..

$ sudo mv tmp_number.py /usr/share/munin/plugins/tmp_number

$ sudo ln -s /usr/share/munin/plugins/tmp_number /etc/munin/plugins/tmp_number

$ sudo chmod a+x /usr/share/munin/plugins/tmp_number

$ sudo /etc/init.d/munin-node restart

 * Stopping Munin-Node                                                   [ OK ]

 * Starting Munin-Node                                                   [ OK ]

$ munin-run tmp_number

files.value 18

Здорово. Правильно … теперь это сделано, и munin-node перезапущен, все, что нам нужно сделать, это подождать некоторое время, и новый граф будет создан. Это может занять некоторое время, 5-10 минут — хорошее предположение, но это может быть дольше.

Это график, созданный плагином:

Пример вывода из плагина tmp_munin

Умно, а?

Если вы обнаружили, что вы ждали возраст, но у вас все еще нет графиков, взгляните на / var / log / munin на munin-server и munin-node. Там есть много незашифрованных журналов, и все это довольно понятно.

Источник:  http://tomoconnor.eu/blogish/monitoring-munin/