1. 모니터링 요약
Linux 서버의 고가용성을 보장하기 위해서는 이를 효과적으로 모니터링하고, 서버의 운영 상태를 실시간으로 파악하고, 각종 성능 지표의 정상 여부를 파악하여 이를 예방하는 것이 필요합니다. 문제가 발생하기 전에 문제가 발생하고 작업을 수행하려면 차원 로그 기록, 그래픽 모니터링 및 문제 발생에 대한 메시지 경고 메커니즘이 모두 Linux 서버가 정상적인 외부 서비스를 제공할 수 있도록 하기 위한 전제 조건입니다.
모니터링은 예방의 중요한 부분입니다. 먼저 모니터링해야 할 사항에 대해 이야기하겠습니다. 시스템 로드, CPU 사용량, 메모리 사용량, 디스크 공간, 네트워크 트래픽, 포트, 프로세스, Apache 또는 Tomcat에 대한 연결 수, mysql의 실행 상태 등을 모두 모니터링해야 합니다. 서버의 전반적인 작동 상태를 항상 파악하려면 Linux에 내장된 몇 가지 성능 모니터링 명령에만 의존하기는 어렵습니다. 따라서 서버 모니터링을 위해 쉘 스크립트와 오픈 소스 모니터링 도구를 사용하는 것이 두 가지 주요 옵션이 되었습니다.
먼저 Linux 서버 모니터링을 위한 몇 가지 일반적인 명령과 이러한 명령으로 작성된 모니터링 스크립트를 이해해야 합니다. 마지막으로 몇 가지 성숙한 오픈 소스 모니터링 도구도 필요합니다.
1) [iostat]: iostat 명령은 스토리지 하위 시스템의 자세한 정보를 표시하는 데 사용됩니다. 일반적으로 디스크 I/O 상태를 모니터링하는 데 사용됩니다.
2) [meminfo 및 free]: cat /proc/meminfo free
3) [mpstat]: 실시간 시스템 모니터링 도구로, 다중 CPU 시스템에서 모든 CPU의 평균 상태 정보만 볼 수는 없습니다. , 특정 CPU 정보도 볼 수 있습니다
4) [netstat]: 네트워크 관련 정보를 대량으로 표시합니다
5) [nmon]: Linux 시스템의 성능을 모니터링하고 다운로드 및 설치하는 오픈 소스 도구
6) [pmap]: pmap 명령 각 프로세스가 차지하는 메모리의 세부 정보를 보고하는 데 사용됩니다. 프로세스가 오버런되었는지 확인하는 데 사용할 수 있습니다. 이 명령에는 프로세스 ID가 매개변수로 필요합니다.
7) [ps pstree]: ps는 각 프로세스가 차지하는 메모리 및 CPU 처리 시간을 알려주고, pstree는 하위 프로세스 정보를 포함하여 프로세스 간의 종속성을 트리 구조로 표시합니다.
8) [sar]: sar 가능 CPU 사용률, 메모리 페이지 데이터, 네트워크 I/O 및 전송 통계, 프로세스 생성 활동, 디스크 장치 활동 세부 정보를 표시하는 데 사용됩니다.
9) [strace]: strace ls와 같은 진단 프로세스 도구이지만 진단된 프로세스가 느려집니다.
10) [tcpdump] 네트워크 모니터링 도구, 어떤 프로세스가 네트워크를 사용하고 있는지 확인하고 기본 프로토콜 분석을 수행하는 데 사용됩니다. 네트워크를 사용하는 방법.
11) [uptime]: 이 명령은 이 서버가 시작된 이후 얼마나 오랫동안 실행되었는지 알려줍니다.
12) [vmstat] 가상 메모리를 모니터링합니다
13) [Wireshark]: 네트워크 프로토콜 감지 프로그램입니다. 프로그램을 통해 실행 중인 웹사이트에 대한 관련 정보를 캡처할 수 있습니다
14) [dstat] 다중 유형 자원 통계 도구: 이 명령은 vmstat, iostat 및 ifstat 명령을 통합합니다.
15) [htop]: 더 친숙한 상단, 차이점 확인 둘: "htop과 top의 비교"
16) [ss]: 소켓 통계 정보를 기록하는 데 사용되며 netstat와 유사한 정보를 표시할 수 있으며 더 많은 TCP 및 상태 정보도 표시할 수 있습니다.
17) [lsof]: 열린 파일 목록
18) [iftop]은 네트워크 정보를 기반으로 하는 또 다른 최상위 프로그램입니다. 대역폭 사용량이나 업로드 또는 다운로드 볼륨에 따라 정렬된 현재 네트워크 연결 상태를 표시할 수 있습니다
여기에는 4개의 스크립트가 제공됩니다(performance.sh 성능 모니터링, process.sh 프로세스 모니터링, network.sh 트래픽 모니터링, tongji.sh 트래픽 분석 및 통계), crontab을 사용하여 정기적으로 스크립트를 실행하여 모니터링 데이터를 기록하고, 일일 모니터링 로그를 작성하여 다음 해당 폴더에 저장하고, 자신이 설정한 알람 값을 초과하면 이메일 알림을 보냅니다. Tencent 기업 메일함, 163 메일함 등 무료 SMS 알림 기능이 있는 메일함을 보유하고 계시다면 이메일 알림을 받은 후 바로 문자 메시지를 받으실 수 있어 매우 편리합니다.
코드 스크린 샷은 다음과 같습니다.
3.2.2 프로세스 모니터링 스크립트 process.sh
코드 GitHub 주소 :
코드 스크린샷은 다음과 같습니다
3.2.3 트래픽 모니터링 스크립트 network.sh
Code GitHub 주소:
코드 스크린샷은 다음과 같습니다.
3.2.4 트래픽 분석 및 sh
코드 GitHub 주소:
코드 스크린샷은 다음과 같습니다:
3.3 모니터링 도구
3.3 .1 ) Cacti+Na gios
【 Cacti]: Cacti는 PHP, MySQL, SNMP 및 RRDTool을 기반으로 개발된 네트워크 트래픽 모니터링 그래픽 분석 도구 세트입니다.
【Nagios】: Nagios는 시스템 작동 상태 및 네트워크 정보를 모니터링하는 모니터링 시스템입니다. 지정된 로컬 또는 원격 호스트와 서비스를 모니터링하고 예외 알림 기능 등을 제공할 수 있습니다.
3.3.2) Zabbix
【Zabbix】: 다양한 네트워크 매개 변수를 모니터링하고 서버 시스템의 안전한 작동을 보장하는 것 외에도 Zabbix는 또한 SMS, 이메일, Jabber 등과 같은 알림 메커니즘을 제공하여 시스템 관리자가 다양한 기존 문제를 신속하게 찾아 해결할 수 있습니다. 기본적으로 선인장+나기오스
의 기능을 구현할 수 있습니다.
위 내용은 Linux 서버 모니터링 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!