FreeBSD установка munin

Дата | 17.02.2018

Шпаргалка, что бы не забивать голову такими мелочами.
Я обычно мониторю вэб сервер nginx и базу данных mysql.
Устанавливаем мониторинг munin в системе FreeBSD.
Первым делом обновим порты.

# portsnap fetch update

После начинаем устанавливать сам munin.

# cd /usr/ports/sysutils/munin-node && make install clean

Готовьтесь что munin-master потянет кучу иксовых библиотек.

# cd /usr/ports/sysutils/munin-master && make install clean

Для подключения к базе mysql нужно до установить один порт.

# cd /usr/ports/databases/p5-DBD-mysql && make install clean

Настраиваем.
Настройки практически универсальны.
Я использую такие настройки.

# egrep -v '#|^$' /usr/local/etc/munin/munin.conf
htmldir /usr/local/www/munin
includedir /usr/local/etc/munin/munin-conf.d
max_size_x 4000
max_size_y 4000
[centr]
    address 127.0.0.1
    use_node_name yes
# egrep -v '#|^$' /usr/local/etc/munin/munin-node.conf
log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group wheel
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$
ignore_file \.sample$
# название группы вашего сервера в мониторинге.
host_name centr 
allow ^127\.0\.0\.1$
host *
port 4949

Заведем пользователя munin d mysql для просмотра счетчиков базы. Под рутом не рекомендую все это делать, не безопасно.

mysql> CREATE USER munin@127.0.0.1 IDENTIFIED BY 'пароль к базе данных';
mysql> GRANT SUPER,PROCESS ON *.* TO munin@127.0.0.1;
mysql> GRANT SELECT ON mysql.* TO munin@127.0.0.1;
mysql> FLUSH PRIVILEGES;

Настройка плагинов.

# egrep -v '#|^$' /usr/local/etc/munin/plugin-conf.d/plugins.conf 
[*]
env.PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[mysql*]
user root
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqluser munin
env.mysqlopts -u munin -pпароль к базе данных.
env.mysqlpassword пароль к базе данных.
env.mysqladmin /usr/local/bin/mysqladmin
env.mysqlshow /usr/local/bin/mysqlshow
[onlineIParess80port*]
user root
[nginx*]
env.url http://127.0.0.1:8080/status

После переходим в директорию плагинов.

# cd /usr/local/etc/munin/plugins

И начинаем добавлять нужные плагины от сюда /usr/local/share/munin/plugins/, я делаю сим линками.

# ln -s /usr/local/share/munin/plugins/iostat

Проверяем, подключились ли модули у нас.

# munin-node-configure

Должно быть так.

# munin-node-configure | grep yes
cpu                        | yes  |                                        
hard_place                 | yes  |                                        
if_                        | yes  |                                        
iostat                     | yes  |                                        
load                       | yes  |                                        
memory                     | yes  |                                        
mysql_                     | yes  |                                        
mysql_bytes                | yes  |                                        
mysql_connections          | yes  |                                        
mysql_connections_per_user | yes  |                                        
mysql_keys                 | yes  |                                        
mysql_qcache               | yes  |                                        
mysql_qcache_hits          | yes  |                                        
mysql_qcache_mem           | yes  |                                        
mysql_queries              | yes  |                                        
mysql_threads              | yes  |                                        
nginx_request              | yes  |                                        
nginx_status               | yes  |                                        
onlineIParess80port        | yes  |

Еще способ работает ли корректно плагины.

# su -m munin -c /usr/local/bin/munin-cron

Настройка nginx, создаем виртуал хост.

# cat /usr/local/etc/nginx/sites-enabled/munin 
server {
	listen 7.7.7.6:80;
        root /usr/local/www/default;
}
server {
        listen 7.7.7.6:80;
        server_name mon.mon.com;

location / {
        root  /usr/local/www/munin;
        index   index.html;
        charset utf-8;
        satisfy any;
        allow 7.5.0.2;
        allow 3.8.5.2;
        allow 2.7.7.1;
	deny all;
   }
}

Настройка отображения статистики у nginx, nginx должен быть собран с модулем HTTP_STATUS.

# cat /usr/local/etc/nginx/sites-enabled/nginx_status 
server {
        listen 127.0.0.1:8080;

location /status {
     stub_status on;
}
}

Я отрисовка графики делаю каждые две минуты, для этого заходим в системе под пользователям munin.

# su -m munin

Идем в crontab -e и редактируем запуск

% crontab -l
#BEGIN_MUNIN_MAIN
MAILTO=''
*/2 * * * *     /usr/local/bin/munin-cron
Осталось только перезагрузить.

Вот что у нас получится в итоге.



Вот и все.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *