에이전트는 New Relic의 PHP 에이전트를 사용할 때 데이터 보고를 중지합니다. 운영 체제는 기본적으로 SELinux를 포함하거나 보안을 위해 환경에 추가되었습니다.
해결책
이 문제를 해결하려면 다음 옵션 중 하나를 사용하십시오.
SELinux를 사용하면 자체 보안 정책에 따라 통신을 허용하도록 사용자 지정 정책을 구성할 수 있습니다. 이 프로세스는 New Relic Support의 범위를 벗어나며 귀하의 보안 구성과 관련하여 특정 권장 사항을 제시할 수 없습니다. 그러나 다음 링크는 SELinux 정책 생성 및 수정에 대해 학습하는 데 유용한 시작점을 제공합니다.
이는 SELinux가 보고되지 않은 데이터에 대한 책임이 있는지 확인하기 위한 임시 조치로 사용될 수 있습니다.
SELinux를 허용 모드로 설정하면 서비스가 제한 없이 작동할 수 있습니다. 서버를 다시 시작하면 기본 설정이 복원됩니다.
허용 모드로 설정하려면 다음 명령을 사용하십시오.
setenforce Permissive
중요
New Relic은 보안 소프트웨어를 비활성화하도록 적극적으로 권장하지 않습니다. 그러나 최상의 결과를 얻으려면 New Relic이 완전히 작동하도록 SELinux를 구성하십시오.
SELinux를 비활성화하는 것이 서버에 대한 올바른 결정이라고 판단되면 다음 단계를 사용하여 SELinux를 영구적으로 비활성화합니다.
다음 명령어를 사용하여 SELinux sysconfig 파일을 편집합니다.
vi /etc/sysconfig/selinux
SELINUX= 설정을 찾아 다음과 같이 변경합니다.
SELINUX=disabled
설정을 적용하려면 서버를 다시 시작하십시오.
원인
에이전트의 PHP 확장 및 데몬은 기본적으로 /tmp/.newrelic.sock (Unix 소켓)을 통해 통신합니다. SELinux가 PHP 확장 및 데몬의 통신을 허용하도록 구성되지 않은 경우 SELinux가 enforcing 모드로 설정되어 있을 때 이 두 에이전트 구성요소가 서로 통신하지 못하게 됩니다.
어떤 경우에는 SELinux가 데몬이 완전히 시작되는 것을 방지할 수 있습니다. PHP 데몬을 확인하는 것은 SELinux 문제를 진단할 때 필요한 문제 해결 단계일 수 있습니다.
SELinux는 사용자 환경의 프로세스 통신을 제한하도록 설계된 보안 소프트웨어입니다. SELinux는 서버 보안의 강력한 도구입니다. 따라서 자신의 서버 환경에 맞게 구현 및 구성해야 합니다.
New Relic은 서버 보안을 구성하는 방법이나 실행을 허용하는 프로세스에 대한 결정에 영향을 미치지 않습니다. 당사는 귀하의 소프트웨어에 대한 보안 결정에 대해 책임을 지지 않습니다. 구현하기 전에 구성 설정을 검토하여 자체 보안 정책을 준수하는지 확인해야 합니다.