ubuntu前書きシステム管理者の大部分は、サーバーとインフラストラクチャに関する正確な情報を収集することです。このタイプの情報を収集および処理するためのツールとオプションがいくつかあります。*と呼ばれる技術に基づいています。SNMPは、単純なネットワーク管理プロトコルの略です。これは、サーバーが現在の状態に関する情報を共有できる方法であり、管理者が事前定義された値を変更できるチャネルでもあります。プロトコル自体は非常に単純ですが、SNMPを実装するプログラムの構造は非常に複雑になる場合があります。wwwについて説明しました。14.04サーバーにSNMPコンポーネントをインストールおよび構成する方法]。+`スイートに付属している多くのツールの基本的な使用法について説明します。実際に情報を収集し、リモートホストを操作するために、最後のガイドで設定した構成を活用する方法について説明します。このチュートリアルでは、https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-an-snmp-daemon-and-の最後に2つのホストがセットアップされていることを前提としています。[インストールおよび構成ガイド]。+`スイートには、リモートホストでのOID値のクエリや設定に役立つかなり多くのユーティリティが含まれています。幸いなことに、ほとんどのツールは一連の共有構文を活用し、同様の使用パターンを持っています。以下に、より人気のあるものの基本的な使用法を説明します。`コマンドを提供する必要がある認証部分に精通していることを前提としています。以下のセクションでは、すべての認証情報を「+」と呼びます。[セットアップクライアントのsnmp.conf構成]ここで説明したように、認証の詳細が構成ファイルから読み取られるため、コマンドのこのセクションを削除できます。snmp.conf`ファイルがない場合は、各コマンドの「認証情報」をリモートデーモンに接続するために必要な情報に置き換える必要があります。+`アカウントには、次の値を使用できます。my_new_password異なる環境にいる場合、これらのコマンドを実行するときに独自の値に置き換えてください。必要な認証の詳細がわかったので、使用可能なコマンドのいくつかに慣れましょう。SnmpGetを使用した単一のOID値の取得これはおそらく、SNMPを使用して情報を照会するための最も基本的なコマンドです。+`コマンドを使用して、ユーザーがアクセスできるOIDの値を読み取ることができます。基本的な使用法は、既知の数値OIDを指定することです。次のように入力してシス​​テムの説明を取得できます。+`パッケージをインストールしたため、一般的なOIDを名前で参照することもできます。次のように入力して同じ情報を取得できます。sysDescr.0SnmpGetNextを使用して次に使用可能なOID値を取得するこのコマンドは、指定された後のOIDの値を取得するために使用されます。MIBデータベースは歩行可能な階層であるため、その値は順番に取得できます。このプロパティを活用することで、ツリー内の任意のオブジェクトから次のオブジェクトの値(およびOIDラベル)を見つけることができます。上記でシステムの説明を取得する方法を見ました。NET-SNMP-MIB::netSnmpAgentOIDs.10これは、システムObjectIDを返します。これは、ツリー内の次の順次オブジェクトです。返されたOIDを使用してこれを繰り返して、各シーケンシャルオブジェクトを取得できます。0:19:02.16これらは、以前と同様に、文字列OIDまたは数値OIDを使用できます。+`コマンドを使用できます。これは、指定されたポイントの下に存在するツリー全体を返します。+」部分のすべての値を取得できます。getNext要求をホストに自動的に発行することにより動作します。基本的にMIBツリー全体を取得する場合は、ルートでコマンドを発行できます。.これにより、指定されたユーザーがアクセスできるツリー全体が返されます。+`とともに使用できます。OIDは、SNMPデーモンがリモートホスト上で動作していた長さを返すことを知っているかもしれませんが、サーバー自体がオンラインになっている時間に興味があるかもしれません。`コマンドを使用してOIDの階層全体を取得し、grepでフィルタリングして、名前に「uptime」が含まれているものを探します。+」フラグを使用します。uptime次のような応答が返されます。OIDに正しいアップタイム値が含まれていることがわかります。これで、そのマシンが起動してからどれくらいの時間が経過したい場合でも、そのOIDを使用できます。+」が非常に役立ちます。SnmpTranslateを使用した数値OIDと文字列OID間の変換スイートで最も役立つコマンドの1つは、実際にはリモートホストと通信しません。代わりに、MIB階層に関する情報を見つけるのに役立ちます。+`ユーティリティを使用して、数値結果をテキスト表現に簡単に変換できます。1.3.6.1.2.1.1.1.0SNMPv2-MIB::sysDescr.0これにより、テキスト名とOID自体の名前を定義するMIBモジュールが提供されます。このツールを使用して、他の方向に翻訳することもできます。+)のテキストMIBを見つけたとき、定義されたツリーのどこに興味があるのでしょう。+`フラグを渡して数値アドレスを取得できます。OIDに関する情報を受信するたびに提供されるMIBモジュールを含めることを忘れないでください。HOST-RESOURCES-MIB::hrSystemUptime.0.1.3.6.1.2.1.25.1.1.0このツールを使用して、任意のポイントに関する他の多くの詳細情報を取得することもできます。+`フラグを使用すると、完全な説明を取得でき、パスを最後に入力できます。」パラメータを渡すことで、出力の表示方法を変更できます。OPTIONS」セクションで見ることができますが、より一般的な選択肢は次のとおりです。representationsysDescr.0上記の書式設定オプションは、このスイートの他のほとんどのツールにも適用でき、出力を希望どおりに書式設定できることに注意してください。SnmpTableを使用して書式設定された出力で表形式のデータを取得するSNMPとともに保存される情報の一部は、実際には表形式です。+`にはすべての関連データを表示する機能がありますが、フォーマットは一部の用途には理想的ではありません。udpTableこれを取得します。udpTable次のように、適切にフォーマットされたテーブルを取得します。35679これははるかに優れたフォーマットであり、人間の読者にとっては使いやすいものです。SnmpSetを使用して値を変更するこのコマンドは、値をOIDに書き込むために使用されます。これまでの他のコマンドは情報を取得するために使用されていましたが、このコマンドはホスト上のデータを変更するために使用されます。+`コマンドは他のコマンドからその構文の大部分を継承しますが、値を設定するには追加情報が必要です。基本的な構文は次のようになります。snmpset上記のフィールドのほとんどは、一目瞭然です。データ型にはもう少し説明が必要です。各タイプは単一の文字で表されます。可能なタイプのリストは次のとおりです。+`を入力するだけで済みます。+`ファイルに設定された値の1つをコメントアウトできます。構成ファイルで値を指定すると、基本的にハードコーディングされ、通常のSNMPメソッドを使用して値を変更できなくなります。+`ファイルを開きます。Bayファイルを保存して閉じます。次に、サービスを再起動します。OIDを「Earth」に設定できます。データ型が文字列であることを指定する「s」に注意してください。+`型指定子が値の型を正しく設定するかどうかをテストできます。City値を通常の文字列として正しく解釈しました。+`リクエストを発行すると、繰り返し使用すると非常に多くのネットワークトラフィックが発生する可能性があります。+」という2つのコンパニオンコマンドが作成されました。これらは、返されるOID値ごとのトランザクションではなく、単一のトランザクション内ですべての戻り値をパックします。一度に複数のOIDを渡すこともできます。snmpbulkget`を使用するには、1つ以上のKIDまたはブランチを渡し、追加のOIDの値をパケットに収まるだけ多く取得します。`コマンドのように動作することです。引数として指定されたオブジェクトを除外します。上記の例では、特定のオブジェクトを提供する代わりに、ブランチを提供しました。+`呼び出しと考えることができますが、結果は1つのパケットになります。+`コマンドを作成し続けます。+`スイートを使用して、さまざまな方法でデータを取得および操作できます。これらのアクションをスクリプト化するか、アプリケーションでこれらのユーティリティを活用することにより、複雑な監視および管理環境を構築できます。