Skip to main content

SNMP での監視

GitHub Enterpriseは、SNMP経由でディスクの使用や CPU の使用率、メモリーの使用などのデータを提供します。

SNMP とは、ネットワーク経由でデバイスを監視するための一般的基準です。 your GitHub Enterprise Server instance の正常性を監視し、ホスト マシンにメモリ、ストレージ、プロセッサ能力を追加するタイミングを把握できるよう、SNMP を有効にすることを強くお勧めします。

GitHub Enterprise には標準の SNMP がインストールされているので、Nagios や他のモニタリング システムで利用できる多くのプラグインを活用できます。

SNMP v2c を設定

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット 1. 左側のサイドバーで、 [Management Console] をクリックします。 左側のサイドバーの [[Management Console]] タブ 1. 左側のサイドバーで、 [監視] をクリックします。 [監視] タブ 1. [監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。 SNMP を有効にするボタン

  3. [コミュニティ文字列] フィールドに、新しいコミュニティ文字列を入力します。 空白のままにすると、既定値の public になります。 コミュニティ文字列を追加するフィールド 1. 左側のサイドバーで、 [設定の保存] をクリックします。

    [Management Console] の [設定の保存] ボタンのスクリーンショット

    注: [Management Console] に設定を保存すると、システム サービスが再起動され、ユーザーに表示されるダウンタイムが発生する可能性があります。

  4. 設定の実行が完了するのを待ってください。

    インスタンスの設定

  5. SNMP に対応している別のワークステーションで次のコマンドを実行して、SNMP のコンフィグレーションをテストする。

    # community-string is your community string
    # hostname is the IP or domain of your Enterprise instance
    $ snmpget -v 2c -c community-string -O e hostname hrSystemDate.0

これにより、your GitHub Enterprise Server instance ホストでのシステム時刻が返される必要があります。

ユーザベースのセキュリティ

SNMP v3 を有効にすると、ユーザセキュリティモデル (USM) により、強化されたユーザベースのセキュリティを利用できます。 ユーザごとに、以下のセキュリティレベルを指定できます:

  • noAuthNoPriv: このセキュリティ レベルでは、認証もプライバシーも提供されません。
  • authNoPriv: このセキュリティ レベルでは、認証は提供されますが、プライバシーは提供されません。 アプライアンスを照会するには、ユーザ名とパスワード (最低 8 文字) が必要です。 SNMPv2 と同様に、情報は暗号化されずに送信されます。 可能な認証プロトコルは MD5 または SHA であり、デフォルトは SHA です。
  • authPriv: このセキュリティ レベルでは、認証とプライバシーが提供されます。 8 文字以上の認証パスワードを含む認証が必要であり、返信は暗号化されます。 プライバシーパスワードは必須ではありませんが、指定する場合は 8 文字以上でなければなりません。 プライバシーパスワードが指定されない場合は、認証パスワードが使用されます。 プライバシープロトコルは DES または AES のいずれかが可能であり、デフォルトは AES です。

SNMP v3 用にユーザーを設定する

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット 1. 左側のサイドバーで、 [Management Console] をクリックします。 左側のサイドバーの [[Management Console]] タブ 1. 左側のサイドバーで、 [監視] をクリックします。 [監視] タブ 1. [監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。 SNMP を有効にするボタン

  3. [SNMP v3] を選択します。 SNMP v3 を有効にするボタン

  4. [Username] に、SNMP v3 ユーザの固有なユーザ名を入力します。 SNMP v3 のユーザ名を入力するフィールド

  5. [セキュリティ レベル] ドロップダウン メニューで、SNMP v3 ユーザーに対するセキュリティ レベルをクリックします。 SNMP v3 ユーザーのセキュリティ レベルを指定するためのドロップダウン メニュー

  6. セキュリティ レベルが authnopriv である SNMP v3 ユーザーの場合: authnopriv セキュリティ レベルの設定

    • "Authentication password"(認証パスワード)に、認証パスワードを入力してください。
    • [認証パスワード] の右の [プロトコル] ドロップダウン メニューから、使用する認証プロトコルをクリックします。
  7. セキュリティ レベルが authpriv である SNMP v3 ユーザーの場合: authpriv セキュリティ レベルの設定

    • "Authentication password"(認証パスワード)に、認証パスワードを入力してください。
    • [認証パスワード] の右の [プロトコル] ドロップダウン メニューから、使用する認証プロトコルをクリックします。
    • 任意で、[Privacy password] にプライバシーパスワードを入力します。
    • [プライバシー パスワード] の右側にある [プロトコル] ドロップダウン メニューで、使用するプライバシー プロトコル方式をクリックします。
  8. [ユーザーの追加] をクリックします。 SNMP v3 ユーザーを追加するボタン 1. 左側のサイドバーで、 [設定の保存] をクリックします。

    [Management Console] の [設定の保存] ボタンのスクリーンショット

    注: [Management Console] に設定を保存すると、システム サービスが再起動され、ユーザーに表示されるダウンタイムが発生する可能性があります。

  9. 設定の実行が完了するのを待ってください。

    インスタンスの設定

SNMP データの照会

アプライアンスに関するハードウェアレベルとソフトウェアレベルの両方の情報が SNMP v3 で利用できます。 noAuthNoPrivauthNoPriv のセキュリティ レベルには暗号化とプライバシーがないため、hrSWRun の表 (1.3.6.1.2.1.25.4) は結果の SNMP レポートから除外されます。 authPriv セキュリティ レベルを使用している場合は、この表が含まれます。 詳細については、OID のリファレンス ドキュメントを参照してください。

SNMP v2c では、アプライアンスに関するハードウェアレベルの情報のみが利用できます。 GitHub Enterprise 内のアプリケーションとサービスには、メトリックスを報告するように設定された OID がありません。 複数の MIB を利用できます。これらは、お使いのネットワーク内にあって SNMP をサポートしている別のワークステーションで snmpwalk を実行することにより確認できます。

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ snmpwalk -v 2c -c community-string -O e hostname

SNMP に対して利用できる MIB のうち、最も有用なものは HOST-RESOURCES-MIB (1.3.6.1.2.1.25) です。 この MIB のいくつかの重要なオブジェクトについては、以下の表を参照してください:

名前OID説明
hrSystemDate.21.3.6.1.2.1.25.1.2ホストから見たローカルの日付と時間。
hrSystemUptime.01.3.6.1.2.1.25.1.1.0前回ホストが起動してからの時間。
hrMemorySize.01.3.6.1.2.1.25.2.2.0ホストが持っているRAMの容量。
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0現在、ホストでロードされている、または作動しているプロセスのコンテキストの数。
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1hrStorageAllocationUnits のホストの使用ストレージ領域。
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1hrStorageAllocationUnit のバイトでのサイズ

たとえば、SNMP v3 で hrMemorySize を照会するには、お使いのネットワークにあって SNMP をサポートしている別のワークステーションで次のコマンドを実行します。

# username is the unique username of your SNMP v3 user
# auth password is the authentication password
# privacy password is the privacy password
# hostname is the IP or domain of your Enterprise instance
$ snmpget -v 3 -u username -l authPriv \
  -A "auth password" -a SHA \
  -X "privacy password" -x AES \
  -O e hostname HOST-RESOURCES-MIB::hrMemorySize.0

SNMP v2c で hrMemorySize を照会するには、お使いのネットワークにあって SNMP をサポートしている別のワークステーションで次のコマンドを実行します。

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
snmpget -v 2c -c community-string hostname HOST-RESOURCES-MIB::hrMemorySize.0

注: アプライアンスで実行されているサービスに関する情報の漏洩を防ぐため、SNMP v3 で authPriv セキュリティ レベルを使用していない場合、hrSWRun の表 (1.3.6.1.2.1.25.4) は結果の SNMP レポートから除外されます。 authPriv セキュリティ レベルを使用している場合は、hrSWRun の表が含まれます。

SNMP での一般的なシステム属性に対する OID マッピングの詳細については、「CPU、メモリ、ディスクの統計情報に対する Linux SNMP OID」を参照してください。