신비한 과정을 포착하는 가장 좋은 전략은 무엇입니까?

신비한 과정을 포착하는 가장 좋은 전략은 무엇입니까?

내 서버에서 실행 중인 프로세스가 매일 밤 자정에 종료됩니다. 작동 중입니다. 문제가 발생했을 때 저는 그곳에 없었고 원격 액세스 권한도 없었습니다.

살인은 매일 밤 23시 59분에 매우 정기적으로 발생했습니다. 나는 다음 날 도착했을 때 다음과 같은 사실을 알고 있었습니다.

  • 처리 마감일은 23:59입니다.
  • 프로세스 로그에는 마지막 수정 시간이 23:59로 표시됩니다(그리고 그 직후에 새 날짜 로그가 시작됩니다).

살인 사건이 동시에 일어났기 때문에 일괄 작업이 의심됩니다. crontab모든 컴퓨터에서 s를 확인했지만 아무것도 찾지 못했습니다. 분명히 나는 ​​뭔가를 놓치고 있습니다.

ps몇 분 전부터 시작하여 한동안 반복하여 간헐적으로 출력을 보고하는 모니터링 스크립트를 만들 생각입니다 . at이 아이디어는 약하고 오류가 발생하기 쉬우므로 더 나은 아이디어가 있는 사람이 있는지 궁금합니다.

자세한 내용은:

  • Universe는 매우 크고 매우 오래된 레거시 시스템입니다. 우리 팀의 누구도 그러한 프로세스에 대해 모르는 것 같습니다(누군가가 알면 그녀는 우리 팀에 합류할 것입니다). 더 큰 조직은 수천 명의 직원으로 구성되어 있지만 이론상으로는 이 프로세스에 액세스할 수 있습니다(왜 그럴지는 모르겠습니다). 즉, 보안 조치가 그다지 엄격하지 않습니다.

  • 환경은 Solaris 10을 실행하는 여러 컴퓨터로 구성됩니다.

  • 이는 프로덕션 환경이 아니므로 시간 초과나 가동 중지 시간은 중요하지 않습니다.

  • 타이밍의 정확성으로 인해 그럴 가능성은 낮지만, 킬이 배치 작업으로 인해 발생하지 않았을 가능성도 배제하지 않습니다.

  • 분명히 우리 장부 관리에 결함이 있어서 상상할 수 있는 모든 일이 일어날 수 있었습니다.

내 질문은 취할 수 있는 최선의 전략이 무엇인지입니다. 이는 "레거시 시스템에서 작업하는 즐거움"이라는 더 큰 범위에 속합니다. 나는 스크립트를 작성하기 시작했고 피드백을 위해 곧 여기에 게시할 예정입니다. 그동안 더 나은 아이디어가 있는 사람이 있으면 알려 주시기 바랍니다.

답변1

주기적으로 로그를 교체하는 것이 일반적이며 자정에 로그를 교체하는 것이 일반적입니다. 많은 응용 프로그램이 이 작업을 자동으로 수행합니다.

그렇지 않은 사람들을 위해 logrotate회전에 사용할 수 있는 유사한 도구가 있습니다. 많은 프로그램은 HUP 신호가 전송될 때 로그를 다시 열도록 구성되어 있습니다 logrotate.

확인해야 할 사항:

  • 모든 PID가 변경되었나요? 그렇지 않은 경우 프로그램은 자체 로그를 회전하거나 로그 회전에 적절하게 응답할 수 있습니다.
  • PID를 변경하는 프로그램의 경우 자정에 다시 시작됩니까? 그렇지 않다면 부모를 확인하고 그것이 무엇인지 확인하십시오.
  • 하루가 끝날 때 어떤 프로세스가 실행 중인지 확인하려면 루트의 crontab을 확인하세요.
  • 하루가 끝날 때 어떤 프로세스가 실행 중인지 확인하려면 crontab에서 프로세스 사용자 ID를 확인하세요.
  • 로그 파일이 직접 기록되었는지, 아니면 로그를 순환시키는 로그 기록기에 의해 기록되었는지 확인하세요.

관련 정보