mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
Updated Canal prometheus (markdown)
@@ -61,6 +61,7 @@ clamp_max(rate(canal_instance_sink_blocking_time{destination="example"}[2m]), 10
|
|||||||
_简单说明一下range-vector,通俗来说表达式会用时间点前range-vector period内的所有samples参与运算。_
|
_简单说明一下range-vector,通俗来说表达式会用时间点前range-vector period内的所有samples参与运算。_
|
||||||
_range-vector值如果太小,图会碎片化;反之,实时性会比较差,不能及时反应变化。请结合scrape_interval设定合理的值。_
|
_range-vector值如果太小,图会碎片化;反之,实时性会比较差,不能及时反应变化。请结合scrape_interval设定合理的值。_
|
||||||
|
|
||||||
|
|
||||||
* Dump线程空闲比
|
* Dump线程空闲比
|
||||||
```
|
```
|
||||||
clamp_max(rate(canal_instance_publish_blocking_time{destination="example"}[2m]), 1000) / 10
|
clamp_max(rate(canal_instance_publish_blocking_time{destination="example"}[2m]), 1000) / 10
|
||||||
@@ -71,6 +72,7 @@ clamp_max(rate(canal_instance_publish_blocking_time{destination="example"}[2m]),
|
|||||||
|
|
||||||
**2. Sinking idle ratio较低,那么server端parser是性能瓶颈,可参考[Performance](https://github.com/alibaba/canal/wiki/Performance)进行tuning.**
|
**2. Sinking idle ratio较低,那么server端parser是性能瓶颈,可参考[Performance](https://github.com/alibaba/canal/wiki/Performance)进行tuning.**
|
||||||
|
|
||||||
|
|
||||||
* Delay(seconds)
|
* Delay(seconds)
|
||||||
```
|
```
|
||||||
canal_instance_traffic_delay / 1000
|
canal_instance_traffic_delay / 1000
|
||||||
@@ -81,18 +83,21 @@ canal_instance_traffic_delay / 1000
|
|||||||
|
|
||||||
**2. Limitations: 如果store满了(恰好store中的数据包含最新的position,且MySQL binlog停止更新),且client暂停消费,那么delay会不断增长。当然,满足这些条件的概率极低。**
|
**2. Limitations: 如果store满了(恰好store中的数据包含最新的position,且MySQL binlog停止更新),且client暂停消费,那么delay会不断增长。当然,满足这些条件的概率极低。**
|
||||||
|
|
||||||
|
|
||||||
* Binlog接收带宽(KB/s)
|
* Binlog接收带宽(KB/s)
|
||||||
```
|
```
|
||||||
rate(canal_instance_received_binlog_bytes{destination="example"}[2m]) / 1024
|
rate(canal_instance_received_binlog_bytes{destination="example"}[2m]) / 1024
|
||||||
```
|
```
|
||||||
**'Sink线程空闲比'与'Dump线程空闲比'都很低,delay还是很高的情况,请查看binlog接收速率是否符合预期。**
|
**'Sink线程空闲比'与'Dump线程空闲比'都很低,delay还是很高的情况,请查看binlog接收速率是否符合预期。**
|
||||||
|
|
||||||
|
|
||||||
* TPS(Binlog events)
|
* TPS(Binlog events)
|
||||||
```
|
```
|
||||||
rate(canal_instance_store_consume_seq{destination="example"}[2m])
|
rate(canal_instance_store_consume_seq{destination="example"}[2m])
|
||||||
```
|
```
|
||||||
**Canal instance client消费TPS(以binlog event为单位),即canal instance最终的整体性能。**
|
**Canal instance client消费TPS(以binlog event为单位),即canal instance最终的整体性能。**
|
||||||
|
|
||||||
|
|
||||||
* Client消费带宽(KB/s)
|
* Client消费带宽(KB/s)
|
||||||
```
|
```
|
||||||
rate(canal_instance_client_bytes{destination="example"}[2m]) / 1024
|
rate(canal_instance_client_bytes{destination="example"}[2m]) / 1024
|
||||||
@@ -101,36 +106,42 @@ rate(canal_instance_client_bytes{destination="example"}[2m]) / 1024
|
|||||||
|
|
||||||
**注意:client在binlog无更新时busy poll,所占用的带宽也是颇为可观的,如上图。**
|
**注意:client在binlog无更新时busy poll,所占用的带宽也是颇为可观的,如上图。**
|
||||||
|
|
||||||
|
|
||||||
* TPS(MySQL transaction)
|
* TPS(MySQL transaction)
|
||||||
```
|
```
|
||||||
rate(canal_instance_transactions{destination="example"}[2m])
|
rate(canal_instance_transactions{destination="example"}[2m])
|
||||||
```
|
```
|
||||||
**Canal instance处理transaction的TPS,以TRANSACTION_END事件为基准。**
|
**Canal instance处理transaction的TPS,以TRANSACTION_END事件为基准。**
|
||||||
|
|
||||||
|
|
||||||
* TPS(Table row)
|
* TPS(Table row)
|
||||||
```
|
```
|
||||||
rate(canal_instance_rows_counter{destination="example"}[2m])
|
rate(canal_instance_rows_counter{destination="example"}[2m])
|
||||||
```
|
```
|
||||||
**Canal instance接受binlog中,数据库表变更行数的TPS.**
|
**Canal instance接受binlog中,数据库表变更行数的TPS.**
|
||||||
|
|
||||||
|
|
||||||
* DML model indicator
|
* DML model indicator
|
||||||
```
|
```
|
||||||
rate(canal_instance_rows_counter{destination="example"}[15s]) / rate(canal_instance_row_events{destination="example"}[15s])
|
rate(canal_instance_rows_counter{destination="example"}[15s]) / rate(canal_instance_row_events{destination="example"}[15s])
|
||||||
```
|
```
|
||||||
**RowData events包含行数。OLTP下,RowData大体上仅包含1行变更;批量DML下,该指标会上行。**
|
**RowData events包含行数。OLTP下,RowData大体上仅包含1行变更;批量DML下,该指标会上行。**
|
||||||
|
|
||||||
|
|
||||||
* RPS(Client request)
|
* RPS(Client request)
|
||||||
```
|
```
|
||||||
rate(canal_instance_client_packets{destination="example"}[2m])
|
rate(canal_instance_client_packets{destination="example"}[2m])
|
||||||
```
|
```
|
||||||
**Netty server处理client requests吞吐量。**
|
**Netty server处理client requests吞吐量。**
|
||||||
|
|
||||||
|
|
||||||
* QPS(空包)
|
* QPS(空包)
|
||||||
```
|
```
|
||||||
rate(canal_instance_client_empty_batches{destination="example"}[2m])
|
rate(canal_instance_client_empty_batches{destination="example"}[2m])
|
||||||
```
|
```
|
||||||
**client get返回每秒空包量。如果正常traffic下,该值很大,考虑使用connector的timeout机制,节省资源。**
|
**client get返回每秒空包量。如果正常traffic下,该值很大,考虑使用connector的timeout机制,节省资源。**
|
||||||
|
|
||||||
|
|
||||||
* Client latency
|
* Client latency
|
||||||
|
|
||||||
_experimental_
|
_experimental_
|
||||||
@@ -139,18 +150,21 @@ canal_instance_client_request_latency_bucket
|
|||||||
```
|
```
|
||||||
**Histogram, client请求响应情况。关于[histogram](https://prometheus.io/docs/concepts/metric_types/#histogram).**
|
**Histogram, client请求响应情况。关于[histogram](https://prometheus.io/docs/concepts/metric_types/#histogram).**
|
||||||
|
|
||||||
|
|
||||||
* Event store占用
|
* Event store占用
|
||||||
```
|
```
|
||||||
canal_instance_store_produce_seq - canal_instance_store_consume_seq
|
canal_instance_store_produce_seq - canal_instance_store_consume_seq
|
||||||
```
|
```
|
||||||
**Event store内未ack的events数量,实时性受scrape_interval影响。**
|
**Event store内未ack的events数量,实时性受scrape_interval影响。**
|
||||||
|
|
||||||
|
|
||||||
* Event store memory占用(KB, 仅memory mode)
|
* Event store memory占用(KB, 仅memory mode)
|
||||||
```
|
```
|
||||||
(canal_instance_store_produce_mem - canal_instance_store_consume_mem) / 1024
|
(canal_instance_store_produce_mem - canal_instance_store_consume_mem) / 1024
|
||||||
```
|
```
|
||||||
**Event store内未ack的events所占用内存大小,实时性受scrape_interval影响。**
|
**Event store内未ack的events所占用内存大小,实时性受scrape_interval影响。**
|
||||||
|
|
||||||
|
|
||||||
* 状态信息
|
* 状态信息
|
||||||
```
|
```
|
||||||
canal_instance
|
canal_instance
|
||||||
|
|||||||
Reference in New Issue
Block a user