Postfixの流量解析がAlmaLinux 9ではうまく動かない
仕方がないので、MRTGを使った時の作業メモ
MRTGは既にインストールされ,https://hostname/mrtg/postfix.htmlで表示するものとします
これらを使うためのPerl のモジュール File::Tail をインストールします。
dnf install libfile-tail-perl
MRTG for postfix さんから、必要なファイルを取得します
update-mailstats.pl
mailstats.pl
mrtg-mailstats.pl ダウンロードしたら、/usr/local/sbin/以下に移動し、実行権限を与えます
update-mailstats.pl
変更点
$mail_log = ‘/var/log/maillog’ ; ←mail.logになっているかも
$stats_file = ‘/tmp/stats.db’ ;
mailstats.pl
変更点無し
use DB_File;
$|=1;
$stats_file = ‘/tmp/stats.db’ ; になっていることを確認
mrtg-mailstats.pl
変更点無し
update-mailstats.service の作成
[Unit]
Description=Mail statistics tailer
After=network.target syslog.target
[Service]
Type=oneshot
User=root
Group=root
ExecStart=/usr/local/sbin/update-mailstats.pl
#Restart=always
#RestartSec=5
StandardOutput=journal
StandardError=journal
Nice=10
[Install]
WantedBy=multi-user.target
daemonでうまく更新できないことが有ったので、oneshotで運用し、
起動はtimerで処理することにした
update-mailstats.timer の作成
[Unit]
Description=Run update-mailstats every 5 minutes
[Timer]
OnBootSec=1min
OnUnitActiveSec=5min
Unit=update-mailstats.service
[Install]
WantedBy=timers.target
後は deamonをreloadして起動、
mailstat.old
stats.db のタイムスタンプが更新されているかを確認
メールの流量が無い場合はstats.dbの更新がされないかもしれません
MRTGへの登録
/etc/mrtg/mrtgに追記します
# Minimal mrtg.cfg
#——————–
HtmlDir: /var/www/mrtg
ImageDir: /var/www/mrtg
LogDir: /var/lib/mrtg
ThreshDir: /var/lib/mrtg
#—————————————————————#
# MRTG mail cfg: Postfix mailstats plotting with MRTG #
#—————————————————————#
Target[postfix]: `/usr/local/sbin/mrtg-mailstats.pl`
Options[postfix]: gauge, growright
Title[postfix]: Postfix Statistics
PageTop[postfix]: Postfix Statistics
WithPeak[postfix]: dwmy
YLegend[postfix]: No. of messages
ShortLegend[postfix]: messages
LegendI[postfix]: Incoming:
LegendO[postfix]: Outgoing:
MaxBytes[postfix]: 1250000
#—————————————————————#
グラフが描画されているのを確認すれば終了です