Overview
MongoDB Enterprise は、一元化されたデータコレクションと集計をサポートし、SNMP 経由でデータベース メトリクスを提供できます。 この手順では、SNMP サブエージェントとしての mongodインスタンスの設定と構成、および MongoDB Enterprise による SNMP サポートの初期化とテストについて説明します。
Tip
Windows システムで SNMP とともに MongoDB を使用する完全な手順については、「 SNMP のトラブルシューティングと SNMP を使用して MongoDB Windows をモニターする 」を参照してください。
Considerations
構成ファイル
MongoDB Enterprise には次の SNMP 構成ファイルが含まれています。
MONGOD-MIB.txt:MongoDB の SNMP 出力を定義する管理情報ベース(MIB)ファイル。 Ubuntu および Debian プラットフォームでは、このファイルは
MONGOD-MIB.txt.gzとして圧縮されて出荷され、gunzipを使用して解凍する必要があります。mongod.conf.subagent:SNMP サブエージェントとして
mongodを実行するための構成ファイル。 このファイルは、SNMP マスターに接続するためのagentXSocketなど、SNMP ランタイム構成オプションを設定します。mongod.conf.master:mongodを SNMP マスターとして実行するための構成ファイル。 このファイルは、実行するagentaddressを含む SNMP ランタイム構成オプションを設定します。
MongoDB SNMP 構成ファイルは、次のように MongoDB Enterprise インストールで提供されます。
パッケージ マネージャーを使用して MongoDB Enterprise をインストールした場合、これらのファイルはパッケージ インストール プロセスの一部として次のディレクトリにインストールされます。
プラットフォームパスRHEL / CentOS
/usr/share/doc/mongodb-enterprise-server-5.0.29Ubuntu / Debian
/usr/share/doc/mongodb-enterprise-serverSUSE
/usr/share/doc/packages/mongodb-enterprise-serverMongoDB Enterprise を
.tgztarball からインストールした場合、これらのファイルは tarball に含まれていました。
手順
構成ファイルをコピーします。
プラットフォームに応じて、MongoDB SNMP 構成ファイルをインストールからターゲット ディレクトリにコピーします。
SNMP ファイルがインストールされたロケーションに移動します。 たとえば、
yumパッケージ マネージャーを使用して MongoDB の最新バージョンをインストールした場合は次のようになります。cd /usr/share/doc/mongodb-enterprise-server-5.0.29 2 つの MongoDB SNMP ファイルをターゲット ディレクトリにコピーします。
sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/ sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
SNMP ファイルがインストールされたロケーションに移動します。 たとえば、
aptパッケージ マネージャーを使用して MongoDB をインストールした場合は次のようになります。cd /usr/share/doc/mongodb-enterprise-server MONGOD-MIB.txt.gzファイルを対象のディレクトリにコピーし、解凍します。sudo cp MONGOD-MIB.txt.gz /usr/share/snmp/mibs/ sudo gunzip /usr/share/snmp/mibs/MONGOD-MIB.txt.gz mongod.conf.subagentファイルをターゲット ディレクトリにコピーします。sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
SNMP ファイルがインストールされたロケーションに移動します。 たとえば、
zypperパッケージ マネージャーを使用して MongoDB の最新バージョンをインストールした場合は次のようになります。cd /usr/share/doc/packages/mongodb-enterprise-server 2 つの MongoDB SNMP ファイルをターゲット ディレクトリにコピーします。
sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/ sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
SNMP を設定します。
/etc/snmp/snmpd.confファイルを編集し、以下を追加します。
# sec.name source community com2sec local localhost mongodb # group.name sec.model sec.name group MyRWGroup any local # incl/excl subtree mask view all included .1 80 # context sec.model sec.level prefix read write notif access MyRWGroup "" any noauth 0 all all all master agentx AgentXSocket /tmp/agentx/master AgentXPerms 0777 0777 mongod mongod
snmpdがまだインストールされていない場合は、インストールします。sudo apt-get install snmpd /etc/snmp/snmpd.confファイルを編集し、以下を追加します。# sec.name source community com2sec local localhost mongodb # group.name sec.model sec.name group MyRWGroup any local # incl/excl subtree mask view all included .1 80 # context sec.model sec.level prefix read write notif access MyRWGroup "" any noauth 0 all all all AgentXSocket /tmp/agentx/master AgentXPerms 0777 0777 mongodb mongodb
/etc/snmp/snmpd.confファイルを編集し、以下を追加します。
# sec.name source community com2sec local localhost mongodb # group.name sec.model sec.name group MyRWGroup any local # incl/excl subtree mask view all included .1 80 # context sec.model sec.level prefix read write notif access MyRWGroup "" any noauth 0 all all all master agentx AgentXSocket /tmp/agentx/master AgentXPerms 0777 0777 mongod mongod
この構成では、マスター( snmpd )とサブエージェント(MongoDB)間の通信用の UNIX ドメイン ソケットを定義し、関連する MongoDB SNMP フィールドにアクセスするための基本的な SNMP 権限を定義します。
注意
マスターをローカルホスト以外の IP アドレスにバインドするには、その IP アドレスを/etc/snmp/snmpd.confファイルのagentaddressフィールドに追加し、適切なネットワーク セキュリティ ACL を更新して有効なアドレス範囲を許可します。 セキュリティ名が「mynetwork」を持つ 10.0.0.0/8 のアドレス範囲が例として、 mongod.conf.master構成ファイルに指定されています。
上記の構成は例としてのみ示しています。サイトのセキュリティ要件に基づいて権限をカスタマイズする場合があります。 MongoDB のサポートでは SNMP 用の MongoDB の設定に関するガイダンスは提供できますが、オペレーティング システムでの SNMP の構成は範囲外です。
MongoDB を起動します。
mongodsnmp-subagentで を起動し、SNMP マスターにデータを送信します。
mongod --snmp-subagent
SNMP データの取得を確認します。
MongoDB が SNMP クエリでアクセスできることを確認するには、 snmpwalkテスト コマンドを使用します。
システムに
snmpwalkをインストールします。sudo yum install net-snmp-utils 次のパラメータを指定して
snmpwalkを実行し、mongodからデータを収集する機能を確認します。snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
Debianのみ: 必要に応じて、
snmp-mibs-downloaderパッケージにアクセスするために、non-freeリポジトリを/etc/apt/sources.listファイルに追加します。 たとえば、Debian 9 "Strict" では、プライマリ リポジトリ エントリは次のようになります。deb http://deb.debian.org/debian stretch main non-free deb-src http://deb.debian.org/debian stretch main non-free Debian / Ubuntu : 必要なMIBファイルを提供するために
snmp-mibs-downloaderパッケージをインストールし、snmpdサービスを再起動して新しいMIBファイルを再読み込みします。sudo apt-get update sudo apt-get -y install snmp-mibs-downloader sudo service snmpd restart Debian / Ubuntu : 次のパラメータを指定して
snmpwalkを実行し、mongodからデータを収集する機能を確認します。snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
snmpwalkコマンドは、 sysUpTimeやmemoryResidentなどの SNMP フィールドの現在の値を表示します。
オプション: MongoDB を SNMP マスターとして実行
mongodsnmp-masterテスト目的で、 オプションとともに実行できます。これを行うには、サブエージェント構成ファイルの代わりに SNMP マスター構成ファイルを使用します。 解凍された MongoDB インストール ファイルを含むディレクトリから次の操作を行います。
cp mongod.conf.master /etc/snmp/mongod.conf
注意
マスターをローカルホスト以外の IP アドレスにバインドするには、その IP アドレスを/etc/snmp/mongod.confファイルのagentaddressフィールドに追加し、適切なネットワーク セキュリティ ACL を更新して有効なアドレス範囲を許可します。 マスター構成ファイルには、セキュリティ名が「mynetwork」を持つ 10.0.0.0/8 のアドレス範囲が例として提供されています。
次に、 オプションを使用してmongod snmp-masterを起動します。
mongod --snmp-master