Apache CouchDB

Apache CouchDB 整合功能會收集與流量相關的指標,例如節點要求數量和節點回應數量。也會收集資料庫指標,例如開啟的資料庫數量和作業數量。這項整合服務會收集一般 CouchDB 和存取記錄,並將這些記錄剖析為 JSON 酬載。結果包含使用者、主機、層級和訊息的欄位。

如要進一步瞭解 CouchDB,請參閱 Apache CouchDB 說明文件

事前準備

如要收集 CouchDB 遙測資料,您必須安裝 Ops Agent

  • 如要使用指標,請安裝 2.10.0 以上版本。
  • 如要記錄,請安裝 2.11.0 以上版本。

這項整合支援 CouchDB 2.3.x 和 3.1 以上版本。

設定 CouchDB 例項

這項整合作業不需要任何額外設定,即可搭配 CouchDB 3.4.0 以下版本或以 Debian 為基礎的發行版本。

自 3.4.0 版起,CouchDB 在以 RPM 為基礎的發行版 (例如 RHEL 或 Rocky Linux) 上的運作方式有所不同。如要讓 CouchDB 在這些系統上使用此記錄接收器的預設設定,您必須將 Apache CouchDB 設定為寫入 /var/log/couchdb/couchdb.log,而非 journald。

如要將記錄寫入 /var/log/couchdb/couchdb.log,請完成下列步驟:

  1. 建立 /opt/couchdb/etc/local.d/ops-agent-filelog.ini 檔案。

  2. 在檔案中新增下列幾行內容:

    [log]
    writer = file
    file = /var/log/couchdb/couchdb.log
    level = info
    
  3. 重新啟動 Apache CouchDB:

    sudo systemctl restart couchdb
    

為 CouchDB 設定作業套件代理程式

按照設定 Ops Agent 指南的說明,新增必要元素以便從 CouchDB 執行個體收集遙測資料,然後重新啟動代理程式

範例設定

下列指令會建立設定,用於收集及攝取 CouchDB 的遙測資料:

# Configures Ops Agent to collect telemetry from the app. You must restart the agent for the configuration to take effect.

set -e

# Check if the file exists
if [ ! -f /etc/google-cloud-ops-agent/config.yaml ]; then
  # Create the file if it doesn't exist.
  sudo mkdir -p /etc/google-cloud-ops-agent
  sudo touch /etc/google-cloud-ops-agent/config.yaml
fi

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    couchdb:
      type: couchdb
      username: admin
      password: otelp
      # To use the googlesecretmanager provider to replace plaintext passwords, refer to the example below.
      # password: ${googlesecretmanager:projects/<project-id>/secrets/<secret-id>/versions/<version-id>}
  service:
    pipelines:
      couchdb:
        receivers:
          - couchdb

logging:
  receivers:
    couchdb:
      type: couchdb
  service:
    pipelines:
      couchdb:
        receivers:
          - couchdb
EOF

請重新啟動 Ops Agent,讓這些變更生效:

Linux

  1. 如要重新啟動代理程式,請在執行個體上執行下列指令:
    sudo systemctl restart google-cloud-ops-agent
    
  2. 如要確定代理程式已重新啟動,請執行下列指令,並驗證「指標代理程式」和「Logging 代理程式」元件是否已啟動:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. 使用遠端桌面協定或類似工具連線至執行個體,然後登入 Windows。
  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」,即可開啟具有系統管理員權限的 PowerShell 終端機。
  3. 如要重新啟動代理程式,請執行下列 PowerShell 指令:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 如要確認代理程式已重新啟動,請執行下列指令,並驗證「Metrics Agent」和「Logging Agent」元件是否已啟動:
    Get-Service google-cloud-ops-agent*
    

設定記錄收集

如要擷取 CouchDB 的記錄,您必須為 CouchDB 產生的記錄建立接收器,然後為新接收器建立管道。

如要為 couchdb 記錄設定接收器,請指定下列欄位:

欄位 預設 說明
exclude_paths include_paths 比對的集合中排除的檔案系統路徑模式清單。
include_paths [/var/log/couchdb/couchdb.log] 檔案尾隨讀取的檔案系統路徑清單。路徑中可使用萬用字元 (*),例如 /var/log/couchdb*/*.log
record_log_file_path false 如果設為 true,則記錄記錄取得的特定檔案路徑會顯示在輸出記錄項目中,做為 agent.googleapis.com/log_file_path 標籤的值。使用萬用字元時,系統只會記錄取得記錄的檔案路徑。
type 這個值必須是 couchdb
wildcard_refresh_interval 60s include_paths 中萬用字元檔案路徑的更新間隔。以時間長度表示,例如 30s2m。在記錄傳送量高的情況下,這個屬性可能會派上用場,因為記錄檔案的輪替時間會比預設間隔更快。

記錄內容

logName 是根據設定中指定的接收器 ID 衍生而來。LogEntry 內部的詳細欄位如下所示。

couchdb 記錄包含 LogEntry 中的下列欄位:

欄位 類型 說明
httpRequest 物件 查看HttpRequest
jsonPayload.host 字串 主機執行個體名稱
jsonPayload.level 字串 記錄項目層級
jsonPayload.message 字串 記錄訊息
jsonPayload.node 字串 節點執行個體名稱
jsonPayload.path 字串 要求路徑
jsonPayload.pid 字串 程序 ID
jsonPayload.remote_user 字串 要求的已驗證使用者名稱
jsonPayload.status_message 字串 狀態碼訊息
severity 字串 (LogSeverity) 記錄項目層級 (已翻譯)。

設定指標收集

如要從 CouchDB 擷取指標,您必須為 CouchDB 產生的指標建立接收器,然後為新接收器建立管道。

這個接收器不支援在設定中使用多個執行個體,例如用於監控多個端點。所有這類例項都會寫入相同的時間序列,而 Cloud Monitoring 無法區分這些例項。

如要為 couchdb 指標設定接收器,請指定下列欄位:

欄位 預設 說明
collection_interval 60s 時間長度值,例如 30s5m
password 用於連線至伺服器的密碼。
server_status_url http://localhost:5984 CouchDB 公開的網址。
type 這個值必須是 couchdb
username 用於連線至伺服器的使用者名稱。

監控的內容

下表列出作業套件代理程式從 CouchDB 執行個體收集的指標。

指標類型
類型、類型
受控資源
標籤
workload.googleapis.com/couchdb.average_request_time
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/couchdb.database.open
GAUGEINT64
gce_instance
 
workload.googleapis.com/couchdb.database.operations
CUMULATIVEINT64
gce_instance
operation
workload.googleapis.com/couchdb.file_descriptor.open
GAUGEINT64
gce_instance
 
workload.googleapis.com/couchdb.httpd.bulk_requests
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/couchdb.httpd.requests
CUMULATIVEINT64
gce_instance
http_method
workload.googleapis.com/couchdb.httpd.responses
CUMULATIVEINT64
gce_instance
http_status_code
workload.googleapis.com/couchdb.httpd.views
CUMULATIVEINT64
gce_instance
view

驗證設定

本節說明如何驗證您是否正確設定 CouchDB 接收器。作業套件代理程式可能需要一兩分鐘的時間,才能開始收集遙測資料。

如要確認系統是否已將 CouchDB 記錄傳送至 Cloud Logging,請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 在編輯器中輸入以下查詢,然後按一下「執行查詢」
    resource.type="gce_instance"
    log_id("couchdb")
    

如要確認 CouchDB 指標是否已傳送至 Cloud Monitoring,請執行下列操作:

  1. 前往 Google Cloud 控制台的 「Metrics Explorer」頁面:

    前往 Metrics Explorer

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在查詢建構工具窗格的工具列中,選取名稱為  MQL PromQL 的按鈕。
  3. 確認「Language」切換按鈕中已選取「MQL」。語言切換鈕位於可讓您設定查詢格式的工具列中。
  4. 在編輯器中輸入以下查詢,然後按一下「執行查詢」
    fetch gce_instance
    | metric 'workload.googleapis.com/couchdb.database.open'
    | every 1m
    

查看資訊主頁

如要查看 CouchDB 指標,您必須先設定圖表或資訊主頁。CouchDB 整合會提供一或多個資訊主頁。設定整合後,Ops Agent 就會開始收集指標資料,並自動安裝所有資訊主頁。

您也可以不安裝整合功能,查看資訊主頁的靜態預覽畫面。

如要查看已安裝的資訊主頁,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁) 頁面:

    前往「Dashboards」(資訊主頁)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 選取「Dashboard List」分頁標籤,然後選擇「Integrations」類別。
  3. 按一下要查看的資訊主頁名稱。

如果您已設定整合功能,但未安裝資訊主頁,請檢查作業套件代理程式是否正在執行。如果資訊主頁中沒有圖表的指標資料,則無法安裝資訊主頁。作業套件代理程式開始收集指標後,系統會自動安裝資訊主頁。

如要查看資訊主頁的靜態預覽畫面,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Integrations」(整合) 頁面:

    前往「Integrations」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 按一下「Compute Engine」部署平台篩選器。
  3. 找出 CouchDB 的項目,然後按一下「查看詳細資料」
  4. 選取「資訊主頁」分頁標籤,即可查看靜態預覽畫面。如果已安裝資訊主頁,請按一下「View dashboard」前往該頁面。

如要進一步瞭解 Cloud Monitoring 中的資訊主頁,請參閱「資訊主頁和圖表」。

如要進一步瞭解如何使用「Integrations」頁面,請參閱管理整合

安裝快訊政策

快訊政策會指示 Cloud Monitoring 在發生特定情況時通知您。CouchDB 整合功能包含一或多項快訊政策供您使用。您可以在 Monitoring 的「Integrations」頁面中查看及安裝這些警示政策。

如要查看可用快訊政策的說明並安裝,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Integrations」(整合) 頁面:

    前往「Integrations」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 找出 CouchDB 的項目,然後按一下「查看詳細資料」
  3. 選取「警示」分頁標籤。這個分頁會說明可用的快訊政策,並提供安裝快訊政策的介面。
  4. 安裝快訊政策。快訊政策需要知道要將已觸發快訊的通知傳送到哪裡,因此需要您提供安裝資訊。如要安裝快訊政策,請按照下列步驟操作:
    1. 從可用警示政策清單中選取要安裝的政策。
    2. 在「設定通知」部分,選取一或多個通知管道。您可以選擇停用通知管道的使用,但這樣一來,警示政策就會靜默觸發。您可以在「監控」中查看狀態,但不會收到通知。

      如要進一步瞭解通知管道,請參閱「管理通知管道」。

    3. 按一下「建立政策」

如要進一步瞭解 Cloud Monitoring 中的快訊政策,請參閱快訊簡介

如要進一步瞭解如何使用「Integrations」頁面,請參閱管理整合

後續步驟

如需有關如何使用 Ansible 安裝作業套件代理程式、設定第三方應用程式,以及安裝範例資訊主頁的教學影片,請參閱「 安裝作業套件代理程式以排解第三方應用程式的問題」影片。