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