Prometheus監控Canal


  1. 安裝並部署對應平台的prometheus,可以查看我之前的博客,docker命令直接啟動

    image-20201122230951931

  2. 配置prometheus.yml,添加canal的job,示例:

  - job_name: 'canal'
    static_configs:
    - targets: ['localhost:11112'] //端口配置即為canal.properties中的canal.metrics.pull.port

image-20201122231046527

  1. 啟動grafana-server,使用用戶admin與密碼admin登錄localhost:3000 (默認配置下)。

    image-20201122231136322

  2. 配置prometheus datasource.

    image-20201122231211500

  3. 導入模板(canal/conf/metrics/Canal_instances_tmpl.json),參考這里

  4. 進入dashboard 'Canal instances', 在'datasource'下拉框中選擇剛才配置的prometheus datasource, 然后'destination'下拉框中就可以切換instance了(如果沒出現instances列表就刷新下頁面), just enjoy it.

image-20201122231340672


canal監控相關原始指標列表:

指標 說明 單位 精度
canal_instance_transactions instance接收transactions計數 - -
canal_instance instance基本信息 - -
canal_instance_subscriptions instance訂閱數量 - -
canal_instance_publish_blocking_time instance dump線程提交到異步解析隊列過程中的阻塞時間(僅parallel解析模式) ms ns
canal_instance_received_binlog_bytes instance接收binlog字節數 byte -
canal_instance_parser_mode instance解析模式(是否開啟parallel解析) - -
canal_instance_client_packets instance client請求次數的計數 - -
canal_instance_client_bytes 向instance client發送數據包字節計數 byte -
canal_instance_client_empty_batches 向instance client發送get接口的空結果計數 - -
canal_instance_client_request_error instance client請求失敗計數 - -
canal_instance_client_request_latency instance client請求的響應時間概況 - -
canal_instance_sink_blocking_time instance sink線程put數據至store的阻塞時間 ms ns
canal_instance_store_produce_seq instance store接收到的events sequence number - -
canal_instance_store_consume_seq instance store成功消費的events sequence number - -
canal_instance_store instance store基本信息 - -
canal_instance_store_produce_mem instance store接收到的所有events占用內存總量 byte -
canal_instance_store_consume_mem instance store成功消費的所有events占用內存總量 byte -
canal_instance_put_rows store put操作完成的table rows - -
canal_instance_get_rows client get請求返回的table rows - -
canal_instance_ack_rows client ack操作釋放的table rows - -
canal_instance_traffic_delay server與MySQL master的延時 ms ms
canal_instance_put_delay store put操作events的延時 ms ms
canal_instance_get_delay client get請求返回events的延時 ms ms
canal_instance_ack_delay client ack操作釋放events的延時 ms ms

監控展示指標

指標 簡述 多指標
Basic Canal instance 基本信息。
Network bandwith 網絡帶寬。包含inbound(canal server讀取binlog的網絡帶寬)和outbound(canal server返回給canal client的網絡帶寬)
Delay Canal server與master延時;store 的put, get, ack操作對應的延時。
Blocking sink線程blocking占比;dump線程blocking占比(僅parallel mode)。
TPS(transaction) Canal instance 處理binlog的TPS,以MySQL transaction為單位計算。
TPS(tableRows) 分別對應store的put, get, ack操作針對數據表變更行的TPS
Client requests Canal client請求server的請求數統計,結果按請求類型分類(比如get/ack/sub/rollback等)。
Response time Canal client請求server的響應時間統計。
Empty packets Canal client請求server返回空結果的統計。
Store remain events Canal instance ringbuffer中堆積的events數量。
Store remain mem Canal instance ringbuffer中堆積的events內存使用量。
Client QPS client發送請求的QPS,按GET與CLIENTACK分類統計


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM