データベース
    更新日: 2026年5月
    CouchDB logo

    CouchDB 監視

    設定不要で、CouchDBのリクエストレート、レプリケーションの状態、ドキュメント操作、およびコンパクションのメトリクスをリアルタイムで監視できます。

    なぜ監視するのか CouchDB?

    Apache CouchDBは、マルチマスターレプリケーション機能を備えたドキュメント指向のNoSQLデータベースです。CouchDBを監視することで、分散データレイヤーにおいて、レプリケーションの健全性、最適なクエリパフォーマンス、そして適切なタイミングでのコンパクションを確保できます。

    Xitogentによる自動検出
    HTTPリクエストレートの監視
    レプリケーションのステータスとラグの追跡
    ドキュメントの読み取り/書き込み操作
    コンパクション進捗の監視
    ビューインデックス構築のメトリクス
    データベースサイズの追跡
    1分間隔の収集
    すべてのメトリクスに対するカスタマイズ可能なアラートしきい値
    1 分間隔のメトリクス収集(標準)
    CouchDB 監視とは

    CouchDB 監視を 解説

    CouchDB 監視は、レプリケーションスケジューラの失敗、smoosh コンパクションのバックログ、シャードの不均衡、ビューインデックス構築の停滞、HTTP エラーの急増を、PouchDB クライアントの同期失敗、ドキュメント破損、クエリタイムアウトを引き起こす前に検出します。オフラインファーストのモバイル/Web アプリ、IoT エッジ同期、マルチマスター CouchDB クラスターでは、ノードごとの可視性とレプリケーションジョブの健全性が、クリーンな 60 秒アラートと fabric ログを通じた数日間の追跡作業を分けます。Xitoring は CouchDB を自動検出し、ネイティブの HTTP エンドポイントを読み取り、Slack、PagerDuty、Telegram、既存のオンコールへアラートを配信します。

    指標

    私たちが 監視するもの

    リクエスト/秒

    HTTP APIリクエストレート。

    ドキュメントの読み取り

    1秒あたりのドキュメント読み取り操作数。

    ドキュメントの書き込み

    1秒あたりのドキュメント書き込み操作数。

    レプリケーションのステータス

    アクティブなレプリケーションタスクのステータス。

    データベースサイズ

    ディスク上の各データベースのサイズ。

    コンパクションの状態

    コンパクションが実行中かどうか。

    Open Databases / Open OS Files

    `couchdb.open_databases` と `couchdb.open_os_files`。OS の `ulimit -n` の上限に近づくと致命的な失敗を引き起こします — `ulimit` と CouchDB の `[couchdb] max_dbs_open` を同時に引き上げてください。

    ビューインデックス構築進捗

    `/_active_tasks` から(type=indexer): デザインドキュメントごとの `changes_done`/`total_changes`。構築が遅い、または停滞すると、それらのビューに依存するクエリがブロックされます。

    コンパクション進捗

    `/_active_tasks` から(type=database_compaction / view_compaction): 進捗率。Smoosh は 3.x で自動コンパクションを処理します — データベースサイズに対して予想以上に長く実行されている場合にアラートを発します。

    Fabric Read Repairs

    `fabric.read_repairs.success`/`failure`。読み取り時にシャードの不整合がオンザフライで修正されていることを反映します。継続的な読み取り修復は、ノードが同期外れまたは不良シャードであることをフラグします。

    Shard キャッシュヒット率

    `mem3.shard_cache.hit` / (`hit` + `miss`)。シャードルーティング用のクラスター内部キャッシュ — ヒット率が低いとチャーン(メンバーシップ変更)またはメモリ圧迫を意味します。

    ディスク上のデータベースサイズ

    データベースごとのファイルサイズを時系列で追跡。コンパクション間の安定した増加は正常です。急増して回復しない場合は、コンパクションが書き込みレートに追いつけていないことを意味します。

    トリガーとアラート

    設定可能 アラートのトリガー

    ダッシュボードでカスタムトリガーを設定し、CouchDBのメトリクスが定義した閾値を超えた瞬間に通知を受け取れるようにします。

    CouchDB 監視トリガーの設定ダッシュボード

    レプリケーションラグ

    重要な

    レプリケーションが遅延したときに発動。

    リクエストレート

    警告

    通常と異なるリクエストパターンでアラート。

    データベースサイズ

    警告

    データベースがサイズ閾値を超えたときに発動。

    コンパクション

    警告

    コンパクションが最近実行されていないときに発動。

    01

    の重要性: CouchDB監視

    CouchDBのマルチマスターレプリケーションは、データ一貫性とパフォーマンスを確保するために監視が必要です。

    • クラスター間のレプリケーション健全性を追跡
    • パフォーマンスのためにドキュメント操作を監視
    • コンパクションの必要性を検出
    • データベースサイズの管理を確保
    CouchDB監視
    レプリケーションアナリティクス
    02

    なぜ選ぶべきか: Xitoring

    ゼロコンフィグのCouchDB監視。

    • ワンコマンドインストール
    • グローバルノード
    • 統合ダッシュボード
    • マルチチャネルアラート
    • 履歴保持
    概要
    アラート
    ユースケース

    一般的な CouchDB 監視の シナリオ

    CouchDBが今日一般的に稼働している場所 — そして誰も監視していない場合に何が問題になる可能性があるか。

    オフラインで動作するモバイルおよびフィールドアプリ

    小売店のPOS、医療、フィールドサービスアプリは、オンラインになったときにデータを中央サーバーに同期します。その同期が静かに失敗すると、スタッフは作業を続けますが、オフィスは古い情報に基づいて意思決定をしてしまいます。私たちは障害が始まった瞬間にそれを捉え、データが信頼できる状態を保つようにします。

    リモートデバイスから流入するデータ

    現場のセンサーやデバイスは、測定値を中央データベースに送り返します。そのパイプラインが詰まると、データはデバイスに蓄積され、最終的に失われます。私たちはフローをエンドツーエンドで監視し、1つの測定値も失われる前にあらゆる詰まりを捉えます。

    クリティカルなアプリのための高可用性データベース

    本番アプリは、単一の障害でダウンしないように、データベースを複数のサーバーに分散させます。しかし、サーバー間の微妙な不均衡が、その保護を静かに蝕むことがあります。私たちはそれらを早期に表面化させ、実際に必要なときにセーフティネットが機能するようにします。

    はじめる前に

    CouchDB の 前提条件

    これらが揃っていることを確認してください — 揃っていれば、ほとんどの導入は 60 秒で完了します。

    • CouchDB 2.x または 3.x が稼働中であること
    • /_node および /_stats エンドポイントへのアクセスを持つ admin 認証情報
    • Xitogent から CouchDB HTTP API へのネットワーク到達性
    セットアップガイド

    はじめに 議事録

    1

    Xitogent をサーバーにインストール

    まだの場合は、CouchDB が稼働しているホストに軽量な Xitogent 監視エージェントをインストールしてください。

    curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEY
    2

    CouchDB の stats エンドポイントを公開

    CouchDB は HTTP API の `/_node/_local/_stats`(デフォルトポート 5984)でサーバー統計を提供します。エンドポイントがエージェントホストから到達可能で、設定したユーザーが管理エンドポイントへの読み取りアクセス権を持っていることを確認してください。

    sudo xitogent integrate
    3

    CouchDB 連携を有効化

    Xitoring ダッシュボードまたは CLI から CouchDB 連携を有効化してください。Xitogent がノードを自動検出し、リクエスト、レプリケーション、ストレージのメトリクス収集を開始します。

    4

    アラートしきい値を設定(オプション)

    レプリケーション遅延、リクエストレート、データベースサイズにカスタムしきい値を設定し、容量やレプリケーションの問題が障害になる前に検知できるようにします。

    5

    動作確認

    サーバー上でこのコマンドを実行して、Xitogent が連携を認識していることを確認してください。約 30 秒以内に新しいメトリクスがダッシュボードに流れ始めます。

    sudo xitogent status

    頻繁に 質問をした

    CouchDBのどのバージョンがサポートされていますか?
    XitoringはApache CouchDB 2.xおよび3.xに対応しています。この統合機能は、CouchDBに組み込まれている/_node/_local/_statsおよび/_active_tasksエンドポイントからデータを読み取ります。これらのエンドポイントは、すべての最新バージョンで利用可能です。
    この統合はCouchDBのパフォーマンスに影響を与えますか?
    いいえ。Xitogentは、CouchDBの軽量なHTTP統計エンドポイントを読み取ることでメトリクスを収集します。そのオーバーヘッドはごくわずかであり、収集間隔ごとに1回のAPI呼び出しに相当します。
    CouchDBのレプリケーションを監視しますか?
    はい。Xitoringは、アクティブなレプリケーションタスク、レプリケーションの遅延、およびドキュメントのシーケンス番号を追跡します。レプリケーションが遅延したり完全に停止したりした場合はアラートが通知されるため、ノード間のデータの一貫性を維持するのに役立ちます。
    1台のサーバー上で複数のCouchDBインスタンスを監視することはできますか?
    はい。異なるポートで複数のCouchDBインスタンスを実行している場合、Xitogentを設定することで、各インスタンスを個別に監視し、それぞれに独自のメトリクス収集とアラート閾値を設定することができます。
    締固めモニタリングはどのように機能するのでしょうか?
    Xitoringは、コンパクションが最後に実行された日時、現在のデータベースファイルのサイズ、および実行中のコンパクションタスクを追跡します。データベースが閾値を超えて肥大化した場合や、コンパクションが予定されたスケジュール通りに実行されなかった場合にアラートを発動するように設定できます。
    指標はどのくらいの頻度で収集されますか?
    メトリクスはデフォルトで1分間隔で収集されます。この間隔は、監視要件に合わせてXitoringダッシュボードまたはCLIから調整可能です。
    CouchDB の読み取り/書き込みスループットはどう監視しますか?
    クラスターレベルの操作レートには `couchdb.database_reads`/`database_writes`、ドキュメントレベルのレートには `couchdb.document_inserts`/`writes` を読み取ります。読み取り/書き込みの割合を導出するため、`couchdb.httpd.requests` と比較してください。データベースごとの内訳には、各データベースの `_stats`(CouchDB 2.x)を照会するか、データベースごとのメトリクスサーフェス(CouchDB 3.x)から読み取ります。
    CouchDB のシャード不均衡はどう検出しますか?
    3 つのシグナル: `mem3.shard_cache.miss`(高いミス率 = チャーンまたは誤ったシャードトポロジー)、`fabric.read_repairs.success`/`failure`(上昇する修復 = 読み取り時にシャード不整合が修正されている)、ノードごとの `couchdb.open_databases`(不均一な分布 = シャードリバランスが必要)。すべてのノードが参加していることを確認するには `/_membership` を使用してください。ノードのシャード数が著しく低い場合は `mem3:expand_clusters/0` でリバランスします。
    対応している CouchDB のバージョンは?
    Apache CouchDB 2.x と 3.x(3.3、3.4、3.5)が完全に対応されています。3.4 では Mango keys-only カバーリングインデックス(カバーされたクエリで p95 が 10 倍向上)を追加、3.5 では Clouseau の readiness プローブを追加。統合は共有 HTTP API 経由のマネージドデプロイメントでも動作します。Clouseau FTS(ポート 5985)は別のサイドカーとして扱われます — その健全性のため `connected` を監視してください。

    CouchDBの監視を開始する 今日

    60秒以内で設定完了。クレジットカードは不要。導入初日から詳細な分析データが利用可能。

    無料トライアルを開始

    探検を続けよう

    関連 連携機能