운영 작업 5분 전
단번에 서버 앞에 끼어들지 마라. 너는 먼저 이 서버에 대해 얼마나 알고 있는 상황과 고장난 구체적인 상황을 알아야 한다.그렇지 않으면 너는 아마 없는 화살을 쏘고 있을 것이다.
반드시 알아야 할 문제는 다음과 같다.
2. 누가 있습니까?
일
이
$ w이 두 가지 명령으로 누가 온라인이고 어떤 사용자가 방문했는지 봅시다.이것은 무슨 관건적인 단계는 아니지만, 다른 사용자가 일을 하고 있을 때 시스템을 디버깅하지 않는 것이 가장 좋다.한 산이 두 호랑이를 용납하지 않는다는 말이 있잖아.(ne cook in the kitchen is enough.)
$ last
3. 전에 무슨 일이 있었습니까?
일
$history
이전 서버에서 실행된 명령을 확인하십시오.보시면 틀림없습니다. 앞에서 본 누가 로그인했는지 정보까지 합치면 좀 쓸모가 있을 것입니다.또한 관리자로서 자신의 권한을 이용하여 다른 사람의 프라이버시를 침해하지 않도록 주의해야 한다.
이 명령을 실행하는 시간을 표시하기 위해 HISTIMEFORMAT 환경 변수를 업데이트해야 할 수도 있습니다.그렇지 않으면 언제 실행될지 모르는 명령만 봐도 미치겠다.
4. 현재 실행 중인 프로세스는 무엇입니까?
일
이
$ pstree -a
$psaux
이것은 모두 기존 프로세스를 보는 것이다.psaux의 결과는 비교적 난잡하고 pstree-a의 결과는 비교적 간단명료하며 실행 중인 프로세스와 관련 사용자를 볼 수 있다.
5. 감청된 네트워크 서비스
일
이
삼
$netstat-ntlp
$netstat-nulp
$netstat-nxlp
나는 일반적으로 이 세 개의 명령을 분리해서 실행하는데, 한꺼번에 모든 서비스를 열거하는 것을 보고 싶지 않다.netstat-nalp도 괜찮아요.하지만 나는numeric 옵션을 절대 사용하지 않을 것이다.
실행 중인 모든 서비스를 찾아서 실행해야 하는지 확인하십시오.개별 감청 포트를 확인합니다.netstat에 표시된 서비스 목록의 PID와 psaux 프로세스 목록은 같습니다.
만약 서버에 여러 개의 Java나 Erlang 같은 프로세스가 동시에 실행되고 있다면, PID에 따라 각각의 프로세스를 찾을 수 있는 것이 매우 중요하다.
일반적으로 우리는 모든 서버에서 실행되는 서비스가 좀 적고 필요할 때 서버를 늘릴 수 있도록 권장한다.만약 서버에 340개의 감청 포트가 열려 있는 것을 보았다면, 기록을 해서 나중에 시간이 있을 때 정리하고 서버를 다시 조직해라.\
6. CPU 및 메모리
- $ free -m
- $ uptime
- $ top
- $ htop
다음 문제를 참고하십시오.
7. 하드웨어
많은 서버가 아직 누드 상태입니다.
8. IO 성능
- $ iostat -kx 2
- $ vmstat 2 10
- $ mpstat 2 10
- $ dstat --top-io --top-bio
이 명령들은 백엔드 성능을 디버깅하는 데 매우 유용하다.
9. 마운트 지점 및 파일 시스템
- $ mount
- $ cat /etc/fstab
- $ vgs
- $ pvs
- $ lvs
- $ df -h
- $ lsof +D / /* beware not to kill your box */
10. 코어, 인터럽트 및 네트워크
- $ sysctl -a | grep ...
- $ cat /proc/interrupts
- $ cat /proc/net/ip_conntrack /* may take some time on busy servers */
- $ netstat
- $ ss -s
너는 또한 Linux TCP tuning을 보고 네트워크 성능 개선의 몇 가지 요점을 이해할 수 있다.
11. 시스템 로그 및 커널 메시지
- $ dmesg
- $ less /var/log/messages
- $ less /var/log/secure
- $ less /var/log/auth
12. 정시 임무
- $ ls /etc/cron* + cat
- $ for user in $(cat /etc/passwd | cut -f1 -d:); do crontab -l -u $user; done
13. 애플리케이션 시스템 로그
이 안에는 분석할 수 있는 것이 많지만, 아마도 너는 운영자로서 그것을 자세히 연구할 시간이 없을 것이다.예를 들어 전형적인 LAMP(Linux+Apache+Mysql+Perl) 응용 환경에서
결론
5분이 지나면 다음과 같은 상황에 대해 잘 알 수 있을 것이다.
너는 심지어 진정한 고장 원인을 찾을 수도 있다.아직 찾지 못했어도 위의 상황을 파악한 후에 당신은 지금 깊이 파고들 수 있는 조건을 갖추고 있습니다.계속 노력하자!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.