1

我在 solaris 5.10 上新安装了一个应用程序。当检查通过时ps -ef | grep hyperic | grep agent,进程启动并运行。通过svcs hyperic-agent命令检查状态时,输出显示代理处于维护模式。应用程序运行良好,我对应用程序没有任何问题。请帮忙

4

1 回答 1

3

导致这种行为的原因有几个:

  • 启动器(start/exec服务属性)返回的状态不同于SMF_EXIT_OK(零)。你可以检查日志:

     # svcs -x ssh
     ...
     See: /var/svc/log/network-ssh:default.log
    

    如果您检查日志,您可能会看到以下消息,这意味着启动脚本失败或写入错误:

     [ Aug 11 18:40:30 Method "start" exited with status 96 ]
    
  • 这种行为的另一个原因是服务在其工作期间出现故障(即一个进程核心转储或接收终止信号或所有进程退出),如下所述:https ://blogs.oracle.com/lianep/entry/smf_5_fault_retry_models

    为监视提供 SMF 设施的实际系统是系统合同。您可以使用(字段 CTID)确定在线服务的合同 ID:svcs -v

    # svcs -vp svc:/network/smtp:sendmail
    STATE          NSTATE        STIME    CTID   FMRI
    online         -             Apr_14       68 svc:/network/smtp:sendmail
                Apr_14       1679 sendmail
                Apr_14       1681 sendmail
    

    比观看事件ctwatch

    # ctwatch 68
    CTID    EVID    CRIT ACK CTTYPE   SUMMARY
    68      28      crit no  process  contract empty
    

    有两种选择可以处理:

    • 服务确实存在问题,因此最终会出现故障。比调试应用程序。

    • 这是服务的正常行为,因此您应该编辑并重新导入服务清单,以使 SMF 不那么偏执。即配置ignore_errorduration属性。

于 2015-04-15T14:41:22.963 回答