PHP는 오픈 소스 Nagios 네트워크 모니터링 도구를 구현합니다.

王林
풀어 주다: 2023-06-18 16:14:01
원래의
1054명이 탐색했습니다.

Nagios는 네트워크, 서버 및 애플리케이션의 실행 상태를 모니터링하는 데 사용되는 오픈 소스 네트워크 모니터링 도구입니다. 이는 네트워크 이상, 오류 및 성능 문제를 감지하고 보고하여 시스템 관리자가 시스템 충돌을 방지하기 위해 시기적절한 조치를 취하는 데 도움을 줍니다.

본 글에서는 PHP 언어를 사용하여 오픈소스 Nagios 네트워크 모니터링 도구를 구현하는 방법을 소개하고, 이를 실제 환경에 적용하는 방법에 대해 논의하겠습니다.

1. PHP 및 Nagios 설치

시작하기 전에 PHP 및 Nagios를 설치해야 합니다. PHP는 플러그인, 뷰 및 기타 웹 인터페이스를 작성하기 위해 Nagios와 함께 사용할 수 있는 널리 사용되는 웹 프로그래밍 언어입니다. PHP 공식 홈페이지(https://www.php.net/)에서 설치 프로그램을 다운로드한 후 안내에 따라 설치하시면 됩니다. Nagios도 인기 있는 네트워크 모니터링 도구입니다. Nagios 공식 웹사이트(https://www.nagios.org/)에서 설치 프로그램을 다운로드하여 지침에 따라 설치할 수 있습니다.

2. Nagios 플러그인 작성

Nagios 플러그인은 네트워크 장치 및 애플리케이션을 감지하는 데 사용되는 프로그램입니다. PHP로 플러그인을 작성하고 Nagios 플러그인 디렉토리에 저장할 수 있습니다. 다음은 HTTP 서버를 감지하기 위한 간단한 PHP 플러그인 예입니다.

#!/usr/bin/php
<?php
$host = $argv[1];
$port = $argv[2];

$timeout = 5;

$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$fp) {
    echo "CRITICAL - Cannot connect to $host:$port
";
    exit(2);
}

$request = "GET / HTTP/1.0

";
fwrite($fp, $request);
$response = fgets($fp, 4096);

fclose($fp);

if (strpos($response, "200 OK") === false) {
    echo "CRITICAL - HTTP server did not respond with 200 OK status
";
    exit(2);
}

echo "OK - HTTP server is responding
";
exit(0);
?>
로그인 후 복사

위 플러그인은 HTTP 서버의 상태를 감지하고 먼저 호스트 및 포트 번호에 연결을 시도하며, 연결이 실패하면 플러그인은 "CRITICAL" 상태를 반환합니다. . 연결이 성공하면 HTTP 요청이 서버로 전송됩니다. 서버 응답 상태 코드가 "200 OK"이면 플러그인은 "OK" 상태를 반환합니다. 그렇지 않으면 플러그인이 "CRITICAL" 상태를 반환합니다.

3. Nagios 구성

PHP와 Nagios를 설치하고 구성한 후에는 Nagios 모니터링에 대한 플러그인을 구성해야 합니다. Nagios 구성 파일에 다음 행을 추가하여 PHP 플러그인을 추가할 수 있습니다:

define command{
    command_name    check_http_php
    command_line    /usr/local/bin/php /usr/local/nagios/libexec/check_http_php.php $ARG1$ $ARG2$
}
로그인 후 복사

위는 "check_http_php.php" 플러그인과 두 매개변수 "$ARG1$" 및 ""를 사용하는 "check_http_php"라는 명령을 정의합니다. $ARG2" $".

이 명령을 Nagios 모니터링과 함께 사용하려면 서비스를 이 명령과 연결해야 합니다. 다음 Nagios 구성 파일을 사용하여 다음 줄을 추가할 수 있습니다.

define service{
    use                generic-service
    host_name          localhost
    service_description HTTP
    check_command      check_http_php!localhost!80
}
로그인 후 복사

위에서는 로컬 호스트의 HTTP 포트를 모니터링하고 "check_http_php" 명령을 사용하여 이를 감지하는 "HTTP"라는 서비스를 정의합니다.

4. Test

위 구성을 완료한 후 PHP에 구현된 Nagios 네트워크 모니터링 도구가 정상적으로 작동하는지 테스트할 수 있습니다. 명령줄에서 다음 명령을 실행하여 HTTP 서버의 상태를 확인할 수 있습니다.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_http_php!localhost!80
로그인 후 복사

모든 것이 정상이면 HTTP 상태를 설명하는 메시지가 반환되어야 합니다.

5. 요약

이제 PHP 언어를 사용하여 오픈 소스 Nagios 네트워크 모니터링 도구를 구현하는 방법을 배웠습니다. 플러그인 및 구성 파일을 작성하면 네트워크 장치 및 애플리케이션의 상태를 모니터링하고 문제 해결을 위한 즉각적인 조치를 취할 수 있습니다. 실제 애플리케이션에서는 필요와 시나리오에 따라 사용자 정의하고 확장할 수 있습니다.

위 내용은 PHP는 오픈 소스 Nagios 네트워크 모니터링 도구를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿