현재 위치: > 최신 기사 목록> Syslog 및 PHP 오류 로그 구성 및 관리

Syslog 및 PHP 오류 로그 구성 및 관리

gitbox 2025-05-26

매일 PHP 개발 및 운영 및 유지 보수에서 오류 로그 관리가 중요한 작업입니다. 그것은 개발자가 문제를 찾는 데 도움이 될뿐만 아니라 시스템에서 이상이 발생할 때 가능한 빨리 알람을 부릅니다. Syslog 및 PHP의 오류 로깅 메커니즘은 두 가지 공통 로깅 방법입니다. 구성 방법, 적용 가능한 시나리오 및 관리 전략에는 명백한 차이가 있습니다. 이 기사는 두 가지를 비교하고 로그를 효율적으로 관리하기위한 실질적인 제안을 제공합니다.

1. PHP 오류 로깅 메커니즘

PHP 오류 로그는 일반적으로 php.ini 파일을 통해 구성됩니다. 주요 구성 항목에는 다음이 포함됩니다.

  • ERROR_REPORTING : 어떤 수준의 오류를보고 해야하는지 설정합니다.

  • log_errors : 로그인에 오류를 로그인할지 여부.

  • error_log : 로그 파일 경로를 지정합니다.

예를 들어 다음은 일반적인 구성 코드입니다.

 error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log

이 방법은 간단하고 직관적이며 중소형 응용 프로그램에 적합하며 로그는 파일 시스템에 직접 작성되어 쉽게보고 분석 할 수 있습니다. 그러나 그 한계는 다음과 같습니다.

  • 로그는 서버 전체에 로컬로 흩어져 있으며 중앙 집중식 관리에는 도움이되지 않습니다.

  • 시스템 로그 정책으로 감사를 통합 할 수 없습니다.

  • 파일 성장은 통제 할 수 없으므로 디스크 공간이 소진 될 수 있습니다.

2. Syslog 메커니즘 소개

Syslog 는 UNIX 시스템을위한 범용 로그 관리 서비스입니다. 로그 정보를 로컬 또는 원격 Syslog 데몬으로 중앙에 전송하고 규칙에 따라 분류, 전달 및 저장할 수 있습니다.

PHP에서 오류 로그는 다음과 같이 syslog로 보낼 수 있습니다.

 log_errors = On
error_log = syslog

또는 수동 제어를 위해 OpenLog ()syslog () 함수를 사용하십시오.

 openlog("my-php-app", LOG_PID | LOG_PERROR, LOG_LOCAL0);
syslog(LOG_ERR, "Something went wrong!");
closelog();

대조적으로, syslog의 장점은 주로 다음과 같습니다.

  • 중앙 집중식 관리 : 통합 된 스토리지 및 로그 분석을 용이하게하는 원격 서버 (예 : gitbox.net )로 로그 전송을 지원합니다.

  • 유연한 필터링 : 필터링 규칙은 /etc/rsyslog.conf 또는 /etc/syslog.conf 를 통해 설정할 수 있습니다.

  • 시스템 수준의 통합 감사 : CRON , AUTH 등과 같은 시스템 로그를 사용하여 보안을 개선 할 수 있습니다.

3. 로그를 효율적으로 관리하는 방법

  1. 중앙 집중식 로그 관리 시스템 <br> rsyslog , syslog-ng 또는 journald를 사용하여 로그 서버에 로그를 수집하십시오.

     *.* @gitbox.net:514
    

    통합 분석 및 시각화를 위해 Graylog, Elk (Elasticsearch + Logstash + Kibana) 또는 Loki와 같은 로깅 플랫폼과 협력하십시오.

  2. 로그 회전 및 압축 <br> Logrotate를 사용하여 주기적으로 로컬 로그 파일을 회전하여 디스크가 완성되지 않도록하십시오.