運用管理サーバでSNMPトラップを受信するために、SNMPの設定をします。
Windows標準SNMPトラップ受信サービス(SNMP Trap)をインストールしてください。
このサービスは、OSのインストールメディアに含まれています。
運用管理サーバのSNMPトラップ設定は、運用環境に応じた設定を行ってください。
装置を監視する場合
運用管理サーバでSNMPトラップを受信するために、OS標準のnet-snmpパッケージに含まれるsnmptrapdの設定ファイルをカスタマイズします。
# systemctl enable snmptrapd.service # systemctl start snmptrapd.service
以下のコマンドを実行し、snmptrapdの起動が有効になっているか確認します。
# chkconfig --list snmptrapd snmptrapd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
有効になっていない場合は、以下のコマンドを実行して有効にしてください。
# chkconfig --add snmptrapd # chkconfig snmptrapd on
ポイント
snmptrapdの設定ファイルは/etc/snmp/snmptrapd.confにありますが、他製品では/usr/share/snmp/snmptrapd.confも使用している場合があります。
設定においては、他製品との共存のために両方のファイルを確認します。
アクセス制御の設定状況を確認します。
snmptrapd.confに以下の設定がなければ、アクセス制御が有効になっています。
disableAuthorization yes
注意
/etc/snmp/snmptrapd.confと/usr/share/snmp/snmptrapd.confの両方の、アクセス制御の設定状況を確認してください。
他製品からの要求がなければ、/etc/snmp/snmptrapd.confに上記の"disableAuthorization yes"を設定して、アクセス制御を無効にしてください。
/etc/snmp/snmptrapd.confに以下の設定を追加します。
forward default unix:/var/opt/FJSVssmgr/trap_socket
以下の設定を追加します。
authCommunity net public authCommunity net SANMA forward default unix:/var/opt/FJSVssmgr/trap_socket
/etc/snmp/snmptrapd.confと/usr/share/snmp/snmptrapd.confの両方を確認し、他製品によってauthCommunityが設定されている方のsnmptrapd.confを編集してください。どちらにも設定がなければ、/etc/snmp/snmptrapd.confを編集してください。
参考
authCommunityは、アクセス制御が有効になっている場合に編集できる項目です。
書式は以下のとおりです。
authCommunity TYPES COMMUNITY [SOURCE [OID | -v VIEW ]] TYPES: log,execute,net COMMUNITY: 監視対象のSNMPトラップのコミュニティー名 |
TYPESフィールドにはlog、execute、netが設定できます。
COMMUNITYフィールドには、監視対象装置のSNMPトラップのコミュニティー名を設定します。
なお、Expressでは、SOURCE、OID、およびVIEWフィールドは設定しないでください。
例えば、以下のように設定します。
authCommunity net public authCommunity net SANMA |
SNMPトラップのコミュニティー名がpublicとSANMA以外のETERNUS ディスクアレイを監視する場合は、authCommunityの設定を追加します。
例えば、コミュニティー名がcommonのETERNUS ディスクアレイを監視対象にする場合は以下のように設定します。なお、publicとSANMAの設定は必須です。
authCommunity net public authCommunity net SANMA authCommunity net common forward default unix:/var/opt/FJSVssmgr/trap_socket |
authCommunity logやauthCommunity executeが、他製品によってすでに設定されている場合は、コンマ(,)区切りでnetを追加します。
例えば、authCommunity execute publicが設定されている場合は以下のように設定します。
authCommunity execute,net public authCommunity net SANMA forward default unix:/var/opt/FJSVssmgr/trap_socket |
設定ファイルの反映
snmptrapd.confの変更後、以下のコマンドを実行してsnmptrapdを再起動します。
変更後の内容がSNMPトラップの設定に反映されます。
# systemctl restart snmptrapd.service
# /etc/init.d/snmptrapd stop # /etc/init.d/snmptrapd start
注意
snmptrapd.confをカスタマイズした後に、ServerView AlarmServiceなどのsnmptrapdを利用するアプリケーションをインストール、アンインストールまたは設定変更を実施した場合は、snmptrapd.confのカスタマイズ内容が変更されていないか確認してください。
ポイント
ServerViewトラップ転送プログラムを使用している環境の場合は、snmptrapdデーモンとtrpsrvdデーモンを再起動してください。
参照
snmptrapd.confの詳細は『ETERNUS SF Storage Cruiser 運用ガイド』の「snmptrapd.confファイル説明」を参照してください。
SNMPトラップデーモン用SELinuxポリシーモジュールのインストール
SELinux=Enforcingの場合、以下の手順に従って、ポリシーモジュールを適用してください。
Red Hat Enterprise Linux 7の場合は、デフォルトでSELinux=Enforcingになります。
本手順を実施することで、snmptrapdデーモンのSELinuxポリシーモジュールは自動的にインストールされ、SNMP トラップによるイベント受信が可能になります。
注意
snmptrapdデーモンに本製品のポリシーを適用する前に、他製品が snmptrapdデーモンのポリシー設定を変更していないか確認します。必要であれば本製品で設定するポリシーをカスタマイズしてください。
正しく設定できていない場合、snmptrapdデーモンが正しく動作しないことがあります。
SELinuxポリシーモジュールをカスタマイズしない場合
以下のコマンドを実行し、SELinuxポリシーモジュールを適用してください。
# /opt/FJSVssmgr/etc/selinux/esfsepolicy_setup.sh
SELinuxポリシーモジュールをカスタマイズする場合
本手順を実施することで、snmptrapdデーモンに対するSELinuxのポリシーを変更できます。
SELinuxポリシーモジュールと対応するポリシー定義ファイルは以下のとおりです。
OS | 監視する装置のIPアドレス環境 | ポリシー定義ファイル | SELinuxポリシーモジュール名 | ファイルコンテキスト名 |
---|---|---|---|---|
Red Hat Enterprise Linux 6 | IPv4 | /opt/FJSVssmgr/etc/selinux/snmptrapd.te | snmptrapd.pp | snmptrapd.fc |
Red Hat Enterprise Linux 7では、デフォルトのSELinuxポリシーモジュール定義ファイルの内容は以下です。
moduleポリシーモジュール名1.0;
require {
type unconfined_t;
type snmpd_t;
type var_t;
type initrc_t;
type init_t;
class sock_file write;
class unix_stream_socket connectto;
}
#============= snmpd_t ==============
allow snmpd_t initrc_t:unix_stream_socket connectto;
allow snmpd_t init_t:unix_stream_socket connectto;
allow snmpd_t unconfined_t:unix_stream_socket connectto;
allow snmpd_t var_t:sock_file write;
カスタマイズは、以下の手順で実施してください。
「表4.5 SELinuxポリシーモジュールのカスタマイズファイル」を参照し、利用するファイル名を確認してください。
利用するシステムに対応するポリシー定義ファイルを任意のディレクトリへコピーし、修正します。
ファイルコンテキストの定義を変更する場合は、ファイルコンテキストを作成します。
作成したファイルコンテキストを修正したポリシー定義ファイルが存在するディレクトリに格納します。
修正したポリシー定義ファイルが存在するディレクトリに移動します。
以下のコマンドを実行します。カレントディレクトリにSELinuxポリシーモジュールが作成されます。
# make -f /usr/share/selinux/devel/Makefile
以下のコマンドを実行して、設定を「SELinux=Permissive」に変更します。
# setenforce 0
以下のコマンドを実行して、ポリシーモジュールを適用します。
# /usr/sbin/semodule -i ポリシーモジュール名
以下のコマンドを実行して、ポリシーモジュール名が表示されることを確認します。
# ls /etc/selinux/targeted/modules/active/modules/ | grep ポリシーモジュール名 ポリシーモジュール名
以下のコマンドを実行して、設定を「SELinux=Enforcing」に戻します。
# setenforce 1
注意
SELinuxポリシーを作成する場合、selinux-policy-develパッケージが必要となります。
インストールされていない場合、パッケージをインストールした後にポリシーを作成してください。