# [FAQ] 告警为 tikv_channel_full_total 要关注哪些指标？

## Key Words

tikv_channel_full_total,tikv,磁盘,cpu,memory

## Description

TiKV_channel_full_total 规则描述：该错误通常是因为 Raftstore 线程卡死，TiKV 的压力已经非常大了。

### 告警信息如下

```
Alerta Trigger
Trigger_time: 2022-10-21 05:30:05.830734
Resource: {tikv-ip}:{tikv-port}
Event: TiKV_channel_full_total/tidb-cluster-name/n/a
Severity: warning
Value: 0.001711905982905983
Text: cluster: tidb-cluster-name, instance: {tikv-ip}:{tikv-port}, values:0.001711905982905983
startsAt: 2022-10-21T05:29:35.591068956+08:00
endsAt: 0001-01-01T00:00:00Z
ip:  {altermanager-ip}
 
Alerta Trigger
Trigger_time: 2022-10-21 04:16:35.793415
Resource: {tikv-ip}:{tikv-port}
Event: TiKV_channel_full_total/tidb-cluster-name/n/a
Severity: warning
Value: 0.0017094017094017092
Text: cluster: tidb-cluster-name, instance: {tikv-ip}:{tikv-port}, values:0.0017094017094017092
startsAt: 2022-10-21T04:16:05.591068956+08:00
endsAt: 0001-01-01T00:00:00Z
ip: {altermanager-ip}
```

### TiKV 对应监控面板

在 TiKV-details -> Server -> Channel full 监控，每个 TiKV 实例上 channel full 错误的数量，正常情况下应当为 0。

## Content

### 预期处理方法

观察 Raft Propose 监控（Grafana 位置：TiKV-details -> Raft Propose -> raft read/write proposals），看这个报警的 TiKV 节点是否明显有比其他 TiKV 高很多。如果是，表明这个 TiKV 上有热点，需要检查热点调度是否能正常工作。

观察 Raft IO 监控（Grafana 位置：TiKV-details -> Raft IO -> Append log/Commit log/Apply log duration），看延迟是否升高。如果延迟很高，表明磁盘可能有瓶颈。一个能缓解但不怎么安全的办法是将 sync-log 改成 false。

观察 Raft Process 监控（Grafana 位置：TiKV-details -> Raft Process -> Process ready duration per server），看 tick duration 是否很高。如果是，需要在 [raftstore] 配置下加上 raft-base-tick-interval = “2s”。

### 特殊情况

这个告警触发是因为 [hotfix-13561](https://github.com/tikv/tikv/pull/13561/files)  增加了 `channel full count` 得 metric。通过提供的 "warn" 告警和文档排查方案，没有看到 TiKV 节点存在瓶颈。同时确认告警时间点，对客户业务没有影响。目前告警阈值较低，导致抖动会触发 `chennel full` 告警，且没有持续不影响业务。可以忽略或者调高阈值。阈值调高建议：调到 10 减少一些误报警，如果 TiKV 很忙，卡 `channel full` 导致了严重影响，那么 `tikv_channel_full_total` 会比较高，这种时候也能正常报警。

#### TiDB 报警规则中 TiKV 默认配置严重级别报警项 TiKV_channel_full_total，报警规则如下

```yaml
sum(rate(tikv_channel_full_total[10m])) BY (type, instance) > 0
```

##### 规则描述

该错误通常是因为 Raftstore 线程卡死，TiKV 的压力已经非常大了。

##### 处理方法

观察 Raft Propose 监控，看这个报警的 TiKV 节点是否明显有比其他 TiKV 高很多。如果是，表明这个 TiKV 上有热点，需要检查热点调度是否能正常工作。
观察 Raft IO 监控，看延迟是否升高。如果延迟很高，表明磁盘可能有瓶颈。一个能缓解但不怎么安全的办法是将 sync-log 改成 false。
观察 Raft Process 监控，看 tick duration 是否很高。如果是，需要在 [raftstore] 配置下加上 raft-base-tick-interval = “2s”。

## Affected Versions

N/A