在 Linux/Solaris 环境下执行诊断
诊断工具可提供关于 ArcGIS Server 的状态的有用信息。该工具用于
- 收集 ArcGIS Server 软件的状态。
- 以本地和远程方式识别问题。
- 提供可能的原因并推荐解决方案。
运行该工具可确定是否已经为系统成功配置 ArcGIS Server。该工具可在 ArcGIS Server 管理器中运行,也可在 Linux/Solaris 计算机上通过命令行运行。
在 ArcGIS Server 管理器中运行诊断工具
在 ArcGIS Server 管理器中,单击页面左侧的 GIS 服务器 > 诊断链接。
该工具会列出该 SOM 计算机和所有 SOC 计算机。选择要诊断的计算机,然后单击运行诊断。有关诊断结果,请参阅解释 ArcGIS Server 诊断测试结果。
服务器诊断工具会假设 ArcGIS Server 监视器目前正在要运行诊断工具的主机上运行。要启动监视器,可在各台主机上执行下列脚本:<ArcGIS Server 安装目录>/scripts/startmonitor。要了解有关监视器框架的详细信息,请参阅诊断工具的工作原理:监视器框架。
在 Linux/Solaris 系统中从命令行运行诊断工具
还可从命令行运行该诊断工具。通过这种方式可在本地计算机或远程计算机(例如,仅安装有 SOC 的计算机)上运行该工具,还可定期运行该工具。
该脚本安装在 <ArcGIS Server 安装目录>/scripts/Server_diag_tool 下。需要以 ArcGIS Server 安装程序所有者(拥有 ArcGIS Server 安装目录的用户)的身份运行该脚本。而且可使用三种模式运行该脚本。
- 交互式模式(默认)
% ./Server_diag_tool
- 无提示模式
% ./Server_diag_tool --silent
- 自定义模式
% ./Server_diag_tool --remote <HOSTNAME-1> <HOSTNAME-2>...<HOSTNAME-N>
解释 ArcGIS Server 诊断测试结果
以下是与诊断工具执行的所有检查相关的信息和解释。根据检查的 ArcGIS Server 的部分,将各项诊断检查以 DGXXX 格式的编码进行分组。
- DG001 - 检查 /etc/hosts:具有 localhosttest 的条目
/etc/hosts 文件应该包含 localhost 的条目。如果条目不存在,该检查将失败。
- DG002 - 检查 /etc/hosts:localhost = 127.0.0.1
此操作验证 localhost 的环回 IP 地址是否设置为 127.0.0.1。示例如下:
127.0.0.1 localhost
- DG003 - 检查 /etc/hosts:具有 <主机名> 的条目
此操作验证 /etc/hosts 文件是否具有 ArcGIS Server 主机名的条目。
- DG004 - 检查 /etc/hosts:<主机名> != 127.0.0.1
如果主机名的 IP 地址设置为环回地址,该检查会失败。/etc/hosts 中的主机名条目需要具备有效的 IP 地址。
示例:
10.14.912.5 gogo.esri.com gogo
DG005 - 此操作验证 /etc/passwd 文件是否包含 agsadmin 和 agsuser 的条目。如果在安装之前不存在这些操作系统用户,那么 ArcGIS Server 安装程序会在安装时创建这些用户。若没有这些用户,ArcGIS Server 无法正常运行。
如果安装成功并在之后删除了这两个用户,则可以手动创建这两个用户来检查 ArcGIS Server 是否正常运行。若还有问题,那么 ArcGIS Server 可能有其他损害。建议重新安装。
示例:
DG005 - 检查 /etc/passwd:用户 agsadmin
DG005 - 检查 /etc/passwd:用户 agsuser
- DG006 - 检查 <ArcGIS Server 安装目录>:owner
此操作验证是否作为 ArcGIS Server 安装程序所有者拥有 <ArcGIS Server 安装目录> 目录。如果该检查失败,建议重新安装 ArcGIS Server。
- DG007 - 检查 <ArcGIS Server 安装目录>:权限
安装目录应该至少具有 ArcGIS Server 所有者的 711 权限 (drwx--x--x)。如果该检查失败,则至少需要为文件夹授予 711 权限。
- DG008 - 检查 <ArcGIS Server 安装目录>:具有空间
此操作验证 ArcGIS Server 安装目录的磁盘空间使用率是否达到 100%。如果磁盘空间已用尽,则 ArcGIS Server 无法正常运行。需要更多磁盘空间。
- DG009 - 检查 <ArcGIS Server 安装目录>/servercore/tmp/mw:存在
定期使用 <ArcGIS Server 安装目录>/servercore/tmp/mw 目录来存储临时文件。该检查验证此目录是否存在。如果该检查失败,ArcGIS Server 安装文件夹通常处于错误状态。建议重新安装 ArcGIS Server。
- DG010 - 检查 <ArcGIS Server 安装目录>/servercore/tmp/mw:可以写入
此操作验证拥有 ArcGIS Server 安装程序的用户是否有目录 <ArcGIS Server 安装位置>/server10.0/servercore/tmp/mw 的写入权限。
- DG010 - 检查 <ArcGIS Server 安装目录>/servercore/tmp/mw: 具有空间。
此操作验证 <ArcGIS Server 安装目录>/servercore/tmp/mw 的磁盘空间使用率是否达到 100%。
- DG012 - 检查 <文件或目录>: 所有者
此操作验证文件或目录是否为 ArcGIS Server 安装程序所有者所拥有。如果此类检查失败,请运行 ServerConfig 对其进行修复。
示例:
DG012 - 检查 /etc/remotesa:owner
DG012 - 检查 /etc/remotesa/remotesa.config:owner
- DG013 - 检查 <文件或目录>:权限
此操作验证 <文件或目录> 是否具有正确的权限。
此类检查包括:
DG013 - 检查 /etc/remotesa:权限
此操作验证 /etc/remotesa 文件夹是否具有 700 (drwx------) 权限。
DG013 - 检查 /etc/remotesa/remotesa.config:权限
此操作验证 /etc/remotesa/remotesa.config 文件是否具有 700 (-rwx------) 权限。
- DG014 - 检查服务器目录
如果 Server.dat 文件存在错误(例如,Server.dat 丢失),则此项检查会失败,并且诊断工具无法执行 DG015 检查。
- DG015 - 检查 <服务器目录的路径>
此诊断检查会获取 <ArcGIS Server 安装目录>/server/system/Server.dat 中的所有服务器目录的列表,并且验证各个目录是否存在。如果此项检查失败,则需要在 ArcGIS Server 管理器中将其修改为正确的服务器目录路径。
示例:
DG015 - 检查 <ArcGIS Server 安装目录>/server/serverdir/arcgisjobs
DG015 - 检查 <ArcGIS Server 安装目录>/server/serverdir/arcgiscache
DG015 - 检查 <ArcGIS Server 安装目录>/server/serverdir/arcgisindex
- DG016 - 检查 ESRI\ArcServer 的注册表
此操作验证 ArcGIS Server 使用的注册表是否包含安装位置和安装类型所需的条目。这些条目由安装程序创建。如果此项检查失败,则需要运行 ServerConfig。
- DG017 - 检查 ESRI\CoreRuntime 的注册表
此操作验证 ArcGIS Server 核心服务使用的注册表是否包含安装位置和安装类型所需的条目。这些条目由安装程序创建。如果此项检查失败,则需要运行 ServerConfig。
- DG018 - 检查核心服务:正在运行
此操作验证核心服务是否正在运行。这些核心服务构成 ArcGIS Server 的互操作图层,其角色对发挥 ArcGIS Server 的功能至关重要。如果此项检查失败,则需要运行 ServerConfig。
- DG019 - 检查核心服务:RPC 端口
此操作验证核心服务是否将固定端口 135 用于远程过程调用 (RPC)。如果此项检查失败,请运行 ServerConfig。
- DG020 - 检查核心服务:企业模式
此操作验证核心服务是否正在企业模式下运行。如果此项检查失败,则需要运行 ServerConfig。
- DG021 - 检查核心服务:管理员
此操作验证核心服务的管理员是否为 ArcGIS Server 安装程序所有者。如果此项检查失败,请运行 ServerConfig。
- DG022 - 检查安全性:类型
此操作验证是否已正确设置核心服务的安全性身份验证类型。
- DG023 - 检查安全性:端口
此操作验证安全进程是否正在端口 3774 上运行。如果此项检查失败,请运行 ServerConfig。
- DG024 - 检查安全性:域
此操作验证核心服务安全机制使用的域名是否与 SOM 计算机的名称相同。如果此项检查失败,请运行 ServerConfig。
- DG025 - 检查安全性:域服务器
此操作验证核心服务安全机制使用的域服务器名称是否与域名相同。域名和域服务器都可指定运行本地 GIS 用户身份验证服务(针对 ArcGIS Server)的主机。如果此项检查失败,则需要运行 ServerConfig。
- DG026 - 检查安全性:次要域服务器
此操作验证是否已设置核心服务安全机制使用的次要域服务器的名称。该设置用于设置 SOM 故障转移。如果未设置故障转移,ArcGIS Server 仍会正常工作;诊断工具只会给出 [警告] 消息。
- DG027 - 检查进程:<进程名称>
此操作验证由 ArcGIS Server 启动的进程是否正在运行。如果进程尚未运行,则 ArcGIS Server 无法正常工作。遇到此类故障时,请停止 ArcGIS Server,然后确保没有运行任何 ArcGIS Server 进程。然后重新启动 ArcGIS Server。如果错误仍然出现,请尝试运行 ServerConfig。
此类检查包括:
DG027 - 检查进程:mwrpcss
此操作验证表示“RPC 服务器”的进程“mwrpcss”是否正在运行。ArcGIS Server 框架基于 DCOM 技术构建,该技术支持在不同计算机之间分配 COM 对象以及进行通信。mwrpcss 进程在 Linux/Solaris 中提供此项支持。
DG027 - 检查进程:regss
此操作验证表示“注册表服务”的进程“regss”是否正在运行。“注册表服务”负责管理核心服务使用的注册表数据。
DG027 - 检查进程:watchdog
此操作验证进程“watchdog”是否正在运行。Watchdog 是核心服务的一部分,负责保持“mwrpcss”和“regss”进程处于活动状态。如果 mwrpcss 和/或 regss 进程意外终止,watchdog 将立即重新启动它们。
DG027 - 检查进程:remotesa
此操作验证“标识”进程 (remotesa) 是否正在运行。Identity Server 为 ArcGIS Server 提供身份验证服务。
DG027 - 检查进程:ns-slapd
此操作验证“目录服务器”进程 (ns-slapd) 是否正在运行。“目录服务器”是用于存储 ArcGIS Server 用户帐户的资料档案库。
DG027 - 检查进程:arcsom.exe
此操作验证服务器对象管理器 (SOM) 是否正在运行。
DG027 - 检查进程:java -jar arcgis_manager
此操作验证是否正以 ArcGIS Server 安装程序所有者的身份运行 ArcGIS Server 管理器。
DG027 - 检查进程:java/manager/service/tomcat/managerappserver
此操作验证是否正以 ArcGIS Server 安装程序所有者的身份运行托管部署的 Web 应用程序和 Web 服务的 Tomcat 服务器。
DG027 - 检查进程:Xvfb
此操作验证 Xvfb 进程是否正在运行。
DG027 - 检查进程:java/manager/service/derby
此操作验证 ArcGIS Server 管理器安全性所需的 Java 进程是否正在运行。
- DG028 - 检查 LDAP 服务器:正在侦听
这是对“目录服务器”的附加检查,用于验证其是否正在侦听在 /etc/remotesa/remotesa.config 文件中指定的端口 (MWR_LDAPPORT)。默认情况下,此端口为 62000。如果此项检查失败,请停止 ArcGIS Server。确保指定的端口未被其他进程占用。然后重新启动 ArcGIS Server。
.
- DG029 - 检查权限:arcsom.exe
此操作验证是否已对服务器对象管理器的可执行文件(<ArcGIS Server 安装目录>/bin/arcsom.exe)指定了读、写和设置用户 ID (setuid) 的访问权限。
如果此项检查失败,请以安装程序所有者的身份运行以下命令:
% chmod 755 arcsom.exe
% chmod a+s arcsom.exe
- DG030 - 检查权限:arcsom.init
此操作验证是否已对服务器对象管理器的可执行文件(<ArcGIS Server 安装目录>/bin/arcsom.init)指定了读、写和设置用户 ID (setuid) 的访问权限。
如果此项检查失败,请以安装程序所有者的身份运行以下命令:
% chmod 755 arcsom.init
- DG031 - 检查权限:arcsoc.exe
此操作验证是否已对服务器对象容器的可执行文件(<ArcGIS Server 安装目录>/bin/arcsoc.exe)指定了读、写和设置用户 ID (setuid) 的访问权限。
如果此项检查失败,请以安装程序所有者的身份运行以下命令:
% chmod 755 arcsoc.exe
% chmod a+s arcsoc.exe
- DG032 - 检查权限:arcsoc.init
此操作验证是否已对服务器对象容器的可执行文件(<ArcGIS Server 安装目录>/bin/arcsoc.init)指定了读、写和设置用户 ID (setuid) 的访问权限。
如果此项检查失败,请以安装程序所有者的身份运行以下命令来对其进行修复
% chmod 755 arcsoc.init
- DG033 - 检查用户映射
ArcGIS Server 会将其所有的本地 GIS 用户映射到两个 OS 帐户(即“agsadmin”或“agsuser”)中的一个。此步骤验证 ArcGIS Server 用户映射文件(<ArcGIS Server 安装目录>/servercore/.Server/.arcgis_usermap)是否至少具有三个条目。默认情况下,此文件应具有以下关于 ArcGIS Server 用户的条目:“admin”、“agsadmin”和“agsuser”。要对该错误进行修复,请运行 ServerConfig。
- DG034 - 检查用户映射权限
此操作验证 ArcGIS Server 安装程序所有者是否至少具备读写以下位置的用户映射文件的权限:<ArcGIS Server 安装目录>/servercore/.Server/.arcgis_usermap。
如果此项检查失败,可切换到 <ArcGIS Server 安装目录>/servercore/.Server 目录,并以安装程序所有者的身份运行:
% chmod 700 .arcgis_usermap
- DG035 - 检查 SOC 主机
此检查会在 Server.dat 文件存在错误(或 Server.dat 丢失)和诊断工具无法执行 DG036 检查时显示。
- DG036 - 检查 SOC 主机 <SOC 主机名称>:可以访问
此诊断工具会获取 <ArcGIS Server 安装目录>/server/system/Server.dat 的所有服务器计算机 (SOC) 的列表,并且验证是否每台服务器计算机均可访问。
- DG037 - 检查 SOC 主机 <SOC 主机名称>:正在运行
此诊断工具会获取 <ArcGIS Server 安装目录>/server/system/Server.dat 的所有服务器计算机 (SOC) 的列表,并且验证是否每台计算机上的 ArcGIS Server 均处于活动状态且正在侦听端口 135。
- DG038 - 检查端口 <端口号> 是否处于侦听状态
此操作验证 ArcGIS Server 是否正在使用列出的端口。如果这些端口无法用于 ArcGIS Server,则 ArcGIS Server 不能正常运行。
如果检查中出现任何故障,请停止 ArcGIS Server,随后确保指定的端口未被任何其他进程占用,然后重新启动 ArcGIS server。
此类检查包括:
DG038 - 检查端口 8399 是否处于侦听状态
此操作验证托管部署的 Web 应用程序和 Web 服务的 Tomcat 服务器是否正在侦听端口 8399。
DG038 - 检查端口 8309 是否处于侦听状态
此操作验证 AJP/1.3 连接器是否正在侦听端口 8309。
DG038 - 检查端口 8099 是否处于侦听状态
此操作验证托管 ArcGIS Server 管理器的 Tomcat 服务器是否正在侦听端口 8099。
DG038 - 检查端口 8109 是否处于侦听状态
此操作验证 AJP/1.3 连接器是否正在侦听端口 8109。
DG038 - 检查端口 8621 是否处于侦听状态
此操作验证 ArcGIS Server 安全性是否正在侦听端口 8621。
- DG039 - 检查 LDAP 服务器:密码存储方案
此操作验证 LDAP 服务器是否具有正确的存储方案。如果此类检查失败,请运行 ServerConfig。
- DG040 - 检查 LDAP 服务器:密码有效性
此操作验证用于访问 LDAP 服务器的密码是否有效。如果此项检查失败,请运行 <ArcGIS Server 安装目录>/servercore/tools/ldap/setldappwd.sh 脚本对其进行修复。
- DG041 - 检查是否存在服务器配置文件 (Server.dat)
此操作验证 Server.dat 文件是否存在。该文件应位于 <ArcGIS Server 安装目录>/server/system 目录下。如果仅安装 SOM,则会在向系统添加 SOC 计算机后生成此文件。
- DG042 - 检查是否存在安全性存储配置文件 (security.xml)
此操作验证 security.xml 文件(用于 ArcGIS Server 安全性配置)是否存在。该文件安装在 <ArcGIS Server 安装目录>/java/manager/service/lib/security.xml 下
- DG043 - 检查 /etc/hosts:IP 地址 <IP 地址> 是正确的
此操作验证 /etc/hosts 文件中的主机名条目下的 IP 地址是否正确。
- DG044 - 检查区域设置:服务器区域设置与环境区域设置匹配
此操作验证服务器运行所采用的区域设置是否与操作系统的当地环境匹配。
- DG045 - 检查 <作业目录的路径> 的长度是否超过 30 个字符
如果 <作业目录的路径> 超过 30 个字符,则此检查将给出 [警告]。可在 ArcGIS Server 管理器中单击 GIS 服务器 > 服务器目录 来定义此路径。默认路径为 <ArcGIS Server 安装目录>/server/serverdir/arcgisjobs。如果此路径超过 30 个字符,使用地理处理工具处理格网和 coverage 时可能会遇到问题。有关详细信息,请查看为 UNIX/Linux 环境创建任务。
- DG046 - 仅针对 Solaris 平台 - Solaris 版本必须要比 Solaris 10,版本 08/07,Update 5 新。
此检查验证 Solaris OS 的版本是否为 10 版本 08/07,并且其已应用的更新是否不低于 Update 5。此更新或更近的更新包含 ArcGIS Server 所需的 Xorgs 版本的 Xvfb。如果没有它,ArcGIS Server 无法工作。此检查仅针对 Solaris 平台。在 Linux 平台上,其返回 [N/A]。
- DG047 - 仅针对 Solaris 平台 - Xvfb 需安装在 /usr/X11/bin 下
默认情况下,Xorgs 版本的 Xvfb 应安装在 /user/X11/bin 下。ArcGIS Server 将在此位置查找 Xvfb。如果其未处于此位置下,ArcGIS Server 无法工作。此检查仅针对 Solaris 平台。在 Linux 平台上,其返回 [N/A]。
DG048 - 仅针对 Solaris 平台 - 检查最大描述符的值
在 Solaris 上,打开的文件描述符的最大值由 ulimit 设置。如果该值小于 4096,此检查会给出一个警告,因为服务使用 ArcSDE 连接时会影响 ArcGIS Server 的性能。有关详细说明,请查看 ESRI 知识库文章 37267。此检查仅针对 Solaris 平台。在 Linux 平台上,其返回 [N/A]。
- DG049 - 仅限安装了 SOC - 检查 SOM 计算机上身份验证服务的运行情况。
如果在 SOC 指向的 SOM 计算机上尚未运行身份验证服务,则 SOC 计算机不能通过身份验证,而且会不可用。
要修复此问题:
- 确保 ArcGIS Server 服务正在 SOM 计算机上运行。以安装程序所有者的身份运行:
% ps -e | grep arc
- 验证 SOC 计算机是否可通过网络访问 SOM 计算机。在 SOC 计算机上,尝试通过运行以下命令远程登录 SOM 计算机:
% telnet <SOM host> 3774
- 确保 ArcGIS Server 服务正在 SOM 计算机上运行。以安装程序所有者的身份运行:
诊断工具的工作原理:监视器框架
监视器框架支持诊断工具。监视器是独立的程序,它在所有 ArcGIS Server 计算机上作为后台进程运行。它必须为诊断工具运行才会起作用。启动和停止监视器的脚本安装在 <ArcGIS Server 安装目录>/scripts 文件夹下,它们称为 startmonitor/stopmonitor。
可通过以下方式运行这两个脚本来启动和停止监视器
% <ArcGIS Server Installation directory>/scripts/startmonitor
% <ArcGIS Server Installation directory>/scripts/stopmonitor
通过运行 startserver 脚本启动 ArcGIS Server 时,该脚本会检查是否已经运行监视器。如果尚未运行,则该脚本将启动监视器。运行 stopserver 脚本“不会”停止监视器进程。
默认情况下,监视器在 2422 端口上运行。该端口号及其他属性在 <ArcGIS Server 安装目录>/java/tools/monitor/monitor.xml 文件中设置。在该文件中可修改下列属性:
- ListenerPort
该属性用于指定监视器用来侦听收到的请求的端口号。端口号的可接受范围从 1024 到 65535。默认情况下,监视器使用端口 2422。
- LogLevel
该属性用于指定监视器在其日志文件中生成和记录的信息的级别。该日志文件创建在 <ArcGIS Server 安装目录>/java/tools/monitor/logs/monitor.log。每次启动监视器时都会覆盖该文件。下面按照消息重要性的升序顺序列出支持的日志信息的级别:
-
FINE - 记录含有接收的请求 XML 以及返回的响应 XML 的详细信息
-
INFO - 记录与监视器的正常操作相关的消息,例如新的客户端连接
-
WARNING - 记录非致命的错误消息
-
SEVERE - 记录需要立即关注的错误
如果将监视器配置为记录 INFO 级别的消息,那么还将记录所有 WARNING 和 SEVERE 消息,依此类推。默认情况下,将监视器的级别设置为 INFO。
-
- SocketTimeout
该属性用于指定超时之前监视器等待客户端请求的时间(以秒为单位)。默认值是 120 秒。
- ProcessTimeout
该属性用于指定超时之前监视器等待本地程序(如诊断工具)响应的时间(以秒为单位)。默认值是 120 秒。超时期限的设置通常无需修改,除非网络或计算机的速度分别因为出现 SocketTimeout 或 ProcessTimeout 的情况而变得极慢。