서버 충돌 진단...'블랙박스 레코더' 스타일의 프로그램이 있을까?

서버 충돌 진단...'블랙박스 레코더' 스타일의 프로그램이 있을까?

내 Redhat 서버는 3주마다 일요일 오전 4시 15분쯤에 작동이 중단됩니다. (물론 일요일이었고 마지막 두 번은 목요일 아침 4시 15분이었습니다.) 로그(mysql, httpd, 메시지)를 보면 이유에 대한 단서가 없습니다. 그들은 단지 멈추는 것 같습니다.

나는 15분마다 메모리 판독값을 가져오는 작은 스크립트를 실행했는데 이때도 (정상 판독값으로) 중지됩니다.

서버는 공급자의 원격 위치에 있으므로 웹을 통해서만 액세스할 수 있습니다. 저는 Plesk를 사용합니다.

설정된 작업이거나 문제를 일으키는 것으로 보입니다. crontab에서는 아무것도 볼 수 없습니다.

그래서 내 질문은... 다른 사람이 이런 일을 겪었고 조언을 해줄 수 있습니까? 실패했습니다.

메시지 파일에서 제공하는 것보다 더 자세한 로깅을 얻는 방법을 아는 사람이 있습니까? 나는 블랙박스 스타일의 녹음 프로그램이나 메시지 로그의 보고 수준을 높이는 옵션만큼 간단한 것을 생각하고 있었습니다.

감사해요

답변1

이것은 cron.daily 작업이 예정된 시간이므로 첫 번째 용의자로 /etc/cron.daily 또는 매주 또는 매월을 살펴보겠습니다.

10분마다 프로세스의 스냅샷을 기록하는 위에 설치할 수 있습니다.

또는 psacct를 설치하고 accton 및 lastcomm을 사용하여 실행 중인 내용을 확인할 수 있습니다.

감사를 켜는 것도 옵션입니다. auditd(8)를 참조하세요.

답변2

서버 충돌 시 시스템 메모리를 파일에 복사하는 코어 덤프를 활성화할 수 있습니다.

다음 문제는 코어 덤프 파일을 어떻게 처리하는가입니다... 주변에 gdb에 대해 모두 아는 사람이 있다면 그 사람이 이에 대해 뭔가를 할 수 있을 것입니다... 또는 "strings" 명령을 사용하여 모두 덤프할 수도 있습니다. 코어 덤프 파일에서 텍스트를 삭제하면 뭔가를 찾을 수 있을 것입니다.

답변3

잘 연결된 다른 상자에 로그인하고, screen을 실행하고, ssh를 서버에 연결하고, kern.log, daemon.log, syslog, 개별 화면 창에 메시지를 표시합니다. (새 창을 만들려면 Ctrl-A, c, 분리하려면 Ctrl-A,D, 다시 시작하려면 screen -r)

서버가 다시 잠기면 컴퓨터가 중단될 때 로그가 디스크에 제대로 플러시되지 않은 경우에도 스크린 세션에 로그의 끝 부분이 있어야 합니다.

커널 패닉이 의심되거나 이런 경우

kernel.panic=5 kernel.panic_on_oops=5

sysctl.conf 또는 이에 상응하는 파일에서 5초 동안 대기하여 드라이브가 플러시될 수 있도록 허용한 후 재부팅됩니다.

관련 정보