Zabbix5でSophosXGを監視する方法

![CentOS-8.2.2004](https://img.shields.io/badge/CentOS-8.2.2004-brightgreen) ![Zabbix-5.0.3](https://img.shields.io/badge/Zabbix-5.0.3-brightgreen) ![SFOS-16.05.1](https://img.shields.io/badge/SFOS-16.05.1-yellow)

Zabbix5でSNMPを用いてSophosXG ファイアウォールの状態監視を行う方法です。

## SophosXG側のSNMP設定
SophosのWeb管理コンソールにログインして下さい。
その後、`システム`→`管理`→`デバイスのアクセス`を開き、Zabbixサーバと通信するインタフェースに置いて`SNMP`を有効にします。

![2020-10-15_15h33_47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/8d026dd5-2abf-d73e-5eda-915018590731.png)

`SNMP`を開いてSNMPを有効にします。

* SNMPエージェントを有効化する: 有効
* 名前: 任意
* 位置情報: 任意
* 連絡担当者: 任意
* マネージャポート: 162

![2020-10-15_15h36_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/36d95ceb-baa0-4baf-a181-13c914890ac8.png)

* 名前: 任意
* IPアドレス: ZabbixサーバのIPアドレス
* プロトコルバージョン: v1, v2c
* トラップサポート: v1, v2c

![2020-10-15_15h36_43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/c90eecd5-85c8-1c46-6045-7589384e53c3.png)


## SNMP通信環境の準備
Zabbixサーバ側にて以下の作業を行います。

```shell-session:
# yum install net-snmp net-snmp-utils

# cd /usr/share/snmp/mibs
# curl -OL https://www.sophos.com/en-us/medialibrary/PDFs/documentation/SophosFirewall/Other-documents/SOPHOS-MIB.txt
# systemctl start snmptrapd
# systemctl enable snmptrapd
# systemctl restart zabbix-server
```

## 事前テスト
Zabbix側で登録する前に、コマンドレベルでSNMP情報を取得できることを確認します。Timeoutなどエラーとなってしまう場合はネットワーク設定やSophosXGのSNMP設定に誤りがないか確認しましょう。

```shell-session:
# snmpwalk -v 2c -c public SophosXGのIPアドレス
SNMPv2-MIB::sysDescr.0 = STRING:
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.21067.2
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (615857) 1:42:38.57
...

# snmpwalk -v 2c -c public SophosXGのIPアドレス XG-FIREWALL-MIB::cpuPercentUsage
PercentUsage
XG-FIREWALL-MIB::cpuPercentUsage.0 = INTEGER: XX
```

## SophosXGテンプレートの登録
Zabbix公式テンプレートを以下からダウンロードして展開しておきます。
https://share.zabbix.com/official-templates/zabbix-official-template-pack （現時点での最新 v4.4）

SophosXG用テンプレートを以下からダウンロードして解凍しておきます。
https://share.zabbix.com/network_devices/sophos-xg-firewall （現時点での最新 v4.0）

Zabbix管理コンソール上から、以下の順でテンプレートを登録します。

1. 公式テンプレート: module\generic_snmp_snmpv2\template_module_generic_snmp_snmpv2.xml
2. 公式テンプレート: module\interfaces_simple_snmpv2\template_module_interfaces_simple_snmpv2.xml
3. Template_Net_Sophos_XG_FW_SNMPv2.xml

![2020-10-15_16h03_37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/f60f70ac-1a6c-c065-8ad1-1eba5579ba98.png)

## SophosXGの登録
Zabbix管理コンソールにて、`設定`→`ホスト`からSophosXGを登録します。

* ホスト名: 任意
* グループ: 任意
* インタフェース(SNMP):
    * IPアドレス: SophosXGのIPアドレス
    * ポート: 161
    * SNMPバージョン: SNMPv2
    * SNMPコミュニティ: {$SNMP_COMMUNITY}

![2020-10-15_16h07_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/5ccd960c-0141-04a1-a184-276fc7a8696a.png)

* リンクテンプレート: Template Net Sophos XG FW SNMPv2

![2020-10-15_16h08_37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/d0b7493b-19b2-72a9-4fe7-b6431c303db5.png)

* マクロ
    * {$SNMP_COMMUNITY}: Sophos側で設定したSNMPコミュニティ名

![2020-10-15_16h08_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/2669632f-0719-1f00-8c64-a4fe450b96ad.png)


## 情報取得確認
登録したSophosXGのアイテムを開き、値が取れているか確認します。

![2020-10-15_16h20_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97774/3201ef5e-f162-5513-6e51-1e6c6ac3b31b.png)

以上で設定完了です！必要に応じて細かいパラメータを設定していきましょう。