Skip to main content

システム ログについて

管理者がアクティビティとエラーを理解しやすくするために、GitHub Enterprise Server にはシステム ログが格納されます。

GitHub Enterprise Server のシステム ログについて

お使いの GitHub Enterprise Server インスタンス のアクティビティと例外をトレース、確認、トラブルシューティングするには、システム ログを確認できます。 インスタンスには、次の 2 種類のシステム ログが格納されます。

  • Syslog または特定のサービスによって格納されたディスク上のプレーン テキスト ログ ファイル
  • ジャーナリングによって格納されるバイナリ ログ ファイル

既定では、GitHub Enterprise Server は 24 時間ごとにシステムログを自動的にローテーションし、7 日間保持されます。 システム ログには、システム レベルのイベント、アプリケーション ログ、Git イベントについてのデータが含まれています。 ログ ファイルは頻繁に書き込まれ、サイズが大きくなる可能性があるため、お使いの GitHub Enterprise Server インスタンス とは別に、ホスト上のログ エントリを抽出して解析することをお勧めします。

GitHub Enterprise Server インスタンスへの管理 SSH アクセス権を持つユーザーは、システム ログにアクセスして読み取ることができます。 詳しくは、「管理シェル (SSH) にアクセスする」を参照してください。

システム ログと監査ログを外部システムに転送して、分析やリテンション期間を長くすることができます。 詳しくは、「ログの転送」と「Enterprise の監査ログのストリーミング」をご覧ください。

システム ログを確認するだけでなく、他の方法でインスタンスのアクティビティを監視することもできます。 たとえば、監査ログとプッシュ ログを確認したり、グローバル Webhook を構成したりできます。 詳しくは、「Enterprise でアクティビティを監視する」を参照してください。

Note

次のログの一覧は、包括的なものではありません。

システム ログ ファイル

GitHub Enterprise Server は、いくつかのカテゴリのシステム ログをプレーン テキストでインスタンスのディスクに書き込みます。 インスタンスへの管理 SSH アクセス権を持つユーザーは、Linux コマンド ライン ツール (例: cattailheadless および more) を使用してこれらのファイルを解析できます。

データベースのログ ファイル

次のログ ファイルには、インスタンス上のデータベース サービスからのイベントを記録します。

Path説明
/var/log/mysql/mysql.log
インスタンスの MySQL データベースに関連するイベントを記録します。
/var/log/mysql/mysql.err
インスタンスの MySQL データベースに関連するエラーを記録します。
/data/user/mssql/log/errorlog
インスタンスの MSSQL データベースに関連するエラーを記録します。 その他のイベントについては、この記事で後述する「データベースのジャーナル ログ」を参照してください。

GitHub アプリケーションのログ ファイル

次のログ ファイルには、インスタンス上の GitHub アプリケーションからのイベントを記録します。

Path説明
/var/log/github/audit.log
インスタンス上の GitHub アプリケーションのアクティビティのユーザー、リポジトリ、およびシステム イベントを記録します。 github_audit キーワードを使用して、ログ内のエントリをフィルター処理できます。
/var/log/github/exceptions.log
GitHub アプリケーションで発生した例外を記録します。
/var/log/github/gitauth.log
HTTPS または SSH を使用して Git 認証要求を記録します。 babeld サービスは、すべての Git 認証リクエストとアクティビティを処理します。
/var/log/github/production.log
GitHub アプリケーションの内部イベントを記録します。 Web サイトへの要求の場合は、応答したコントローラー アクションが含まれます。 ジョブまたは要求の配信元に応じて、構造が異なるエントリを含む場合があります。

HTTP サーバーのログ ファイル

次のログ ファイルには、インスタンスの HTTP サーバーからのイベントを記録します。

Path説明
/var/log/nginx/error.log*
Web 要求のエラーを記録します。
/var/log/nginx/gist.log
gists に関連する HTTP 要求を記録します。 詳しくは、「Gist の作成」を参照してください。
/var/log/nginx/gist.error.log
Gists の HTTP 要求に関連するエラーを記録します。
/var/log/nginx/github.log
GitHub アプリケーションへの HTTP 要求を記録します。
/var/log/nginx/github.error.log
HTTP 要求に関連付けられているエラーを記録します。
/var/log/nginx/pages.log
GitHub Pages に関連付けられている HTTP 要求を記録します。 詳しくは、「GitHub Pages について」を参照してください。
/var/log/nginx/pages.error.log
GitHub Pages の HTTP 要求に関連するエラーを記録します。

[Management Console] のログファイル

次のログ ファイルには、インスタンスの [Management Console] からのイベントが含まれています。 詳しくは、「管理コンソールについて」を参照してください。

Path説明
/var/log/enterprise-manage/audit.log
インスタンスの [Management Console] にアクティビティを記録します。
/var/log/enterprise-manage/unicorn.log
管理者が Web UI または REST API を使用して [Management Console] で実行する HTTP と HTTPS の操作を記録します。

インスタンス構成のログ ファイル

次のログ ファイルには、インスタンスの構成に関連するイベントが含まれています。

Path説明
/data/user/common/ghe-config.log
最新の 構成実行に関連付けられたイベントをに記録します。 構成の実行が失敗すると、ログへの出力が停止します。 このログには、インスタンスのソフトウェアをアップグレードするプロセス中に実行された移行に関する情報も記録されます。 詳しくは、「コマンド ライン ユーティリティ」を参照してください。
/data/user/config-apply/logs/YYYYMMDD/*
以前の構成実行のログ ファイルを格納します。 インスタンスは日付を反映するディレクトリにファイルを格納し、各ファイル名には実行のノードと ID が反映されます。

次のログ ファイルには、インスタンスの検索機能を提供するサービスからのイベントが含まれています。

Path説明
/var/log/elasticsearch/github-enterprise.log
インスタンスが検索サービスを提供するために使用する Elasticsearch サービスに関連付けられているイベントを記録します。

システム サービスのログ ファイル

次のログには、インスタンス上のシステム サービスからのイベントが含まれています。

Path説明
/var/log/coredumps.log
予期せず終了するシステム プロセスに関する情報を記録します。
/var/log/boot.log
インスタンスのブート プロセスに関する情報を記録します。
/var/log/chrony/
このディレクトリには、ネットワーク タイム プロトコル (NTP) 同期とインスタンスのシステム クロックに関連するログが含まれています。 詳しくは、「時間の同期を構成する」を参照してください。
/var/log/haproxy.log
インスタンスに対するすべての Web 要求と API 要求を記録します。 HTTP 接続の場合、エントリには、クライアントが要求した URL と、要求の HTTP メソッドが含まれます。
/var/log/ssh-console-audit.log
管理者が管理シェル (SSH) を使用して実行するコマンドを記録します。 詳しくは、「管理シェル (SSH) にアクセスする」を参照してください。
/var/log/mail-replies/metroplex.log
インスタンスが受信したメールに関する情報を記録します。 詳しくは、「通知のためのメール設定」を参照してください。

システム ジャーナルのシステム ログ

いくつかの GitHub Enterprise Server サービス (babeld サービスなど) はコンテナー化されます。 GitHub Enterprise Server は、これらのサービスのシステム ログをバイナリ形式でシステム ジャーナルに書き込みます。

インスタンスへの管理 SSH アクセス権を持つユーザーは、コマンドを使用してこれらのログを journalctl 解析できます。 詳細については、オンラインの Linux マニュアル ページの journalctl(1) を参照してください。

systemd ジャーナルのログを表示するには、次のコマンドを実行します。SERVICE-NAME を、次のログのリストにあるサービス名に置き換えます。 他のすべてのコンテナ化されたサービスのログを表示するには、 nomad job status を実行し、ID を SERVICE-NAME として使用します。

journalctl -t SERVICE-NAME

GitHub アプリケーションのジャーナル ログ

次のログには、インスタンス上の GitHub アプリケーションからのイベントを記録します。

サービス名説明
github-resqued
バックグラウンド ジョブに関連するイベントを記録します。 ジョブに組み込み認証または外部認証が含まれている場合、このログには要求に関する情報が含まれます。

インスタンスが LDAP 認証を使用し、LDAP 同期が有効になっている場合、LDAP 同期のイベントがこのログに表示されます。 詳しくは、「LDAPの利用」をご覧ください。
github-unicorn
ユーザーがインスタンスの Web UI または API を介して実行する HTTP 操作と HTTPS 操作を記録します。 操作に組み込み認証または外部認証が含まれている場合、このログには要求に関する情報が含まれます。

LDAP または SAML 認証でデバッグ ログが有効になっている場合、認証された要求のデバッグ レベルの情報がこのログに表示されます。 詳しくは、「LDAPの利用」または「SAML認証」をご覧ください。

Git のジャーナル ログ

次のログには、インスタンスでの Git アクティビティに関連するイベントが含まれています。

サービス名説明
babeld
リポジトリにアクセスするための認証を含め、インスタンス上のすべての Git アクティビティのイベントを記録します。
codeload
インスタンス上のリポジトリのコード アーカイブの生成、または取得に関連するアクティビティのイベントを記録します。
gpgverify
コミット署名の検証に関連するイベントを記録します。 詳しくは、「コミット署名の検証について」を参照してください。

ストレージのジャーナル ログ

次のログには、インスタンスにデータを格納または取得するサービスからのイベントが含まれています。

サービス名説明
alambic
Git LFS オブジェクト、アバター 画像、Web UI のコメントからの添付ファイル、リリース アーカイブなど、ファイルの保存と取得に関連するイベントを記録します。

データベースのジャーナル ログ

次のログには、インスタンス上のデータベース サービスに関連付けられたイベントを記録します。

サービス名説明
mysql
インスタンスの MySQL データベースに関連するイベントを記録します。
mssql
インスタンスの MSSQL データベースに関連するイベントを記録します。

Webhook のジャーナル ログ

次のログ ファイルには、インスタンスのWebhookに関連するイベントが含まれています。

サービス名説明
hookshot-go
トリガーされた Webhook、配信、エラーなど、インスタンス上のすべての Webhook アクティビティのイベントを記録します。

サポート バンドルのシステム ログについて

サポート バンドルを生成すると、ファイルにシステム ログが含まれます。 詳しくは、「GitHub Support へのデータの提供」を参照してください。