Одна из вещей, которые мне очень нравятся, когда дело доходит до системного администрирования, это регистрация и мониторинг. Я люблю 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 минут — хорошее предположение, но это может быть дольше.
Это график, созданный плагином:
Умно, а?
Если вы обнаружили, что вы ждали возраст, но у вас все еще нет графиков, взгляните на / var / log / munin на munin-server и munin-node. Там есть много незашифрованных журналов, и все это довольно понятно.