TeamCity の監視と診断
TeamCity は、詳細なサーバーログ、ヘルスレポート、リソースモニターなど、サーバーの監視とトラブルシューティングを行うためのさまざまな診断ツールとインジケーターを提供します。これらのツールを使用すると、問題を簡単に特定して調査し、必要に応じてサーバー上の問題を報告できます。
この記事では、管理 | 診断で使用可能な診断ツールについて説明します。このセクションのネストされた記事でも詳細を確認できます。
トラブルシューティング
このタブには、TeamCity サーバーのパフォーマンスの問題を検出して対処するのに役立つ多くのインジケーターがあります。
CPU とメモリの使用量
このセクションには、使用可能なメモリを定期的にチェックし、メモリ消費量が高くなりすぎると警告を送信する TeamCity メモリモニターによって提供されるデータが表示されます。TeamCity サーバーのメモリ設定の構成に関する情報も参照してください。
オペレーティングシステムと Java の設定によって、表示されるプロパティのリストは異なる場合があります。
CPU 使用率
TeamCity プロセスの CPU 使用率は、一定期間にわたって平均されたメイン TeamCity プロセスによって使用される CPU 時間を示します。CPU リソースを消費する他のプロセス(データベース、Maven サーバー、VCS)は含まれません。
ガーベッジコレクションは、サーバーメモリのクリーニングに費やされた時間の平均を示します。長期間にわたる高い数値は、通常、サーバーメモリが不十分であることを示します。
システム負荷は、一定期間に平均化された CPU キューの長さに基づいて CPU 負荷情報を表示します。つまり、利用可能なプロセッサーのキューに入れられた実行可能なエンティティの数と、一定期間に平均された利用可能なプロセッサーで実行されているエンティティの数の合計 (1 分)
全体的な CPU 使用率は、システム全体の最近の CPU 使用率を \[0.0,1.0\] 間隔の値で示します。値 0.0 は、最近の期間中にすべての CPU がアイドル状態であったことを意味し、値 1.0 は、最近の期間中にすべての CPU が 100% の時間アクティブに実行されていたことを意味します。
メモリ使用率
総ヒープは、TeamCity が収集しようとしている一時データを含むすべてのデータを保存するために使用するメモリの総量を表示します。java に関してすべてのヒープメモリプール(若い世代と古い世代)を表します。ガベージコレクションは迅速かつ頻繁に実行されます。
データは、 TeamCity が永続データを格納するために使用するメモリの量を示します。java の観点からのみ古い世代を表します。ガベージコレクションは低速で、頻繁に実行されません。
トラブルシューティング
デバッグログ
これにより、内部の TeamCity サーバーログ設定を変更できます。
ハングおよびスレッドダンプ
サーバースレッドダンプはブラウザーで表示したり、ファイルに保存したりできます。
メモリの問題が発生した場合、このセクションではメモリのスナップショットをダンプするオプションを提供します。
サーバーの再起動
このセクションでは、UI からサーバーを再起動できます。
Java の構成
このセクションでは、サーバーにインストールされている Java と構成された JVM オプションについて説明します。
VCS ステータス
このタブには、変更ステータスや期間のチェックなど、監視対象の VCS ルートに関する情報が表示されます。
変更期間を確認することで、利用可能な VCS ルートをフィルタリングできます。
メトリック
TeamCity は、TeamCity サーバーの状態を監視するために使用できるサーバー負荷メトリクスを提供します。
メトリックタブには、サポートされているすべてのメトリクス、それらの tag パラメーター、現在の値が表示されます。
<TeamCity_server_URL>/app/metrics エンドポイントは、メトリクスをプロメテウス(英語)形式で提供し、Prometheus サポートのある監視ソリューション(たとえば、グラファナ(英語))にインポートする準備ができています。サーバーメトリクスは「使用統計を表示する」権限を持つユーザーのみが取得できることに注意してください。
TeamCity 2023.05 以降、メトリクスの experimental タグはレポートされません。Prometheus 形式のメトリクスの ?experimental=true URL パラメーターは引き続き機能し、一部のメトリクスは実験段階のままです。実験的なメトリクスが有用であると判断し、サポートされているメトリクスに段階的に適用したい場合は、サポートチャネルを通じてお知らせください。
サーバーログ
このタブでは、利用可能な TeamCity サーバーログ、保存されたスレッドダンプとメモリダンプを表示およびダウンロードできます。
内部プロパティ
このタブには、TeamCity サーバーの内部プロパティが表示され、変更することができます。
ロギングプリセット
TeamCity は、内部サーバーアクティビティのログ記録に log4j ライブラリを使用します。このセクションでは、使用可能なプリセットを表示およびダウンロードしたり、新しいプリセットをアップロードして診断 | トラブルシューティング | デバッグログで有効にすることができます。
ログ設定を手動で変更することも可能です。
キャッシュ
このタブには、 <TeamCity Data Directory> /system/caches に保存されている TeamCity プロセスのキャッシュが表示されます。一部のキャッシュのリセットは、クリーンアップ中にサーバーによって自動的に実行されますが、リセットリンクを使用して手動でキャッシュをクリアする必要がある場合もあります。
vcsContentCache— TeamCity は、ソースの vcsContentCache キャッシュを維持して、VCS サーバーとの通信を最適化します。キャッシュは、クリーンアップ時にリセットされます。ソースの更新に関する問題を解決するには、キャッシュを手動でリセットする必要がある場合があります。search— ビルドログによる検索を有効にする場合は、このキャッシュをリセットする必要があります。git— TeamCity によって使用されるリモート Git リポジトリのベアクローンが含まれます。buildsMetadata— TeamCity NuGet フィードを再インデックスするには、このキャッシュをリセットする必要があります。
バージョン管理された設定キャッシュ
バージョン管理システムで TeamCity プロジェクトの設定を保持する場合、次のキャッシュが使用されます。詳細については、この記事を参照してください: バージョン管理でのプロジェクト設定の保存
dslDependenciesMavenには、Kotlin DSL 構成の pom.xml ファイルでユーザーが指定したダウンロード済みの Maven 依存関係が含まれます。generatedVersionedSettingsは、過剰な DSL の実行を防ぐために、生成された構成キャッシュを保存します。kotlinDslDataは、Kotlin DSL 実行の構成と結果に関連する内部データを保存します。このキャッシュは、TeamCity によって Kotlin DSL 構成を維持するために使用されます (たとえば、UI パッチのサポート)。pluginsDslCacheには、ソース、コンパイルされた JAR、ドキュメントなどのプラグインからの Kotlin DSL 拡張機能が含まれています。さらに、このキャッシュには、Maven 依存関係を提供する Maven リポジトリが格納されます。versionedSettingsには、ダウンロードされたバージョン管理された設定 (.teamcityフォルダーの内容) が含まれています。versionedSettingsIncrementalModeは、Kotlin DSL のインクリメンタルコンパイルをサポートします。
検索
検索に関連する TeamCity データインデックスの情報を表示します。
データディレクトリの参照
このタブには TeamCity データディレクトリ内のファイルが表示され、新しいファイルをアップロードできます。
関連ページ:
問題の報告
TeamCity の実行中に問題が発生し、それがソフトウェアに関連していると思われる場合は、問題の詳細な説明を添えて弊社までご連絡ください。問題を解決するには、システムに関するさまざまな情報とさまざまなログが必要になる場合があります。以下のセクションでは、さまざまな問題についてそのような情報を収集する方法について説明します。問題を報告する際のベストプラクティス:これらのガイドラインに従うことで、タイムリーな対応と効果的な問題解決が保証されます。適切な連絡方法については、フィードバックを確認して...
TeamCity メンテナンスモード
TeamCity の起動時に TeamCity メンテナンスページが表示される場合、この TeamCity インスタンスを起動するには技術的なメンテナンスが必要であることを意味します。ほとんどの場合、このページは、TeamCity インストールで想定されるデータ形式がデータディレクトリまたはデータベースのデータ形式に対応していない場合に表示されます。例: アップグレード中、TeamCity はデータを新しい形式に変換する前にこのページを表示します。セキュリティ上の理由から、メンテナンスは、Team...
TeamCity データディレクトリ
TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。このドキュメントや他...
Git
TeamCity は、Git をすぐにサポートします。Azure DevOps Services を使用した Git ソース管理がサポートされています (以下の認証に関する注意事項を参照)。このページには、VCS ルート設定の Git 固有のフィールドの説明が含まれています。一般的な VCS ルートプロパティについては、このセクションを参照してください。注意事項: リモート実行とテスト済みのコミットは IntelliJ IDEA プラグインでサポートされています。Visual Studio アドインで...
バージョン管理でのプロジェクト設定の保存
TeamCity では、プロジェクト設定をバージョン管理リポジトリ(VCS)と同期できます。サポートされている VCS は、Git、Mercurial、Perforce、Subversion、Azure DevOps Server(旧 TFS)です。プロジェクト設定を XML 形式または Kotlin 言語で保存し、Kotlin ベースの DSL を使用してプログラムで設定を定義できます。重要なポイント:この機能は何をしますか ? 個々のプロジェクトの設定を XML または Kotlin 形式でリモ...
Kotlin DSL
TeamCity では、バージョン管理で設定を XML 形式で保存するだけでなく、DSL (Kotlin 言語に基づく) で設定を保存することもできます。バージョン管理に保存された DSL を使用すると、プログラムで設定を定義できます。Kotlin は静的に型指定されるため、IDE で自動補完機能を自動的に受け取ります。これにより、利用可能な API オプションの発見がはるかに簡単になります。TeamCity での Kotlin DSL の使用に関するブログ投稿シリーズと推奨リファクタリングの記...