
# ALM-12052 TCP临时端口使用率超过阈值
#### 告警解释
系统每30秒周期性检测TCP临时端口使用率，并把实际使用率和阈值进行比较，当检测到TCP临时端口使用率连续多次（默认值为5）超过阈值时产生该告警。
用户可通过"运维 \> 告警 \> 阈值设置 \> 主机 \> 网络状态 \> TCP临时端口使用率"修改阈值。
平滑次数为1，TCP临时端口使用率小于或等于阈值时，告警恢复；平滑次数大于1，TCP临时端口使用率小于或等于阈值的90%时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别                                                 | 是否自动清除 |
|:---|:---|:---|
| 12052 | 紧急（默认阈值为95%） 重要（默认阈值为80%） | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群或系统名称。         |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
可能造成主机上业务无法发起对外建立连接，业务中断。
#### 可能原因
- 临时端口不满足当前业务需求。
- 系统环境异常。
 
#### 处理步骤
**扩大临时端口范围。**
1. 打开FusionInsight Manager页面，在实时告警列表中，单击此告警所在行的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895749.png)，获取告警所在主机IP地址。
   
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 以**root** 用户登录告警所在主机。
   
   登录集群内节点具体操作，请参考[登录MRS集群节点](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0083.html)。
   执行以下命令切换到**omm**用户。
   ```
   su - omm
   ```
   
   
3. 执行以下命令，获得开始端口值。 
   ```
   cat /proc/sys/net/ipv4/ip_local_port_range |cut -f 1
   ```
   
   
4. 执行以下命令获得结束端口值，相减得到临时端口总数，若临时端口总数小于28232，说明操作系统随机端口范围太小，需要联系操作系统管理员扩大端口范围。 
   ```
   cat /proc/sys/net/ipv4/ip_local_port_range |cut -f 2
   ```
   
   
5. 执行以下命令，计算临时端口使用数。 
   ```
   ss -ant 2>/dev/null | grep -v LISTEN | awk 'NR > 2 {print $4}'| awk -F':' '{print $NF}' | awk '$1 >"开始端口值" {print $1}' | sort -u | wc -l
   ```
   
   
6. 使用公式计算临时端口使用率，**临时端口使用率 = ( 临时端口使用数 / 临时端口总数 ) \* 100** ，确认临时端口使用率是否超过阈值。
   
   - 是，执行[步骤 8]。
   
   - 否，执行[步骤 7]。
   
   
   
   
7. 等待5分钟，检查该告警是否恢复。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 8]。
   
   
   
   
**检查系统环境是否异常。**
8. 执行以下命令采集端口进程信息并导入临时文件，然后查看"port_result.txt"文件中高使用率端口。
   
   ```
   netstat -tnp|sort > $BIGDATA_HOME/tmp/port_result.txt
   ```
   示例如下：
   ```
   netstat -tnp|sort 
   Active Internet connections (w/o servers)
   Proto Recv Send LocalAddress ForeignAddress State PID/ProgramName tcp   0   0 10-120-85-154:45433  10-120-85-154:*** CLOSE_WAIT 94237/java 
   tcp   0   0 10-120-85-154:45434  10-120-85-154:*** CLOSE_WAIT 94237/java 
   tcp   0   0 10-120-85-154:45435  10-120-85-154:*** CLOSE_WAIT 94237/java 
   ...
   ```
   
   
9. 执行如下命令查看占用大量端口的进程。 
   ```
   ps -ef |grep PID
   ```
   - PID为[步骤 8]查询出所属端口的进程号。
   
   - 可以执行如下命令，收集系统所有进程信息，查看占用大量端口的进程。
     ```
     ps -ef > $BIGDATA_HOME/tmp/ps_result.txt
     ```
     
   
   
   
   
10. 向MRS集群管理员确认后，清除大量占用端口的进程，等待5分钟，检查该告警是否恢复。 
    - 是，处理完毕。
    
    - 否，执行[步骤 11]。
    
    
    
    
**收集故障信息。**
11. 在主集群的FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
12. 在"服务"中勾选"OMS"，单击"确定"。
13. 设置"主机"为告警所在节点和主OMS节点。
14. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895382.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后30分钟，单击"下载"。
15. 请联系运维人员，发送已收集的故障日志信息及" port_result.txt"和" ps_result.txt"文件，并删除环境中残留的两个临时文件。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
