NetWorker:如何为 Linux NetWorker Server 生成 AUTHC Java 线程和堆转储
Summary: 此过程旨在让 NetWorker 备份管理员在 NetWorker 支持人员请求 Java 线程和堆转储时启用 Java 虚拟机 (JVM) 监视。在对与身份验证相关的问题进行高级诊断时,这可能很有用。
Instructions
前提条件:
- NetWorker 身份验证 (
authc) 服务器安装在 Linux 平台上。 - 此过程需要重新启动 NetWorker 服务,因此必须相应地计划服务器停机时间。
- 用于监视 NetWorker 服务器的 Windows Box 需要安装 VisualVM 工具: https://visualvm.github.io/download.html
- Oracle Java 开发工具包 (JDK) 必须安装在用于启动 VisualVM 的 Windows 机箱上,NetWorker Runtime Environment (NRE) 不支持 VisualVM。
配置 NetWorker 服务器以在 VisualVM 中显示信息:
1.通过 SSH 连接到 NetWorker 服务器并切换到 root:
sudo su -
ifconfig -a
nslookup NETWORKER_SERVERNAME
netstat -apno | grep 9094
4.复制
authservice 配置文件:
cp /opt/nsr/authc-server/bin/authservice /opt/nsr/authc-server/bin/authservice_`date -I`
5.打开 authcservice 文件,并添加以下行:
vi /opt/nsr/authc-server/bin/authservice
-Djava.security.properties=${AUTHCCONF}/java.security \
-Dauthc.server.banner.location=${AUTHCCONF} \
-Djava.locale.providers=COMPAT \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9094 \ # <--- Replace this another port if port 9094 is in use by another application
-Dcom.sun.management.jmxremote.rmi.port=9094 \ # <--- Replace this another port if port 9094 is in use by another application
-Djava.rmi.server.hostname=10.xxx.xxx.xxx \ # <--- Replace this with NW server IP address
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-XX:+IgnoreUnrecognizedVMOptions \
org.apache.catalina.startup.Bootstrap
6.重新启动 NetWorker 服务:
systemctl restart networker
7.服务恢复正常后,确认在 authservice 文件正在侦听:
netstat -apno | grep 9094
The NetWorker authc 服务器现在配置为在 VisualVM 中显示信息。
使用 VisuaVM 为 NetWorker authc 服务器创建线程和堆转储:
1.确认 Windows 系统可以连接到 NetWorker 服务器上的端口 9094:
Powershell: tnc HOSTNAME -port 9094
2.启动 VisualVM。
3.右键单击远程,然后选择添加远程主机:

4.输入 NetWorker 服务器主机名,单击Advanced Settings并添加端口 9094。

5.单击“确定”。
6.右键单击 NetWorker 服务器条目,然后选择添加 JMX 连接。

7.在 连接字段中, 输入 NetWorker 服务器主机名,然后输入 :9094。

8.单击“确定”。
9 双击左侧菜单中的 JMX 条目,然后选择“线程”选项卡:

要生成线程转储,请单击 Thread Dump,它会在 JMX 连接下生成线程转储:

要保存线程转储,请右键单击转储,然后单击另存为:

要生成头转储,请右键单击 JMX 连接,然后单击 Heap Dump:

系统会提示您将堆转储保存在 NetWorker 服务器上的 /tmp 目录下:

10.当您完成线程和堆转储的生成时。手动保存并压缩(压缩)来自 VisualVM 的线程转储。
11.手动压缩(压缩)NetWorker 服务器上的堆转储以及 authc 日志:
tar cvzf /tmp/`hostname`_`date -I`.tgz /tmp/heap* /proc/cpuinfo /proc/meminfo /nsr/authc/logs
此命令使用 NetWorker 服务器的 /tmp 目录中的 NetWorker 服务器主机名和日期创建捆绑包。使用 SCP 工具将其复制:
NetWorker (Linux):如何将文件复制到 Linux NetWorker 服务器/从 Linux NetWorker 服务器拷贝文件。