로그 분할 문제 감각

2083 단어
서버 개발 경험 이 있 는 학생 들 은 로그 라 는 것 이 낯 설 지 않 고 프로그램 을 서버 에 버 리 고 뛰 어야 합 니 다. 로 그 는 우리 가 운행 상황 을 알 고 심지어 BUG 를 푸 는 유일한 입구 입 니 다.
어떤 프로그램의 로 그 량 은 매우 빠르게 증가 할 것 이다. 예 를 들 어 Nginx 는 로그 파일 이 수백 MB, 심지어 GB 까지 클 때 이 파일 에서 우리 가 원 하 는 정 보 를 찾 으 려 면 기본적으로 바다 에서 바늘 찾기 와 같 기 때문에 이 럴 때 로 그 를 관리 하 는 것 이 특히 중요 하 다.
로 그 량 이 많은 플랫폼 은 ELK 에 올 라 갈 수 있 습 니 다. ES 의 검색 장점 을 이용 하여 로그 데이터 의 양 이 많은 문 제 를 걱정 하지 않 습 니 다. 그러나 본 고 는 이 방면 의 내용 과 관련 되 지 않 을 계획 입 니 다. 다음은 로그 파일 을 정확하게 구분 하 는 방법 에 대해 이야기 하 겠 습 니 다.
Linxu 의 로 그 는 두 가지 형식 으로 나 뉘 는데 하 나 는 Linux 의 logrotate 도 구 를 사용 하 는 것 이 고 다른 하 나 는 추가 로 작 성 된 스 크 립 트 를 사용 하 는 것 입 니 다. 이런 형식 은 로그 라 이브 러 리 와 함께 사용 합 니 다.
업무 관계 로 인해 우 리 는 처음에 logrotate 를 사용 하 는 방안 을 포기 했다. 왜냐하면 우 리 는 이것 이 실시 자 에 게 시스템 의 유지 부담 을 증가 시 킬 것 이 라 고 생각 했 기 때문이다. (나중에 우리 가 logrotate 에 대해 잘 모 르 는 것 을 발견 했다) 그래서 우 리 는 두 번 째 방안 을 사용 하여 로그 의 절 체 를 우리 의 로그 라 이브 러 리 에서 실현 했다. 우 리 는 logrus 와 lfshook 을 봉인 했다.logrus 의 hook 메커니즘 을 이용 하여 절 분 된 논 리 를 로그 라 이브 러 리 에 삽입 합 니 다. 코드 가 호출 될 때 자동 으로 절 분 된 동작 이 실 행 됩 니 다. 이렇게 하 는 것 도 beego 프레임 워 크 의 영향 을 받 아 로그 라 이브 러 리 는 기본적으로 절 분 된 기능 을 가지 고 있 습 니 다.
Openresty 를 사용 할 때 까지 모든 것 이 순조롭게 작 동 되 었 습 니 다. Nginx 로 그 는 구분 되 지 않 았 습 니 다. 이전에 Nginx 를 사 용 했 을 때 기본 설치 가 완료 되면 로 그 는 자동 으로 하늘 로 나 뉘 기 때문에 Nginx 설정 항목 을 찾 아 일부 설정 이 빠 졌 는 지 확인 하기 시 작 했 습 니 다. 하지만 찾 지 않 아 도 괜 찮 습 니 다.알 고 보 니 Nginx 는 로그 분할 기능 을 제공 하지 않 습 니 다. What?그 전의 절 분 기능 은 어떻게 생 겼 습 니까?
다음 에 문 제 를 해결 하 는 과정 에서 / etc / logrotate. d / 아래 에 nginx 설정 이 있 고 Mysql 과 다른 기본 구성 요소 도 있 는 것 을 발 견 했 습 니 다. 이때 우 리 는 RPM 패키지 (우리 시스템 은 Centos) 가 설치 되 었 을 때 자동 으로 logrotate 설정 문 서 를 생 성 했 을 수도 있다 는 것 을 생각 했 습 니 다. 나중에 알 아 보 니 역시 (명령: rpm -qpl xxx.rpm 입 니 다. 우리 의 Openresty 패 키 지 는 이 설정 파일 을 생 성하 지 않 았 습 니 다.그래서 Nginx 로그 파일 이 분리 되 지 않 았 습 니 다.
실제로 많은 소프트웨어 들 이 로그 의 기록 만 하고 절 점 을 도와 주지 않 는 다 는 것 은 합 리 적 인 일이 다. 로그 러 스 가 로그 절 점 기능 을 제공 하지 않 고 제3자 라 이브 러 리 에서 해 야 하 는 이 유 를 떠 올 리 게 한다. 우 리 는 로그 절 점 의 논 리 를 코드 에 결합 시 켰 다. 지금 돌 이 켜 보면 합 리 적 이지 않 고 정확 한 방법 은 RPM 가방 을 칠 때 해 야 한다.logrotate 설정 파일 을 만 들 면 실시 자 들 의 부담 을 증가 시 키 지 않 고 절 분 된 기능 을 한 곳 으로 통일 시 킬 수 있 습 니 다.

좋은 웹페이지 즐겨찾기