SNMP とは、ネットワーク経由でデバイスを監視するための一般的基準です。 お使いの GitHub Enterprise Server インスタンス の正常性を監視し、ホスト マシンにメモリ、ストレージ、プロセッサ能力を追加するタイミングを把握できるよう、SNMP を有効にすることを強くお勧めします。
GitHub Enterprise には標準の SNMP がインストールされているので、Nagios や他のモニタリング システムで利用できる多くのプラグインを活用できます。
SNMP v2c を設定
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ サイト管理者] サイドバーで [Management Console] をクリックします。
-
[設定] サイドバーで [監視] をクリックします。
-
[監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。
-
[コミュニティ文字列] フィールドに、新しいコミュニティ文字列を入力します。 空白のままにすると、既定値の
public
になります。 -
[設定] サイドバーで [設定の保存] をクリックします。
Note
[Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。
-
設定の実行が完了するのを待ってください。
-
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 用にユーザーを設定する
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ サイト管理者] サイドバーで [Management Console] をクリックします。
-
[設定] サイドバーで [監視] をクリックします。
-
[監視] で、 [Enable SNMP](SNMP を有効にする) を選びます。
-
[SNMP v3] を選択します。
-
[ユーザー名] に SNMP v3 ユーザーの固有なユーザー名を入力します。
-
[セキュリティ レベル] ドロップダウン メニューを選択し、SNMP v3 ユーザーのセキュリティ レベルをクリックします。
-
authnopriv
セキュリティ レベルの SNMP v3 ユーザーに対して認証を構成します。- [認証パスワード] に認証パスワードを入力してください。
- [認証パスワード] の横にある [プロトコル] ドロップダウン メニューを選び、使用する認証プロトコルをクリックします。
- 外部監視システムで SHA アルゴリズムが必要な場合、GitHub Enterprise Server は現在 SHA-1 を使用しています。
-
authpriv
セキュリティ レベルの SNMP v3 ユーザーに対して認証を構成します。- [認証パスワード] に認証パスワードを入力してください。
- [認証パスワード] の横にある [プロトコル] ドロップダウン メニューを選び、使用する認証プロトコルをクリックします。
- 任意で [プライバシー パスワード] にプライバシーパスワードを入力します。
- [プライバシー パスワード] の隣にある [プロトコル] ドロップダウン メニューを選択し、使用するプライバシー プロトコル方式をクリックします。
- 外部監視システムで AES アルゴリズムが必要な場合、GitHub Enterprise Server は現在 AES-128 を使用します。
-
[ユーザーの追加] をクリックします。
-
[設定] サイドバーで [設定の保存] をクリックします。
Note
[Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。
-
設定の実行が完了するのを待ってください。
SNMP データの照会
アプライアンスに関するハードウェアレベルとソフトウェアレベルの両方の情報が SNMP v3 で利用できます。 noAuthNoPriv
と authNoPriv
のセキュリティ レベルには暗号化とプライバシーがないため、hrSWRun
の表 (1.3.6.1.2.1.25.4) は結果の SNMP レポートから除外されます。 authPriv
セキュリティ レベルを使用している場合は、この表が含まれます。 詳細については、MIB ドキュメントを参照してください。
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.2 | 1.3.6.1.2.1.25.1.2 | ホストから見たローカルの日付と時間。 |
hrSystemUptime.0 | 1.3.6.1.2.1.25.1.1.0 | 前回ホストが起動してからの時間。 |
hrMemorySize.0 | 1.3.6.1.2.1.25.2.2.0 | ホストが持っているRAMの容量。 |
hrSystemProcesses.0 | 1.3.6.1.2.1.25.1.6.0 | 現在、ホストでロードされている、または作動しているプロセスのコンテキストの数。 |
hrStorageUsed.1 | 1.3.6.1.2.1.25.2.3.1.6.1 | hrStorageAllocationUnits のホストの使用ストレージ領域。 |
hrStorageAllocationUnits.1 | 1.3.6.1.2.1.25.2.3.1.4.1 | hrStorageAllocationUnit のバイトでのサイズ |
たとえば、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 マッピングの詳細については、「Linux SNMP OID’s for CPU, Memory and Disk Statistics」(CPU、メモリ、ディスクの統計情報に対する Linux SNMP OID) を参照してください。