Skip to main content

SNMP での監視

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

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

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

SNMP v2c を設定

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

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

  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。

  4. [設定] サイドバーで [監視] をクリックします。

  5. [監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。

  6. [コミュニティ文字列] フィールドに、新しいコミュニティ文字列を入力します。 空白のままにすると、既定値の public になります。

  7. [設定] サイドバーで [設定の保存] をクリックします。

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

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

  9. 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
    

これにより、お使いの GitHub Enterprise Server インスタンス ホストでのシステム時刻が返される必要があります。

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

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

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

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

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

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

  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。

  4. [設定] サイドバーで [監視] をクリックします。

  5. [監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。

  6. [SNMP v3] を選択します。

  7. [ユーザー名] に SNMP v3 ユーザーの固有なユーザー名を入力します。

  8. [セキュリティ レベル] ドロップダウン メニューを選択し、SNMP v3 ユーザーのセキュリティ レベルをクリックします。

  9. authnopriv セキュリティ レベルの SNMP v3 ユーザーに対して認証を構成します。

    • [認証パスワード] に認証パスワードを入力してください。
    • [認証パスワード] の横にある [プロトコル] ドロップダウン メニューを選び、使用する認証プロトコルをクリックします。
    • 外部監視システムで SHA アルゴリズムが必要な場合、GitHub Enterprise Server は現在 SHA-1 を使用しています。
  10. authpriv セキュリティ レベルの SNMP v3 ユーザーに対して認証を構成します。

    • [認証パスワード] に認証パスワードを入力してください。
    • [認証パスワード] の横にある [プロトコル] ドロップダウン メニューを選び、使用する認証プロトコルをクリックします。
    • 任意で [プライバシー パスワード] にプライバシーパスワードを入力します。
    • [プライバシー パスワード] の隣にある [プロトコル] ドロップダウン メニューを選択し、使用するプライバシー プロトコル方式をクリックします。
    • 外部監視システムで AES アルゴリズムが必要な場合、GitHub Enterprise Server は現在 AES-128 を使用します。
  11. [ユーザーの追加] をクリックします。

  12. [設定] サイドバーで [設定の保存] をクリックします。

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

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

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

Note

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

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