IPsec VPN実装であるLibreswanの状態をメトリックとして見られるようにするMackerelプラグインを作りました。
strongSwanのものは先人が作っていましたが、Libreswanのものがなかったので自作した形です。
何が見られるか
Libreswanで作ったVPNサーバの状態が見られます。
- IPsec Connectionの合計(active/loaded)
- IPsecのSecurity Associations(total/authenticated/anonymous)
- IKEのSecurity Associations(total/open/half-open/authenticated/anonymous)
インストール
mkr installに対応した形式で配布しています。
sudo mkr plugin install Arthur1/mackerel-plugin-libreswan
でインストールして
[plugin.metrics.libreswan] command = ["/opt/mackerel-agent/plugins/bin/mackerel-plugin-libreswan"]
と書けば動きます。
Docker上で動かしているLibreswanにも対応
以下のようにVPNサーバをDockerで動かしている例もあるでしょう。
ipsecコマンドが実行できるコンテナ向けにこのプラグインを実行したければ、-docker-exec
オプションを活用できます。例えば、
$ docker exec -it ipsec-vpn-server ipsec version Libreswan 5.0
のようにしてipsecコマンドを実行できる環境の場合には、
[plugin.metrics.libreswan] command = ["/opt/mackerel-agent/plugins/bin/mackerel-plugin-libreswan", "-docker-exec", "ipsec-vpn-server"]
のように、-docker-exec
オプションとしてコンテナ名を渡してあげると動きます。