GitLab.com のモニタリング
GitLab.com サービス可用性
GitLab.com の可用性は顧客ごとにモニタリングされています。顧客のダウンタイムを判定するための方法論は、サービスレベル契約に文書化されています。 このページに記録されている可用性は、選択されたサービスの指標を使用して測定されています。これはカバードエクスペリエンスだけでなく、エラーとレイテンシの両方を対象としています。これは SLA に記載されているものとは異なります。これらの数値は内部的に使用されます。
このページでは、GitLab.com を内部的にモニタリングするために使用しているツールについて説明します。 GitLab.com サービス可用性の計算方法論はモニタリングポリシーに記載されています。
障害、劣化の定義の詳細については、インシデント管理ページをご覧ください。
過去のサービス可用性
| 年月 | 可用性 | コメント |
|---|---|---|
| 2026 年 3 月 | 99.93% | |
| 2026 年 2 月 | 99.95% | |
| 2026 年 1 月 | 100.00% | |
| 2025 年 12 月 | 99.99% | |
| 2025 年 11 月 | 99.98% | |
| 2025 年 10 月 | 99.95% | |
| 2025 年 9 月 | 100.00% | |
| 2025 年 8 月 | 100.00% | |
| 2025 年 7 月 | 99.91% | |
| 2025 年 6 月 | 99.84% | |
| 2025 年 5 月 | 99.73% | |
| 2025 年 4 月 | 99.97% | |
| 2025 年 3 月 | 100.00% | |
| 2025 年 2 月 | 99.99% | |
| 2025 年 1 月 | 99.98% | |
| 2024 年 12 月 | 99.95% | |
| 2024 年 11 月 | 100.00% | |
| 2024 年 10 月 | 99.66% | |
| 2024 年 9 月 | 99.85% | |
| 2024 年 8 月 | 100.00% | |
| 2024 年 7 月 | 99.99% | |
| 2024 年 6 月 | 99.99% | |
| 2024 年 5 月 | 100.00% | |
| 2024 年 4 月 | 99.96% | |
| 2024 年 3 月 | 100% | |
| 2024 年 2 月 | 99.86% | |
| 2024 年 1 月 | 100% | |
| 2023 年 12 月 | 99.99% | |
| 2023 年 11 月 | 99.99% | |
| 2023 年 10 月 | 99.89 | 10 月 30 日 Sev 1 |
| 2023 年 9 月 | 99.98% | |
| 2023 年 8 月 | 100% | |
| 2023 年 7 月 | 99.78% | 2 件のセビリティ 1 インシデントがサービス障害の約 94% を占めました。2023-07-07、2023-07-14 |
| 2023 年 6 月 | 100% | |
| 2023 年 5 月 | 99.92% | |
| 2023 年 4 月 | 99.98% | |
| 2023 年 3 月 | 99.99% | |
| 2023 年 2 月 | 99.98% | |
| 2023 年 1 月 | 99.80% | |
| 2022 年 12 月 | 100% | |
| 2022 年 11 月 | 99.86% | |
| 2022 年 10 月 | 100% | |
| 2022 年 9 月 | 99.98% | |
| 2022 年 8 月 | 99.92% | |
| 2022 年 7 月 | 99.95% | |
| 2022 年 6 月 | 99.96% | |
| 2022 年 5 月 | 99.99% | |
| 2022 年 4 月 | 99.98% | |
| 2022 年 3 月 | 99.91% | |
| 2022 年 2 月 | 99.87% | |
| 2022 年 1 月 | 99.95% | |
| 2021 年 12 月 | 99.96% | |
| 2021 年 11 月 | 99.71% | |
| 2021 年 10 月 | 99.98% | |
| 2021 年 9 月 | 99.85% | |
| 2021 年 8 月 | 99.86% | |
| 2021 年 7 月 | 99.78% | |
| 2021 年 6 月 | 99.84% | |
| 2021 年 5 月 | 99.85% | PostgreSQL 12 アップグレードの手動調整は含まれていません |
| 2021 年 4 月 | 99.98% | |
| 2021 年 3 月 | 99.34% | |
| 2021 年 2 月 | 99.87% | |
| 2021 年 1 月 | 99.88% | |
| 2020 年 12 月 | 99.96% | |
| 2020 年 11 月 | 99.90% | |
| 2020 年 10 月 | 99.74% | |
| 2020 年 9 月 | 99.95% | |
| 2020 年 8 月 | 99.87% | |
| 2020 年 7 月 | 99.81% | |
| 2020 年 6 月 | 99.56% | |
| 2020 年 5 月 | 99.58% |
関連ページ
関連動画
これらの動画は、サーバー、ネットワーク、データベース、セキュリティ、パフォーマンスに関連する障害、欠陥、問題を迅速に特定する方法の例を示しています。
- モニタリングツールプレイリスト (GitLab Unfiltered YouTube アカウントのアクセスが必要)
- 視覚化ツールプレイリスト (GitLab Unfiltered YouTube アカウントのアクセスが必要)
モニタリング
Pingdom 統計
公式の可用性報告には apdex ベースの測定を使用しています(上記参照)。ただし、GitLab.com の全体的なパフォーマンスの代表的なビューとして、いくつかの公開 pingdom テストも実施しています。これらは https://stats.pingdom.com で確認できます。具体的には、以下の可用性とレイテンシが含まれています:
- GitLab.com の Issue。参考として、最初の gitlab-ce Issue です。
- GitLab.com の「シンプルな」チェック(GitLab パブリックチェックと呼ばれます)。
モニタリングインフラ
メトリクスの取り込みとクエリには Grafana Mimir を使用しています。Mimir は Prometheus を拡張するオープンソースの分散時系列データベースです。実装の詳細については、Runbook ドキュメントをご覧ください。
モニタリングダッシュボード
メトリクスは Grafana で確認できます。Grafana の Explore ダッシュボードでは、PromQL を使用して Mimir のすべてのデータをクエリできます。
- アクセスには Google SSO 経由の
@gitlab.comメールアドレスが必要です - 高可用性セットアップ
- このセットアップからアラートが送信されます
- コンプライアンス、セキュリティ、可用性の理由から公開から分離されています
ダッシュボードの追加
Grafana を使用して新しいグラフやダッシュボードを設定する方法については、以下のリソースをご覧ください:
- Grafana によるダッシュボード設定ガイド
- ダッシュボード設定方法を示す YouTube 動画
- Grafana で作成された InfluxDB ダッシュボードのアーカイブを保管している Grafana リポジトリ。ファイル構造の詳細を確認するためにご使用ください。ただし、このリポジトリは真のアーカイブであり(そこから何もデプロイされません)、古くなっている可能性があります。
ダッシュボードを追加するためのアクセスが必要ですか?インフラチーム内の任意のチームリードにお問い合わせください。
ステージグループ向けダッシュボード
各ステージグループ向けに設計されたモニタリングダッシュボードのセットがあります。これらのダッシュボードは、機能カテゴリに携わるすべての人が、自分たちのコードが GitLab.com スケールでどのように動作しているかを把握できるように設計されています。機能/コードの変更、デプロイ、フィーチャーフラグの切り替えの影響を示すために、ステージグループごとにグループ化されています。
ステージグループのダッシュボードはまだ初期段階です。すべての貢献を歓迎します。質問や提案がある場合は、Scalability チームの Issue トラッカーに Issue を提出してください。
モニタリングから選定した有用なダッシュボード
ブラックボックスモニタリング
- GitLab Web Status: GitLab のフロントエンド視点。ユーザー視点から GitLab.com がどのように見えるかを理解するのに役立ちます。GitLab のどの部分が遅いかをすばやくトラブルシュートするためにこのグラフを使用してください。
- GitLab Git Status: GitLab SSH アクセスのフロントエンド視点。
プライベートホワイトボックスモニター
- Host Stats: 特定のホストを詳しく調べて何が起きているかを理解するのに役立ちます。上部のドロップダウンからホストを選択してください。
- Business Stats: プッシュ数、新しいリポジトリ、CI ビルドを表示します。
- Daily overview: コール数とパフォーマンスメトリクスを伴うエンドポイントを表示します。全体的に何が遅いかを理解するのに役立ちます。
ログ
ネットワーク、システム、アプリケーションのログは、ELK スタックを使用して処理・保存・検索されています。GCP 上のマネージド Elasticsearch クラスターを使用しているため、インターフェースは API、Kibana、elastic.co の Web UI のみです。システムのパフォーマンスとメトリクスのモニタリングには、Elastic の x-pack モニタリングメトリクスを使用しています。これらは専用のモニタリングクラスターに送信されます。長期的には Prometheus と Grafana を優先インターフェースに切り替える予定です。Elastic によって管理されているため、VM は Elastic が運用しており、私たちはアクセスできません。ただし、エラーやインシデントの調査には、生のログが Kibana 経由で利用可能です。 ステージングログは、別の Kibana インスタンスから利用できます。
Kibana ダッシュボードは、アプリケーションアクティビティ、スパムイベント、一時的なエラー、システムおよびネットワーク認証イベント、セキュリティイベントなどのモニタリングに使用されます。よく使用されるダッシュボードは Abuse、SSH、Rack Attack ダッシュボードです。
インフラのロギング方法については、runbook に概要が記載されています。
ログ管理に関するポリシーはモニタリングポリシーに記載されています。
ダッシュボードの追加
Kibana ダッシュボードの作成方法については、以下のリソースをご使用ください:
GitLab プロファイリング
Go サービス
Stackdriver Continuous Go Profiling を使用すると、Go サービスのパフォーマンスとリソース消費をより深く理解できます。(Google Workspace の stackdriver-profiler-sg グループへのメンバーシップが必要)
CPU とメモリ使用データを含む GCP 上のシンプルな UI が提供されます:
詳細については、クイックビデオチュートリアルをご覧ください。
また、この Issue で各プロジェクトの開発チームとペアリングして一連の詳細調査を行い、以下の動画が生まれました:
パフォーマンスモニタリングのための Ruby のインストルメンテーション
Ruby コードのブロックをパフォーマンス計測のために「インストルメント」できます。
- インストルメンテーションのドキュメントと実装方法の詳細
- GitLab 自体に対してこれがどのように使用されているかの例は、このイニシャライザーで確認できます。
その他のツール
Sentry
エラートラッキングサービス。
グループ向け Sentry アラートの設定
アラートルールを作成することで、グループが機能をモニタリングし、問題を積極的に検出できるようになります。これにより、エラーバジェット SLO を超える前に問題を修正でき、GitLab.com サービス可用性の維持に貢献します。
アラート作成手順:
- Sentry のアラートルールダッシュボードを開く。
- 右上の「Create Alert」ボタンをクリックする。
- グループの機能カテゴリに応じた必要な条件を設定する。
- 次の命名規則で新しい公開 Slack チャンネルを作成する: “g_group_name_alerts”。例: #g_govern_compliance_alerts
- アラート通知を送信するためにこのチャンネルを選択する。
- 新しいアラートがないかグループをモニタリングし、解決に向けて取り組む。
Sitespeed.io
ウェブサイトの速度とパフォーマンスをモニタリング、分析、最適化するためのツール。
