
# 为什么部分Webshell文件HSS不告警？
#### 问题现象
用户部分Webshell文件，HSS未告警上报。
#### 可能原因
HSS默认句柄占用量为服务器最大句柄数\*30%，当用户文件数量大于HSS扫描句柄上限时，会有部分Webshell文件HSS无法检测，因此未进行告警上报。
#### 排查办法
1. 登录服务器
2. 新建check_inotify.sh文件，并将以下内容复制并保存至check_inotify.sh文件中。 
   ```
   #!/bin/bash
   # 启用 Bash 的浮点数比较模式
   shopt -s globstar nullglob
   # 获取sysctl fs.inotify.max_user_watches的值
   max_user_watches=$(sysctl -n fs.inotify.max_user_watches)
   # 计算30%的值
   threshold=$(echo "$max_user_watches * 0.3" | awk '{print int($1)}')
   # 计算/opt/app目录下的文件数
   app_files_count=$(find /opt/app -type f | wc -l)
   # 比较并输出结果
   if [[ "$app_files_count" -gt "$threshold" ]]; then
     echo "当前fs.inotify.max_user_watches的值为: $max_user_watches"
     echo "/opt/app目录下的文件数为: $app_files_count"
     echo "存在句柄占用问题！"
   else
     echo "当前fs.inotify.max_user_watches的值为: $max_user_watches"
     echo "/opt/app目录下的文件数为: $app_files_count"
     echo "不存在句柄占用问题。"
   fi
   ```
   
   
3. 通过以下命令，执行check_inotify.sh文件。 
   chmod +x check_inotify.sh./check_inotify.sh
   如果输出结果显示"存在句柄占用问题！"，请您在华为云管理控制台的右上角，单击"工单 \> 新建工单"，通过工单向技术人员寻求帮助。
   
   
 
