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分类统计
posted @ 2020-11-22 23:16  天宇轩-王  阅读(1362)  评论(0编辑  收藏  举报