Redis

Redis 整合功能會收集效能和用量相關指標。 效能指標著重於 CPU、記憶體和網路輸送量,而用量指標則著重於鍵、指令和複製。整合服務也會收集 Redis 記錄,並剖析為 JSON 酬載。在此過程中,系統會將角色和層級的符號轉換為使用者可判讀的格式。

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

必要條件

如要收集 Redis 遙測資料,請安裝作業套件代理程式

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

這項整合功能支援 Redis 6.2 版。

設定 Redis 適用的作業套件代理程式

按照設定作業套件代理程式指南操作,新增必要元素,從 Redis 執行個體收集遙測資料,然後重新啟動代理程式

範例設定

下列指令會建立設定,以收集及擷取 Redis 的遙測資料:

# 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:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
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 圖示,然後選取「以系統管理員身分執行」,以管理員權限開啟 PowerShell 終端機。
  3. 如要重新啟動代理程式,請執行下列 PowerShell 指令:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 如要確定代理程式已重新啟動,請執行下列指令,並驗證「指標代理程式」和「Logging 代理程式」元件是否已啟動:
    Get-Service google-cloud-ops-agent*
    

設定記錄檔收集作業

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

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

欄位 預設 說明
exclude_paths 要從 include_paths 比對的集合中排除的檔案系統路徑模式清單。
include_paths [/var/log/redis/redis-server.log, /var/log/redis_6379.log, /var/log/redis/redis.log, /var/log/redis/default.log, /var/log/redis/redis_6379.log] 要讀取的檔案系統路徑清單,方法是追蹤每個檔案。路徑中可使用萬用字元 (*),例如 /var/log/redis/*.log
record_log_file_path false 如果設為 true,輸出記錄項目中就會顯示路徑,指出記錄項目是從哪個特定檔案取得,並做為 agent.googleapis.com/log_file_path 標籤的值。使用萬用字元時,系統只會記錄取得記錄的檔案路徑。
type 這個值必須是 redis
wildcard_refresh_interval 60s include_paths 中萬用字元檔案路徑的重新整理間隔。以時間長度表示,例如 30s2m。在記錄吞吐量較高的情況下,記錄檔的輪替速度會比預設間隔更快,這時這個屬性就可能派上用場。

記錄內容

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

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

欄位 類型 說明
jsonPayload.level 字串 記錄項目層級
jsonPayload.message 字串 記錄訊息,包括詳細的堆疊追蹤 (如有提供)
jsonPayload.pid 數字 核發記錄的程序 ID
jsonPayload.role 字串 從 Redis 角色字元 (sentinel、RDB/AOF_writing_child、slave、master) 翻譯而來
jsonPayload.roleChar 字串 Redis 角色字元 (X、C、S、M)
severity 字串 (LogSeverity) 記錄項目層級 (已翻譯)。

設定指標收集

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

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

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

欄位 預設 說明
address localhost:6379 Redis 公開的網址。
ca_file CA 憑證的路徑。做為用戶端,這會驗證伺服器憑證。如果為空白,接收器會使用系統根 CA。
cert_file 用於 mTLS 必要連線的 TLS 憑證路徑。
collection_interval 60s 時間長度值,例如 30s5m
insecure true 設定是否使用安全的 TLS 連線。如果設為 false,系統會啟用 TLS。
insecure_skip_verify false 設定是否要略過驗證憑證。如果 insecure 設為 true,系統就不會使用 insecure_skip_verify 值。
key_file 用於 mTLS 必要連線的 TLS 金鑰路徑。
password 用於連線至伺服器的密碼。
type 這個值必須是 redis

監控的內容

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

指標類型
類型
受監控資源
標籤
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_output_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.commands.processed
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.received
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.cpu.time
CUMULATIVEDOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keys.expired
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.hits
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.misses
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.latest_fork
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.backlog_first_byte_offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.slaves.connected
GAUGEINT64
gce_instance
 

驗證設定

本節說明如何確認您已正確設定 Redis 接收器。作業套件代理程式可能需要一到兩分鐘,才會開始收集遙測資料。

如要確認 Redis 記錄是否已傳送至 Cloud Logging,請按照下列步驟操作:

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

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

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

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

如要確認 Redis 指標是否已傳送至 Cloud Monitoring,請按照下列步驟操作:

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

    前往 Metrics Explorer

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

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

查看資訊主頁

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

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

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

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

    前往「Dashboards」(資訊主頁)

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

  2. 選取「資訊主頁清單」分頁,然後選擇「整合」類別。
  3. 按一下要查看的資訊主頁名稱。

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

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

  1. 前往 Google Cloud 控制台的 「Integrations」(整合) 頁面

    前往「整合」

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

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

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

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

安裝快訊政策

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

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

  1. 前往 Google Cloud 控制台的 「Integrations」(整合) 頁面

    前往「整合」

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

  2. 找出 Redis 的項目,然後按一下「查看詳細資料」
  3. 選取「快訊」分頁標籤。這個分頁會說明可用的快訊政策,並提供安裝介面。
  4. 安裝快訊政策。快訊政策需要知道在觸發快訊時,要將通知傳送至何處,因此需要您提供安裝資訊。如要安裝快訊政策,請按照下列步驟操作:
    1. 從可用的警報政策清單中,選取要安裝的政策。
    2. 在「設定通知」部分,選取一或多個通知管道。您可以選擇停用通知管道,但這麼做的話,快訊政策會以無聲方式觸發。您可以在「監控」中查看狀態,但不會收到任何通知。

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

    3. 按一下「建立政策」

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

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

後續步驟

如要逐步瞭解如何使用 Ansible 安裝作業套件代理程式、設定第三方應用程式,以及安裝範例資訊主頁,請觀看「 安裝 Ops Agent 以排解第三方應用程式的問題」影片。