KUSONEKOの見る世界

ZabbixでVPN接続時のログを監視する

以前の記事で、実家のPCが起動時にVPN接続する設定を行いましたが、
今度は、VPN接続してきた時のログをZabbixで監視してみたいと思います。

監視のメリットとしては、どのくらいの頻度でPCを使用しているのか、VPNの仮想IPがすぐ見れる、元気かどうかが確認できるくらいでしょうか。

環境:
CentOS 7.6.1810
Zabbix 3.4
strongSwan 5.7.2

rsyslog

strongSwanのログが見やすいように、messegesとは別のログファイルに吐き出す設定をしておきます。

[root@server ~]#vi /etc/rsyslog.conf
#### RULES ####

:programname, isequal, "charon"                          /var/log/ipsec.log
                                                         & stop

zabbix_agentd.conf

ログ監視には、以下の変更が必要です。
[root@server ~]#vi /etc/zabbix/zabbix_agentd.conf
AllowRoot=1

Zabbixの設定

アイテムの作成

どのユーザが、どの仮想IPで、いつ接続して、いつ切断されたかが分かるログのみ抽出します。
[設定]→[ホスト]→[Zabbix server]→[アイテム]
[アイテムの作成]を押下。

名前:任意
タイプ:Zabbixエージェント(アクティブ)
キー:log[/var/log/ipsec.log,"] (assigning v|lease|delete)"]
データ型:ログ

[追加]を押下。

スクリーンに反映

[監視データ]→[スクリーン]
[スクリーンの変更]を押下。
任意の箇所で[変更]を押下。

リソース:プレーンテキスト
アイテム:作成したアイテムを指定

[追加]を押下。


設定後にVPN接続してきたログが表示されます。

追記

2019/10/10

CentOS 8 + Zabbix4.0環境でも出来ました。

2020/04/09

version 4.0.15 から、AllowRoot=1だけではAgentがrootで実行されなくなったようです。
以下を書き換える必要があります。
vi /usr/lib/systemd/system/zabbix-agent.service
User=zabbix
Group=zabbix
↓
User=root
Group=root
systemctl daemon-reload
systemctl restart zabbix-agent