素の状態でもだいたいのところを監視してくれるMonitorixであるが、それでも設定変更したほうがいいところ、変更するとよいところがある。
変更例を示す。
概要
monitorixの設定ファイルは大きく三つに分かれる。
①全体的な設定をする箇所
②個々の監視内容をOn/Offするスイッチ箇所
③個々の監視内容の設定をする箇所
以下、それぞれについて扱うとともに、ログの設定も行う。
①全体の設定
設定ファイルの冒頭部分。
Monitorixの全体的な設定を行う箇所。
# グラフの置かれるページのタイトル(ブラウザのバーに表示されるもの)
title = copper, poudirere server
# グラフの置かれるページで表示されるタイトル
hostname = copper
# テーマカラー。whiteもあるのだが…。記事末尾で触れる。
theme_color = black
# 更新頻度
refresh_rate = 150
# ネットワーク速度の表示をbpsにするか(デフォルトはBps)
# yでいいのでは
netstats_in_bps = y
そしてログファイルの場所を指定するエリアがある。
log_fileの行のみ性質が異なる、と理解している。
この行に関しては「monitorixのログの吐き出し箇所を指定する」という意味。
残りは、「Monitorixが見に行くログの場所」という意味になる。
# Log files pathnames
# monitorixが確認するログファイル
# ----------------------------
log_file = /var/log/monitorix
secure_log = /var/log/auth.log
(略)
以上に続いて、Monitorixで監視する項目の設定を行うエリアがある。
②個々の監視内容をOn/Offするスイッチ箇所
Monitorixでは、出来合いの監視項目をON/OFFする、というスタイルを取る。
だからこそ手軽。
ここにない内容を監視したいなら、他の監視ツールに変えたほうがいいでしょう。
# Graphs (de)activation
# 有効にするグラフを指定する。yで有効、nで無効
# グラフの詳細はman monitorix.confで確認のこと。
#
# 対応する③設定は、systemなら"<system>"というエリアに,
# マニュアルは「sysmte.rrd」というエリアにある。
#
# -----------------------------------
<graph_enable>
system = y
kern = y
proc = y
(略)
では、それぞれの監視項目の設定を。
③個々の監視内容の設定をする箇所
以下、監視項目をいくつかピックアップして触れる。
lmsense
Linuxのlmsensorsが入ってないとダメ。
つまりFreeBSDでは無理。
nvidia
Nvidiaグラフィックカードの温度を測定する。
オフィシャルドライバーが入っていれば大丈夫そうな記載だけどもFreeBSDだとどうやら無理。
disk
ディスクの温度などを測定する。
測定にはsmartmontools, hddtempのいずれかが必要。
FreeBSDの場合はsmartmontools。
sysutils/smartmontoolsからインストールできる。
sudo smartctl -scanで表示されるディスクのうち、監視したいディスクを下記の0 =に続けて並べる。
区切りはカンマ
例
<disk>
<list>
0 = /dev/ada0, /dev/ada1
</list>
(略)
fs
ファイルシステムの使用容量、I/Oなどを調べる。
カンマで並べる。
例
<fs>
<list>
0 = /, swap, /usr/local
</list>
net
ネットワークインターフェースの入出力を調べる。
listでインタフェースを指定。
デフォルトだとeth0になってるから、FreeBSDでは変更必須。
記載例。
<net>
list = bge0
<desc>
bge0 = GbE LAN, 0, 100000000
</desc>
gateway = bge0
</net>
descには、listで指定した各インタフェースの詳細を記載する。
ここにはグラフの最大値も指定する必要がある。
この時に注意点がひとつ。
単位はbpsではなく、Bpsである、ということ。
ざっくり、100MbpsのNICであれば10000000を。
GbEのNICであれば、100000000を指定する。
どういうことかと言えば、つまり下記の通り。
100Mbps = 最大でも10MBpsは超えない = 10,000,000 と指定。
1000Mbps = 最大でも100MBpsは超えない = 100,000,000と指定。
port
portの監視。
FreeBSDの場合、ipfwを動かしておく必要がある。
Linuxではiptabelsで。
listに監視したいポートを並べる。
descでポートの詳細を指定。
記載例。
<port>
max = 9
rule = 24000
list = 21, 80, 22, 110, 139
<desc>
21 = FTP, tcp, in, 0, 1000
80 = HTTP, tcp, in, 0, 1000
22 = SSH, tcp, in, 0, 1000
110 = POP3, tcp, in, 0, 1000
139 = NETBIOS, tcp, in, 0, 1000
</desc>
(略)
descの22ではtcp, inと指定している。
これは「ポート22にtcp接続してくる/ポート22からtcpで出て行く通信を監視する」という意味。
outだと「ポート22へtcp接続し、ポート22からやってくるtcp接続を監視する」という意味。
ruleはipfwを使う時だけ有効。
ipfwのルール2400番を使うよ、と指定している。
ipfwのルールを見てみると(ポート22のところだけ抜粋)。
24000 count tcp from me 22 to any
24000 count tcp from any to me dst-port 22
ログのローテート設定
/var/log/には以下のようにログが吐かれる。
このまま放っておくと、ログは一方的にたまるだけなので、newsyslogに設定しておく。
-rw-r--r-- 1 root wheel 349949 2月 20 17:54 ./monitorix
-rw-r--r-- 1 www www 165818 2月 20 17:17 ./monitorix-httpd
/etc/newsyslog.conf
# for monitorix
/var/log/monitorix 600 7 100 * JC
/var/log/monitorix-httpd www:www 600 7 100 * JC
newsyslogの再起動。
$ sudo service newsyslog restart
Creating and/or trimming log files.
テーマについて
デフォルトのテーマblackは、前世紀のwebみたいで、ちょっといただけない。
かと言って、もう一方の選択肢whiteもあんまりである。
試行錯誤の末、白基調で冒頭の様なテーマにしている。
設定ファイルの下の方にある、whiteのところを書き換えた。
全体設定でthemeをwhiteにしておくこと。
参考までに。
<white>
canvas = FFFFFF
back = 101010
font = C0C0C0
#mgrid = 80C080
mgrid = ecf0f1
#grid = 808020
grid = 808020
frame = ecf0f1
arrow = FFFFFF
shadea = 404040
shadeb = 404040
axis = 101010
main_bg = FEFEFE
main_fg = e67e22
title_bg = ecF0f1
title_fg = 34495e
graph_bg = bdc3c7
gap = FFFFFF
</white>```