Debian 11 (bullseye) - munin 各種監視追加!

Updated:


Debian GNU/Linux 11 (bullseye) にインストールしたサーバ監視ツール munin に各種監視を追加する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0. 前提条件

  • Debian GNU/Linux 11.2.0 (bullseye; 64bit) での作業を想定。
  • サーバ監視ツール munin がインストール済み。
  • ハードディスク温度の監視を追加する。
  • CPU 温度・電圧・ファン回転数の監視を追加する。
  • MariaDB の監視を追加する。
  • Nginx の監視を追加する。
  • root ユーザでの作業を想定。

1. ハードディスク温度の監視追加

smartctl コマンドを使用するので、以下のようにしてインストールしておく。

# apt -y install smartmontools

以下のように設定ファイル hddtemp_smartctl を作成する。(munin-node に追記してもよい)

File: /etc/munin/plugin-conf.d/hddtemp_smartctl

[hddtemp_smartctl]
user root
env.drives sda                 # <= sda は監視するハードディスク
env.smartctl /usr/sbin/smartctl
env.args_sda --all -d ata

以下のようにしてシンボリックリンクを張る。

# ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins/

2. CPU 温度・電圧・ファン回転数の監視追加

まず、センサーツール lm-sensors、依存パッケージをインストールする。

# apt -y install lm-sensors libsensors4-dev fancontrol

そして、センサーを検出する。
全て「エンター」応答で大丈夫だが、最後に /etc/modules へ書き込むかどうか問われたら yes 応答する。

# sensors-detect

マシンを再起動して、センサーをチェックしてみる。(当然、表示内容は環境により異なる)

# sensors
dell_smm-virtual-0
Adapter: Virtual device
Processor Fan:   1800 RPM
Motherboard Fan: 1928 RPM

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +43.0°C  (high = +76.0°C, crit = +100.0°C)
Core 1:       +37.0°C  (high = +76.0°C, crit = +100.0°C)

it8720-isa-0a10
Adapter: ISA adapter
in0:          +1.07 V  (min =  +2.54 V, max =  +4.08 V)  ALARM
in1:          +1.10 V  (min =  +0.00 V, max =  +3.82 V)
in2:          +2.86 V  (min =  +0.00 V, max =  +3.02 V)
+5V:          +3.02 V  (min =  +4.06 V, max =  +4.08 V)  ALARM
in4:          +3.31 V  (min =  +0.00 V, max =  +4.08 V)
in5:          +2.16 V  (min =  +0.00 V, max =  +4.08 V)
in6:          +2.16 V  (min =  +0.00 V, max =  +4.08 V)
5VSB:         +2.98 V  (min =  +0.00 V, max =  +4.08 V)
Vbat:         +3.18 V
fan1:        1800 RPM  (min =   10 RPM)
fan2:        1928 RPM  (min =    0 RPM)
temp1:        +29.0°C  (low  = -65.0°C, high = +127.0°C)  sensor = thermal diode
temp2:        +22.0°C  (low  =  -2.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +29.0°C  (low  =  -1.0°C, high = +127.0°C)  sensor = Intel PECI
cpu0_vid:    +0.000 V
intrusion0:  ALARM

以下のように設定ファイル sensors を作成する。(munin-node に追記してもよい)

File: /etc/munin/plugin-conf.d/sensors

[sensors_*]
user root

以下のようにしてシンボリックリンクを張る。

# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt
# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan

3. MariaDB の監視追加

以下のように設定ファイル mariadb を作成する。(munin-node に追記してもよい)

File: /etc/munin/plugin-conf.d/mariadb

1
2
3
[mariadb*]
env.mysqlopts -u root -p<root パスワード>
env.mysqladmin /usr/local/mysql/bin/mysqladmin   # <= mysqladmin フルパス指定

以下のようにしてシンボリックリンクを張る。

# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes
# ln -s /usr/share/munin/plugins/mysql_innodb /etc/munin/plugins/mysql_innodb
# ln -s /usr/share/munin/plugins/mysql_isam_space_ /etc/munin/plugins/mysql_isam_space_  # <= MyISAM 不使用なら不要
# ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/mysql_queries
# ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/mysql_slowqueries
# ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/mysql_threads

4. Nginx の監視追加

Nginx の設定ファイルに以下のような記述を追加する。(server ディレクティブ内)

File: /etc/nginx/conf.d/default.conf

server {

    # munin
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        allow 192.168.11.0/24;  # <= 内部からのアクセスのみ許可
        deny all;
    }

}
  • Nginx をソースをビルドしてインストールしている場合は、 configure 時に --with-http_stub_status_module オプションを指定しなければならない。

そして、Nginx を再起動する。

# systemctl restart nginx

以下のように設定ファイル nginx を作成する。(munin-node に追記してもよい)

File: /etc/munin/plugin-conf.d/nginx

[nginx*]
env.url http://localhost/nginx_status

以下のようにしてシンボリックリンクを張る。

# ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/nginx_request
# ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/nginx_status

ちなみに、上記以外のプラグインを使用するなら以下のようにする。

# cd /usr/local/share
# mkdir munin
# cd munin
# git clone https://github.com/munin-monitoring/contrib.git
# ln -s /usr/local/share/munin/contrib/plugins/nginx/nginx_connection_request /etc/munin/plugins/nginx_connection_request
# ln -s /usr/local/share/munin/contrib/plugins/nginx/nginx-combined /etc/munin/plugins/nginx-combined
# ln -s /usr/local/share/munin/contrib/plugins/nginx/nginx_memory /etc/munin/plugins/nginx_memory
# ln -s /usr/local/share/munin/contrib/plugins/nginx/nginx_vhost_traffic /etc/munin/plugins/nginx_vhost_traffic
etc...

5. munin-node の再起動

# systemctl restart munin-node

6. 動作確認

ブラウザで http://<Webサーバのホスト名 or IP アドレス>/munin にアクセスし、表示されることを確認する。


以上。





 

Sponsored Link

 

Comments