1. 초기 문제 상황
Job check failed: error on HTTP request to 'http://127.0.0.1:80/status': Get "http://127.0.0.1:80/status": EOF
- Netdata에서 Nginx 모니터링 연결 실패
- 에러 메시지: "Job check failed: error on HTTP request to 'http://127.0.0.1:80/status': EOF"
- 원인: Nginx의 보안 설정(return 444)이 모든 요청을 차단
2. 설정 수정 과정
- 첫 번째 시도: stub_status 설정 추가
location /stub_status { stub_status on; access_log off; allow 127.0.0.1; allow 192.168.219.0/24; deny all; }
2. 문제점 발견: 전역 return 444 설정과 충돌
server { # location 설정이 있었지만 return 444; # 이 설정이 모든 요청을 차단 }
- 최종 해결: location 블록 순서 조정
- stub_status 접근 허용
- 그 외 요청은 444로 차단
- 전역 return 444 제거
3. 로그 설정 개선
- 로그 형식 정의
log_format main '$remote_addr - [$time_local] "$request" ' '$status $body_bytes_sent ' '$request_time sec "$http_referer" ' '"$http_user_agent" "$host"';
- 로그 필터링 시도
- 내부 IP와 모니터링 요청 제외 시도
- 복잡한 설정으로 인한 문제 발생
- 기본 로그 설정으로 롤백
4. 최종 결과
- Netdata 모니터링 정상 작동
- 불필요한 요청 차단
- 명확한 로그 기록
- 보안성 유지
5. 교훈
- 설정의 단순화가 중요
- 보안과 모니터링의 균형
- 로그 설정은 필요한 정보만 간단히
응애개발지망생 죽어나간ㄷ.