华为 ASG Manager 镜像日志接收链路故障排查流程

作者实战经验总结,基于 ASG Manager V200R001C00SPC100 + ASG5305 设备。

前言:文章是AI总结。总体解决问题思路就是查各种日志,看报错。主要是要看worker日志。由于现在不做开发了。也不想加载原包到开发工具里面去调试。就全程让AI(openclaw)。抓日志分析,搞了好几天。用的minimax3.0,多少有点蠢。不过最后还是找到解决方法了。我折腾主要还是想搞清楚问题在那里。

如果各位不想折腾也可以直接用软件自带的datacenter_upgrade.sh直接修复。还不行就直接remove.sh再setup.sh。简单粗暴。我主要是出现这个问题还是有2-3次了,问题还不太一样。

网上关于asg-manager的文章也比较少,所以想着发出来,给遇到问题的朋友一个思路。

【核心结论】
ASG Manager 镜像日志接收链路 = 设备 syslog → 服务器网卡 → Pcap4j 抓包 → 
Storm 拓扑 → ClickHouse 落库 → Web 控制台展示。
任意环节断开都会导致"控制台看不到日志"。


================================================================
一、ASG Manager 架构与日志流转链路
================================================================

【1.1 软件组件全景:8 个核心组件】

┌─────────────┬──────────────────────────────────┬──────────────┬─────────────┐
│   组件      │            路径                  │    端口      │    作用     │
├─────────────┼──────────────────────────────────┼──────────────┼─────────────┤
│ Zookeeper   │ /home/datacenter/zookeeper/      │ 2181         │ 分布式协调   │
│ MySQL       │ 系统服务                          │ 3306         │ 元数据      │
│ Clickhouse  │ /usr/local/sbin/clickhouse/      │ 8123/9000/   │ 日志/流量   │
│             │                                  │ 9009         │ 列式存储     │
│ Storm       │ /home/datacenter/storm/bin/      │ 6627(Nimbus) │ 实时流处理   │
│ Nimbus/UI   │                                  │ 8080(UI)     │ 调度+监控   │
│ Storm       │ 同上                              │ 6700+        │ Worker 进程 │
│ Supervisor  │                                  │ (slot)       │             │
│ Tomcat × 6  │ /home/datacenter/tomcat-{ums,    │ 28880 等     │ Web 服务    │
│             │ cas,xxl,manager,datacenter,webui}│              │             │
│ Nginx       │ 系统服务                          │ 80/443       │ 反向代理    │
│ JDK         │ /usr/lib/jdk1.8.0_171           │ —            │ Java 运行时 │
└─────────────┴──────────────────────────────────┴──────────────┴─────────────┘


【1.2 完整日志流转链路:排查的核心地图】

ASG5305 设备 (192.168.1.8)
    │
    │ ① UDP syslog (端口 514)
    ▼
服务器 p8p1 网卡(物理层抓包)
    │  tcpdump -i any 'udp port 514' 可直接抓到
    ▼
Pcap4j Java JNI 包装层
    │  libpcap 1.5.3 系统库调用
    │  Pcaps.getDevByName("p8p1") → PcapNetworkInterface 对象
    ▼
PcapUtil.init(String name) [com.abt.totems.common.PcapUtil]
    │  用 NIF.getName() 构造 PcapHandle.Builder
    │  .snaplen(PCAP4J_SNAPLEN).promiscuousMode(PROMISCUOUS)
    │  .timeoutMillis(PCAP4J_TIMEOUT).bufferSize(PCAP4J_BUFFER_SIZE)
    │  .build() → PcapHandle
    │  .setFilter("udp and dst port 514", OPTIMIZE)
    │  启动 pcapThread (Thread.start)
    ▼
PCAP4J_SPOUT (Storm spout)
    │  PcapHandle.loop(-1, lambda)  ← 持续抓包
    │  每个 packet → rawData (byte[])
    │  放入 LOG_QUEUE (ConcurrentLinkedQueue)
    ▼
LOG_TYPE_SPLIT_BOLT → 分类
    │  http_get / http_post / dns / ftp / telnet /
    │  user_account / search_engine / mail
    ▼
各类 PARSE_BOLT(解析)
    │  TRAFFIC_SESSION_PARSE_BOLT  → 流量会话
    │  ACTION_LOG_PARSE_BOLT       → 行为日志
    │  ALARM_LOG_PARSE_BOLT        → 告警日志
    │  DEVICE_HEALTH_PARSE_BOLT    → 设备健康
    │  DEVICE_TRAFFIC_PARSE_BOLT   → 设备流量
    │  WEB_ACCESS_PARSE_BOLT       → Web 访问
    ▼
Clickhouse (端口 8123/9000/9009)
    │  src_device_traffic_log    (原始流量日志)
    │  src_statistic_traffic_log (统计流量)
    │  src_web_access_log        (Web 访问原始)
    │  src_security_audit_log    (安全审计原始)
    │  dm_*                      (聚合表,每 5 分钟)
    ▼
ASG Manager Web 控制台
    │  Tomcat × 6 + Nginx 反向代理
    │  端口:8443 / 8444 / 28880 / 8080 / ...
    ▼
最终展示给管理员


================================================================
二、故障排查标准化流程(先快后准)
================================================================

【2.1 第一步:确认基础链路(30 秒定位)】

目的:判断"链路断在哪一层"。

# 1.1 看 syslog 是否从设备发出 + 是否到达服务器
timeout 5 tcpdump -i any -c 3 'udp port 514'

期望看到:
  IP 192.168.1.8.syslog > ...syslog: SYSLOG ...
看不到 → 设备端没发 / 网络断 / 网卡没接

# 1.2 看 8 个核心组件端口监听状态
ss -tlnp | grep -E ":2181|:3306|:8123|:9000|:9009|:6627|:8080|:28880"

期望:8 个端口都 LISTEN
缺哪个 → 对应组件没启动

# 1.3 看 Storm worker 是否在抓包
LATEST=$(find /home/datacenter/storm/logs/workers-artifacts \
  -name worker.log -type f -exec ls -lt {} + | head -1 | awk '{print $NF}')
tail -5 "$LATEST" | grep "PCAP_COUNT_LONG"

期望:看到 "PCAP_COUNT_LONG: <递增的数字>"
永远是 0 → PcapUtil 抓包循环没起来(问题在第 ②③④⑤⑥ 层)


【2.2 第二步:定位"组件级"故障(2 分钟)】

根据 2.1 的结果决定深入哪里:

┌──────────────────────────────┬──────────────┬─────────────┐
│       2.1 结果               │   故障层     │ 跳到章节    │
├──────────────────────────────┼──────────────┼─────────────┤
│ tcpdump 抓不到 syslog 包     │ ① 设备/网络  │ 2.3.1       │
│ 8 端口有缺                   │ 组件没启动    │ 2.3.2       │
│ PCAP_COUNT_LONG 永远 0       │ ②③④⑤⑥ 抓包│ 2.3.3       │
└──────────────────────────────┴──────────────┴─────────────┘


【2.3 各层故障详细排查】


【2.3.1 设备/网络层(syslog 收不到)】

# 确认网卡状态
ip -br link show
ip -d link show p8p1   # 替换成你的网卡名

期望:state UP, <BROADCAST,MULTICAST,UP,LOWER_UP>
卡 down → ifup p8p1

# 确认网卡名(用 pcap4j 看到的名字才是准确的)
cat > /tmp/ListNif.java << 'JAVA_EOF'
import org.pcap4j.core.*;
import java.util.List;
public class ListNif {
    public static void main(String[] args) throws Exception {
        List<PcapNetworkInterface> devs = Pcaps.findAllDevs();
        for (int i = 0; i < devs.size(); i++) {
            PcapNetworkInterface nif = devs.get(i);
            System.out.println("[" + i + "] name='" + nif.getName() + "'");
        }
    }
}
JAVA_EOF

JAR=/home/datacenter/storm/data/supervisor/stormdist/$(ls /home/datacenter/storm/data/supervisor/stormdist/ | head -1)/stormjar.jar
cd /tmp/listnif && javac -cp $JAR ListNif.java && java -cp $JAR:. ListNif


【2.3.2 组件没启动(端口缺失)】

按启动顺序排查(启动顺序很重要,错一步后面都白搭):

# 完整启动顺序(顺序不可颠倒)
sh /home/datacenter/init/CentOS/datacenter_startup.sh

内部依次启动:
  1. Zookeeper (2181)
  2. MySQL (3306)
  3. Clickhouse (8123/9000/9009)
  4. Storm nimbus + ui + supervisor (6627/8080)
  5. Tomcat × 6 (ums → cas → xxl → manager → datacenter → webui)
  6. Nginx
  7. Monit (看门狗)

启动失败的"卡点"对应故障组件,看启动日志的"卡在哪一步"即可定位。


【2.3.3 抓包链路故障(PcapUtil 层)】

核心:检查 Storm worker.log 的 3 个关键字

WLOG=/home/datacenter/storm/logs/workers-artifacts/$(ls /home/datacenter/storm/data/supervisor/stormdist/ | head -1)/6700/worker.log

grep -E "Pcap4J successfully loaded|NIF\(s\) found|Opened spout|Starting loop|设备名称不正确|获取网络接口失败|_handle为null" "$WLOG" | head -10


[3 个关键字状态对照表]

┌──────────────────────────────────────────────────┬────────────────────┐
│                    关键字                        │      含义/状态     │
├──────────────────────────────────────────────────┼────────────────────┤
│ Pcap4J successfully loaded a native pcap library│ ✅ 加载成功         │
│ 7 NIF(s) found                                   │ ✅ 网卡枚举成功     │
│ Opened spout PCAP4J_SPOUT                        │ ✅ spout 组件加载   │
│ PcapHandle Starting loop                         │ ✅ 抓包循环启动     │
│ 设备名称不正确,获取网络接口失败                  │ ❌ getDevByName 返回 │
│                                                  │    null             │
│ 获取网络接口失败                                  │ ❌ 抛 PcapNative    │
│                                                  │    Exception        │
│ _handle为null                                    │ ❌ 没成功打开 handle│
└──────────────────────────────────────────────────┴────────────────────┘


【3 种报错的修复方法】

─────────────────────────────────────
报错 A:设备名称不正确
─────────────────────────────────────

根因:pcap4j 通过 getDevByName("p8p1") 找不到该名字的网卡。

修复:重新选择正确的网卡名

# 这个脚本会自动:列网卡 → 选择 → 写 /etc/profile → kill topology → 重新提交
sh /home/datacenter/init/log_interface.sh
# 交互输入对应网卡的数字

─────────────────────────────────────
报错 B:获取网络接口失败
─────────────────────────────────────

根因:libpcap native 调用抛异常(权限/库版本/网卡状态问题)

修复:
# 1. 确认 supervisor 是 root(libpcap 需要 root 或 CAP_NET_RAW)
ps aux | grep supervisor | grep -v grep

# 2. 确认 libpcap 系统库存在
ls -la /usr/lib64/libpcap.so*

# 3. 确认 java.library.path 包含 native 库搜索路径
#    Storm 启动时会从以下路径查找:
#    /home/.../resources/Linux-amd64:
#    /home/.../resources:
#    /usr/local/lib:/opt/local/lib:/usr/lib

# 4. 重新提交 topology 清掉 supervisor 脏状态
sh /home/datacenter/init/log_interface.sh

─────────────────────────────────────
报错 C:_handle为null
─────────────────────────────────────

根因:上述 A 或 B 的后续,handle 没成功打开。

修复:同 A 或 B(修复后 handle 会自动重试)


================================================================
三、完整脚本(可直接复用)
================================================================

【3.1 ASG Manager 综合排查脚本】

#!/bin/sh
# asg-diagnose.sh — ASG Manager 一键综合排查脚本
# 用途:30 秒定位"控制台看不到日志"的故障层
# 用法:上传到 ASG Manager 服务器后
#       sh asg-diagnose.sh
#       或 chmod +x asg-diagnose.sh && ./asg-diagnose.sh
# 适配:ASG Manager V200R001/V200R002 系列,默认部署路径 /home/datacenter/
# 兼容性:自动探测 jdk/clickhouse-client 路径,不依赖特定安装位置
#
# 输出:
#   [1/6] syslog 是否到达服务器
#   [2/6] 8 个核心端口监听状态
#   [3/6] pcap4j NIF 列表(网卡真实名字)
#   [4/6] Storm worker 状态(PCAP_COUNT_LONG + 启动期关键字)
#   [5/6] Clickhouse 原始日志表最新数据
#   [6/6] 故障层定位总结

echo "=========================================="
echo "  ASG Manager 链路综合诊断"
echo "  时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="
echo ""

# === 探测关键依赖路径(避免硬编码)===
# jdk 路径探测
JDK_HOME=""
for p in /usr/lib/jdk1.8.0_171 /usr/lib/jvm/java-1.8.0-openjdk /usr/lib/jvm/java-8-openjdk /usr/lib/jvm/default-java /opt/jdk1.8.0_171 /usr/java/jdk1.8.0_171; do
    if [ -x "$p/bin/javac" ]; then
        JDK_HOME="$p"
        break
    fi
done
if [ -z "$JDK_HOME" ]; then
    JDK_HOME=$(dirname $(dirname $(readlink -f $(which javac 2>/dev/null) 2>/dev/null)) 2>/dev/null)
fi

# clickhouse-client 路径探测
CLICKHOUSE_CLIENT=""
for p in /usr/local/sbin/clickhouse/clickhouse-client /usr/bin/clickhouse-client /usr/local/bin/clickhouse-client; do
    if [ -x "$p" ]; then
        CLICKHOUSE_CLIENT="$p"
        break
    fi
done
if [ -z "$CLICKHOUSE_CLIENT" ]; then
    CLICKHOUSE_CLIENT=$(which clickhouse-client 2>/dev/null)
fi

# ASG Manager 默认部署路径(华为官方固定)
ASG_HOME="/home/datacenter"

echo "[1/6] 设备 syslog 是否到达服务器"
echo "----------"
timeout 5 tcpdump -i any -c 3 'udp port 514' 2>&1 | head -10
echo ""

echo "[2/6] 8 个核心端口监听状态"
echo "----------"
ss -tlnp 2>/dev/null | grep -E ":2181|:3306|:8123|:9000|:9009|:6627|:8080|:28880" | awk '{print "  端口:", $4, " 进程:", $6}'
echo ""

echo "[3/6] pcap4j NIF 列表(用 NIF 实际名字判断)"
echo "----------"
TOPO=$(ls -t "$ASG_HOME/storm/data/supervisor/stormdist/" 2>/dev/null | head -1)
if [ -z "$TOPO" ]; then
    echo "  ❌ 找不到 $ASG_HOME/storm/data/supervisor/stormdist/ 目录"
else
    echo "  最新 topology: $TOPO"
    JAR="$ASG_HOME/storm/data/supervisor/stormdist/${TOPO}/stormjar.jar"
    if [ ! -f "$JAR" ]; then
        echo "  ❌ 找不到 jar: $JAR"
    else
        echo "  jar: $JAR ($(ls -lh $JAR | awk '{print $5}'))"
        echo ""
        if [ -z "$JDK_HOME" ]; then
            echo "  ⚠️ 未找到 JDK,跳过 pcap4j NIF 列表(请确认 java/javac 已安装)"
        else
            echo "  jdk: $JDK_HOME"
            mkdir -p /tmp/asg-listnif
            cat > /tmp/asg-listnif/ListNif.java << 'JAVA_EOF'
import org.pcap4j.core.*;
import java.util.List;
public class ListNif {
    public static void main(String[] args) throws Exception {
        List<PcapNetworkInterface> devs = Pcaps.findAllDevs();
        System.out.println("  Total NIFs: " + devs.size());
        for (int i = 0; i < devs.size(); i++) {
            PcapNetworkInterface nif = devs.get(i);
            System.out.println("  [" + i + "] name='" + nif.getName() + "'  desc='" + nif.getDescription() + "'");
        }
    }
}
JAVA_EOF
            cd /tmp/asg-listnif
            $JDK_HOME/bin/javac -cp "$JAR" ListNif.java 2>&1 | head -5
            $JDK_HOME/bin/java -cp "$JAR:." ListNif 2>&1 | grep -E "Total NIF|name="
        fi
    fi
fi
echo ""

echo "[4/6] Storm worker 状态(启动期关键字 + 最近 PCAP_COUNT_LONG)"
echo "----------"
if [ -n "$TOPO" ]; then
    WLOG="$ASG_HOME/storm/logs/workers-artifacts/${TOPO}/6700/worker.log"
    if [ ! -f "$WLOG" ]; then
        echo "  ❌ 找不到 worker.log: $WLOG"
    else
        echo "  worker.log: $WLOG"
        echo ""
        echo "  --- 启动期关键日志 ---"
        grep -E "Pcap4J successfully loaded|NIF\(s\) found|Opened spout|Starting loop|设备名称不正确|获取网络接口失败|_handle为null" "$WLOG" 2>/dev/null | head -8 | sed 's/^/  /'
        echo ""
        echo "  --- 最近 5 行 PCAP_COUNT_LONG ---"
        tail -5 "$WLOG" 2>/dev/null | grep "PCAP_COUNT_LONG" | sed 's/^/  /'
    fi
fi
echo ""

echo "[5/6] Clickhouse 原始日志表最新数据"
echo "----------"
if [ -z "$CLICKHOUSE_CLIENT" ] || [ ! -x "$CLICKHOUSE_CLIENT" ]; then
    echo "  ⚠️ 未找到 clickhouse-client(请确认 clickhouse 服务安装位置)"
    echo "  手动查询方法:找到 clickhouse-client 后执行:"
    echo "    clickhouse-client --query \"SELECT table, MAX(send_time) FROM ("
    echo "      SELECT 'src_device_traffic_log' as table, send_time FROM totems.src_device_traffic_log"
    echo "      UNION ALL SELECT 'src_web_access_log', send_time FROM totems.src_web_access_log"
    echo "      UNION ALL SELECT 'src_security_audit_log', send_time FROM totems.src_security_audit_log"
    echo "    ) GROUP BY table\""
else
    echo "  clickhouse-client: $CLICKHOUSE_CLIENT"
    $CLICKHOUSE_CLIENT --query "
      SELECT
        table,
        MAX(send_time) AS latest_send_time,
        toUnixTimestamp(now()) - MAX(send_time)/1000 AS seconds_ago
      FROM (
        SELECT 'src_device_traffic_log' as table, send_time FROM totems.src_device_traffic_log
        UNION ALL SELECT 'src_web_access_log', send_time FROM totems.src_web_access_log
        UNION ALL SELECT 'src_security_audit_log', send_time FROM totems.src_security_audit_log
      )
      GROUP BY table
      ORDER BY seconds_ago ASC
    " 2>&1 | sed 's/^/  /'
fi
echo ""

echo "[6/6] 故障层定位总结"
echo "----------"
echo "  - syslog 收不到       → ① 设备/网络层(检查 ASG 设备 syslog 配置)"
echo "  - 端口缺              → 组件没启动($ASG_HOME/init/CentOS/datacenter_startup.sh)"
echo "  - PCAP_COUNT_LONG=0   → ②③④⑤⑥ 抓包链(看 4/6 输出的关键字)"
echo "  - 表无新数据          → Storm bolt 解析/写入问题(看 supervisor 日志)"
echo "  - 表有数据但控制台无  → Tomcat/Nginx Web 层问题"
echo ""
echo "=========================================="
echo "  诊断完成: $(date '+%Y-%m-%d %H:%M:%S')"
echo "=========================================="


【3.2 修复脚本:重新选择网卡】

# 一行命令修复 PcapUtil "设备名称不正确" 问题
sh /home/datacenter/init/log_interface.sh
# 交互选网卡号(看自动列出的列表)


【3.3 重启 ASG Manager 整套服务】

# 完整重启(启动顺序固定)
sh /home/datacenter/init/CentOS/datacenter_shutdown.sh    # 等 "Manager stopped."
sleep 30
sh /home/datacenter/init/CentOS/datacenter_startup.sh     # 等 "Manager started."


================================================================
四、实战案例(故障 → 定位 → 修复)
================================================================

【案例:控制台看不到新数据】

─────────────────────────────────────
Step 1:综合诊断(30 秒)
─────────────────────────────────────

运行:sh asg-diagnose.sh

输出关键信息:
  syslog 到达          ✅ tcpdump 抓到
  8 端口全开           ✅
  pcap4j 7 NIFs found  ✅
  但 worker.log 报错    ❌ 设备名称不正确
  PCAP_COUNT_LONG       ❌ 永远是 0

─────────────────────────────────────
Step 2:定位故障层
─────────────────────────────────────

故障层 = ④ PcapUtil.init() → getDevByName 失败

─────────────────────────────────────
Step 3:修复
─────────────────────────────────────

sh /home/datacenter/init/log_interface.sh

# 选择 p8p1 对应的数字
# 脚本自动执行:
#   1. storm kill PcapLogParseTopology -w 10
#   2. sleep 40
#   3. storm jar storm-1.0-SNAPSHOT.jar com.abt.totems.PcapLogParseTopology p8p1

─────────────────────────────────────
Step 4:验证修复
─────────────────────────────────────

WLOG=$(find /home/datacenter/storm/logs/workers-artifacts \
  -name worker.log -type f -exec ls -lt {} + | head -1 | awk '{print $NF}')
tail -20 "$WLOG" | grep "PCAP_COUNT_LONG"

期望:数字持续增长(每 10 秒 +150~200)

─────────────────────────────────────
修复时间
─────────────────────────────────────

从综合诊断到修复成功 = 5 分钟


================================================================
五、ASG Manager 常用命令速查表
================================================================

┌────────────────────┬──────────────────────────────────────────────┐
│       用途          │                  命令                       │
├────────────────────┼──────────────────────────────────────────────┤
│ 看 storm 进程数    │ ps aux | grep storm | wc -l (正常 = 6)     │
│ 启动整套服务        │ sh /home/datacenter/init/CentOS/             │
│                    │     datacenter_startup.sh                    │
│ 停止整套服务        │ sh /home/datacenter/init/CentOS/             │
│                    │     datacenter_shutdown.sh                   │
│ ★ 更换日志接收网卡 │ sh /home/datacenter/init/log_interface.sh    │
│ 看 worker.log      │ tail -f /home/datacenter/storm/logs/         │
│                    │     workers-artifacts/<最新目录>/6700/       │
│                    │     worker.log                               │
│ 看 Clickhouse 端口 │ ss -tlnp | grep -E ":8123|:9000|:9009"      │
│ 反编译 PcapUtil     │ unzip -p <stormjar.jar> com/abt/totems/      │
│                    │     common/PcapUtil.class > /tmp/P.class &&  │
│                    │ /usr/lib/jdk1.8.0_171/bin/javap -c -p        │
│                    │     /tmp/P.class                             │
└────────────────────┴──────────────────────────────────────────────┘


================================================================
六、关键经验总结
================================================================

【6.1 必须建立"日志流转地图"的概念】

排查任何"看不到日志"的问题,第一步不是猜原因,而是:

  1. 画出完整日志流转链路(设备 → 抓包 → Storm → DB → Web)
  2. 在每个节点上做一次"心跳检测"
  3. 第一个失败的节点 = 根因所在


【6.2 三个黄金关键字】

worker.log 里只关注这 3 个关键字:

  - "设备名称不正确"     → 网卡找不到     → 跑 log_interface.sh
  - "获取网络接口失败"   → native 调用异常 → 检查 libpcap 权限/版本
  - "_handle为null"     → 前两者的后续    → 重新跑 log_interface.sh


【6.3 PCAP_COUNT_LONG 是"流量计"】

  - 持续增长(每 10 秒 +150~200)= 数据流正常 ✅
  - 永远是 0                    = PcapUtil 抓包链断了 ❌
  - 不增长但不为 0              = 上游有数据但下游处理卡了


【6.4 反编译是终极武器】

当 log_interface.sh 修不好时,反编译看代码:

JAR=/home/datacenter/storm/data/supervisor/stormdist/<最新目录>/stormjar.jar
unzip -p "$JAR" com/abt/totems/common/PcapUtil.class > /tmp/P.class
/usr/lib/jdk1.8.0_171/bin/javap -c -p /tmp/P.class

字节码告诉你:
  - Pcaps.getDevByName 调用位置
  - 异常处理路径(catch 块 vs null 检查)
  - 实际报错触发哪个分支


================================================================
七、附:环境信息
================================================================

  ASG Manager 版本    V200R001C00SPC100
  设备型号            ASG5305(已 EOFS)
  服务器 OS           CentOS 7.4 / 内核 3.10.0-514.el7.x86_64
  JDK                /usr/lib/jdk1.8.0_171 (PATH 没配)
  libpcap             /usr/lib64/libpcap.so.1.5.3
  Storm              1.1.2
  Clickhouse          (8123/9000/9009)
  Tomcat              6 个独立实例
  Pcap4j              1.x

最后:这个asg-diagnose.sh脚本,大家直接复制用的话可能会报错,得根据自己的环境改。其实核心的上面也说了,就是要看storm日志,Tomcat-datacenter日志,clickhouse日志(需要改启动脚本,输出日志,默认没输出(非关键)),tomcat-manager日志。以及最关键的worker.log。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值