Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AS400 Nagios插件java.lang.NumberFormatException:对于输入字符串:";01%S";_Java_Exception_Ibm Midrange_Nagios_Network Monitoring - Fatal编程技术网

AS400 Nagios插件java.lang.NumberFormatException:对于输入字符串:";01%S";

AS400 Nagios插件java.lang.NumberFormatException:对于输入字符串:";01%S";,java,exception,ibm-midrange,nagios,network-monitoring,Java,Exception,Ibm Midrange,Nagios,Network Monitoring,我使用AS400 Nagios插件来管理AS400服务器。对于一台服务器,我得到以下返回(异常): 全额退货: Exception in thread "main" java.lang.NumberFormatException: For input string: "01 % S" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at ja

我使用AS400 Nagios插件来管理AS400服务器。对于一台服务器,我得到以下返回(异常):

全额退货:

Exception in thread "main" java.lang.NumberFormatException: For input string: "01      % S"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:492)
        at java.lang.Integer.<init>(Integer.java:677)
        at check_as400.parseWrkSysSts(check_as400.java:1048)
        at check_as400.parse(check_as400.java:626)
        at check_as400.main(check_as400.java:470)
我已经在Nagios Exchange论坛上发现了类似的问题和解决方案,但由于无法访问或不了解AS400,我不知道该怎么办:

(见业主回复)

你知道怎么解决这个问题吗

先谢谢你

编辑:使用-d选项的附加输出

Establishing connection to server...done.
Logging in...
  waiting for screen...
    waiting for token IBM CORP...
    token received.
  sending login information for QPGMR...
  waiting for login to process...
    waiting for token ===>...
      responding to allocated to another job message...
    token received.
Login completed.
Sending command (0)...
    waiting for token ===>...
    token received.
Command sent.
Parsing results...
Exception in thread "main" java.lang.NumberFormatException: For input st                                                                                                                                                                     ring: "01      % S"
        at java.lang.NumberFormatException.forInputString(NumberFormatEx                                                                                                                                                                     ception.java:65)
        at java.lang.Integer.parseInt(Integer.java:492)
        at java.lang.Integer.<init>(Integer.java:677)
        at check_as400.parseWrkSysSts(check_as400.java:1048)
        at check_as400.parse(check_as400.java:626)
        at check_as400.main(check_as400.java:470)
建立与服务器的连接…完成。
正在登录。。。
等待屏幕。。。
正在等待IBM公司的令牌。。。
收到代币。
正在发送QPGMR的登录信息。。。
正在等待登录以处理。。。
正在等待令牌==>。。。
正在响应已分配给另一个作业的消息。。。
收到代币。
登录完成。
正在发送命令(0)。。。
正在等待令牌==>。。。
收到代币。
命令已发送。
分析结果。。。
线程“main”java.lang.NumberFormatException中的异常:对于输入st环:“01%S”
位于java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
位于java.lang.Integer.parseInt(Integer.java:492)
位于java.lang.Integer。(Integer.java:677)
在check_as400.parsewrksysts(check_as400.java:1048)
在check_as400.parse(check_as400.java:626)
在check_as400.main(check_as400.java:470)

多亏了@WillRyan:问题是导致异常的服务器使用的是旧版本的AS400(您可以将命令编辑为。/check\u as400-d-H xxx.xxx.xxx.xxx-v JOBS-w 21000-c 23000(注意-d,这会准确输出连接上发生的情况)您可以使用大写的d吗?这将提供完整的输出,包括check_as400执行的屏幕刮除。可能也值得对输出进行管道化处理:./check_as400-H xxx.xxx.xxx.xxx-D-v JOBS-w 21000-c 23000>as400.log并明显隐藏日志中的任何个人信息:)我通过“D”-选项发现了错误-脚本对屏幕输出进行grep处理并对其进行解析,并尝试使用grep查找特定数量的“:”符号的值(请参阅findToken函数)。问题在于,较旧版本有其他选项:“因此,结果是另一个位置,而不是预期的位置。客户尝试更新系统(./check_as400 -H xxx.xxx.xxx.xxx -v JOBS -w 21000 -c 23000
Establishing connection to server...done.
Logging in...
  waiting for screen...
    waiting for token IBM CORP...
    token received.
  sending login information for QPGMR...
  waiting for login to process...
    waiting for token ===>...
      responding to allocated to another job message...
    token received.
Login completed.
Sending command (0)...
    waiting for token ===>...
    token received.
Command sent.
Parsing results...
Exception in thread "main" java.lang.NumberFormatException: For input st                                                                                                                                                                     ring: "01      % S"
        at java.lang.NumberFormatException.forInputString(NumberFormatEx                                                                                                                                                                     ception.java:65)
        at java.lang.Integer.parseInt(Integer.java:492)
        at java.lang.Integer.<init>(Integer.java:677)
        at check_as400.parseWrkSysSts(check_as400.java:1048)
        at check_as400.parse(check_as400.java:626)
        at check_as400.main(check_as400.java:470)