Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

Linux で SNMP を使用して MongoDB を監視する

項目一覧

  • Overview
  • Considerations
  • 構成ファイル
  • 手順
  • オプション: MongoDB を SNMP マスターとして実行

注意

エンタープライズ機能(非推奨)

MongoDB 6.0以降、 SNMP は非推奨であり、次のリリースで削除される予定です。 配置をモニタリングするには、 MongoDB Ops Managerを使用します。

SNMP はMongoDB Enterpriseでのみ利用可能です。

MongoDB Enterprise は、一元化されたデータコレクションと集計をサポートし、SNMP 経由でデータベース メトリクスを提供できます。 この手順では、SNMP サブエージェントとしての mongodインスタンスの設定と構成、および MongoDB Enterprise による SNMP サポートの初期化とテストについて説明します。

Tip

以下も参照してください。

Windows システムで SNMP とともに MongoDB を使用する完全な手順については、「 SNMP のトラブルシューティングと SNMP を使用して MongoDB Windows をモニターする 」を参照してください。

  • SNMP サポートはmongodでのみ利用可能です。 mongosなどの他の MongoDB ツールは SNMP をサポートしていません。

  • mongod では、SNMP ラップの使用はサポートされていません。

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-6.0.17
    Ubuntu / Debian
    /usr/share/doc/mongodb-enterprise-server
    SUSE
    /usr/share/doc/packages/mongodb-enterprise-server
  • MongoDB Enterprise を.tgz tarball からインストールした場合、これらのファイルは tarball に含まれていました。

1

プラットフォームに応じて、MongoDB SNMP 構成ファイルをインストールからターゲット ディレクトリにコピーします。

  1. SNMP ファイルがインストールされたロケーションに移動します。 たとえば、 yumパッケージ マネージャーを使用して MongoDB の最新バージョンをインストールした場合は次のようになります。

    cd /usr/share/doc/mongodb-enterprise-server-6.0.17
  2. 2 つの MongoDB SNMP ファイルをターゲット ディレクトリにコピーします。

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. SNMP ファイルがインストールされたロケーションに移動します。 たとえば、 aptパッケージ マネージャーを使用して MongoDB をインストールした場合は次のようになります。

    cd /usr/share/doc/mongodb-enterprise-server
  2. MONGOD-MIB.txt.gzファイルを対象のディレクトリにコピーし、解凍します。

    sudo cp MONGOD-MIB.txt.gz /usr/share/snmp/mibs/
    sudo gunzip /usr/share/snmp/mibs/MONGOD-MIB.txt.gz
  3. mongod.conf.subagentファイルをターゲット ディレクトリにコピーします。

    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. SNMP ファイルがインストールされたロケーションに移動します。 たとえば、 zypperパッケージ マネージャーを使用して MongoDB の最新バージョンをインストールした場合は次のようになります。

    cd /usr/share/doc/packages/mongodb-enterprise-server
  2. 2 つの MongoDB SNMP ファイルをターゲット ディレクトリにコピーします。

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
2

/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
  1. snmpdがまだインストールされていない場合は、インストールします。

    sudo apt-get install snmpd
  2. /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 の構成は範囲外です。

3

Linux のバージョンに適した初期化システムを使用して、システム上で SNMP を起動します。

  • systemdを使用する Linux システムの場合( systemctlコマンド):

    sudo systemctl start snmpd
  • System V initserviceコマンド)を使用する Linux システムの場合:

    sudo service snmpd start
4

mongodsnmp-subagentで を起動し、SNMP マスターにデータを送信します。

mongod --snmp-subagent
5

MongoDB が SNMP クエリでアクセスできることを確認するには、 snmpwalkテスト コマンドを使用します。

  1. システムにsnmpwalkをインストールします。

    sudo yum install net-snmp-utils
  2. 次のパラメータを指定して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
  1. 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
  2. Debian / Ubuntu : 必要なMIBファイルを提供するためにsnmp-mibs-downloaderパッケージをインストールし、snmpdサービスを再起動して新しいMIBファイルを再読み込みします。

    sudo apt-get update
    sudo apt-get -y install snmp-mibs-downloader
    sudo service snmpd restart
  3. 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コマンドは、 sysUpTimememoryResidentなどの SNMP フィールドの現在の値を表示します。

注意

上記のsnmpwalk テスト コマンドで使用されるポート、ポート 161 は、snmpd サービスのデフォルト ポートであり、 のプライマリ ではport mongodありません 。snmpdサービスに別のポートを設定した場合は、代わりにそれをここで指定します。

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

戻る

FAQ: 診断