2015-04-15 4 views
0

Я недавно установил приложение на solaris 5.10. При проверке через ps -ef | grep hyperic | grep agent процесс запускается. При проверке состояния с помощью команды svcs hyperic-agent, вывод показывает, что агент находится в режиме обслуживания. Приложение работает нормально, и у меня нет проблем с приложением. Пожалуйста, помогитеКоманда Solaris svcs показывает неправильный статус

+0

Может быть, ваш стартер не выходит с нулевым (SMF_EXIT_OK' ') статус? Пожалуйста, проверьте журналы для обслуживания (их местоположение доступно из компонента 'svcs -x hyperic-agent'). – myaut

+0

Спасибо за ваш ответ !!!!!!! Пожалуйста, найдите фрагмент журнала .. Oracle Corporation SunOS 5.10 Generic Patch Январь 2005 -n Запуск агента HQ ... -n. -n. -n. работает (3314). Корпорация Oracle SunOS 5.10 Generic Patch Январь 2005 [14 апр. 10:18:01 Метод «start» завершен со статусом 0] ... .. Метод запуска завершен с нулем. –

+0

Ну, есть много способов применения SMF-мониторов: разблокировка и выход из процессов, поданные сигналы, возможно, одно из этих плохих событий было замечено, и SMF отметил его как обслуживание. Эти события должны маскироваться в манифесте приложения. – myaut

ответ

2

Есть несколько причин, которые приводят к такому поведению:

  • Starter (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 для мониторинга, являющегося системным контрактом s. Вы можете определить контрактную идентификатор онлайн службы с svcs -v (поле CTID):

    # 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 
    

    Than следить за событиями с ctwatch:

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

    чем есть два варианта, чтобы справиться с этим:

    • Существует настоящая проблема с обслуживанием, поэтому он в конечном итоге неисправен. Затем отлаживайте приложение.

    • Это нормальное поведение службы, поэтому вы должны отредактировать и повторно импортировать манифест службы, чтобы сделать SMF менее параноидальным. То есть настройте ignore_error и duration.

+0

Большое спасибо за информацию !!! это действительно помогло мне. Для моего случая метод start работает с нулем, но я вижу некоторые сообщения об ошибках в журналах, которые я пытаюсь исправить. В любом случае, спасибо снова !!!!! –

Смежные вопросы