Nagios-애드온 / 플러그인
플러그인은 Nagios를 사용하여 데이터베이스, 운영 체제, 애플리케이션, 네트워크 장비, 프로토콜을 모니터링하는 데 도움이됩니다. 플러그인은 서버와 호스트를 모니터링하기 위해 Nagios 기능을 확장하는 컴파일 된 실행 파일 또는 스크립트 (Perl 또는 비 Perl)입니다. Nagios는 서비스 또는 호스트의 상태를 확인하기 위해 플러그인을 실행합니다. Nagios는 Perl 플러그인을 실행하기 위해 내장 된 Perl 인터프리터 지원으로 컴파일 할 수 있습니다. 그것이 없으면 Nagios는 플러그인을 외부 명령으로 포크하고 실행하여 Perl 및 비 Perl 플러그인을 실행합니다.
Nagios 플러그인 유형
Nagios에는 다음과 같은 플러그인이 있습니다.
Official Nagios Plugins− 50 개의 공식 Nagios 플러그인이 있습니다. 공식 Nagios 플러그인은 공식 Nagios 플러그인 팀에서 개발 및 유지 관리합니다.
Community Plugins − 수백 명의 Nagios 커뮤니티 회원이 개발 한 3,000 개 이상의 타사 Nagios 플러그인이 있습니다.
Custom Plugins− 자신 만의 맞춤형 플러그인을 작성할 수도 있습니다. 사용자 정의 플러그인을 작성하려면 따라야하는 특정 지침이 있습니다.
맞춤형 Nagios 플러그인 작성 지침
Nagios에서 사용자 정의 플러그인을 작성하는 동안 아래 주어진 지침을 따라야합니다.
- 플러그인은 "-V"명령 줄 옵션을 제공해야합니다 (구성 변경 사항 확인).
- 한 줄의 텍스트 만 인쇄
- 진단 및 도움말 메시지의 일부만 인쇄
- 네트워크 플러그인은 DEFAULT_SOCKET_TIMEOUT을 사용하여 시간 초과
- "-v"또는 "--verbose"는 상세 수준과 관련이 있습니다.
- "-t"또는 "--timeout"(플러그인 시간 초과);
- "-w"또는 "--warning"(경고 임계 값);
- "-c"또는 "--critical"(임계 임계 값);
- "-H"또는 "--hostname"(확인할 호스트 이름)
여러 Nagios 플러그인이 동시에 실행되고 검사를 수행하며, 모두 원활하게 실행되도록 Nagios 플러그인은 상태 코드를 따릅니다. 아래 표는 종료 코드 상태와 설명을 알려줍니다.
종료 코드 | 상태 | 기술 |
---|---|---|
0 | 확인 | 잘 작동 |
1 | 경고 | 잘 작동하지만주의가 필요합니다. |
2 | 위독한 | 제대로 작동하지 않음 |
삼 | 알 수 없는 | 플러그인이 호스트 / 서비스의 상태를 확인할 수없는 경우 |
Nagios 플러그인은 구성 옵션을 사용합니다. 다음은 Nagios 플러그인에서 허용하는 몇 가지 중요한 매개 변수입니다.
Sr. 아니요 | 옵션 및 설명 |
---|---|
1 | -h, --help 이것은 도움을 제공합니다 |
2 | -V, --version 이것은 플러그인의 정확한 버전을 인쇄합니다 |
삼 | -v, --verbose 이렇게하면 플러그인이 수행중인 작업에 대한 자세한 정보를 제공합니다. |
4 | -t, --timeout 시간 제한 (초)을 제공합니다. 이 시간이 지나면 플러그인은 위험 상태를보고합니다. |
5 | -w, --warning 경고 상태에 대한 플러그인 별 제한을 제공합니다. |
6 | -c, --critical CRITICAL 상태에 대한 플러그인 별 제한을 제공합니다. |
7 | -H, --hostname 통신 할 호스트 이름, IP 주소 또는 Unix 소켓을 제공합니다. |
8 | -4, --use-ipv4 이를 통해 네트워크 연결에 IPv4를 사용할 수 있습니다. |
9 | -6, --use-ipv6 이를 통해 네트워크 연결에 IPv6를 사용할 수 있습니다. |
10 | -p, --port TCP 또는 UDP 포트에 연결하는 데 사용됩니다. |
11 | -s, -- send 이것은 서버로 보낼 문자열을 제공합니다. |
12 | -e, --expect 서버에서 다시 보내야하는 문자열을 제공합니다. |
13 | -q, --quit 연결을 종료하기 위해 서버로 보낼 문자열을 제공합니다. |
Nagios 플러그인 패키지에는 호스트와 서비스가 인프라를 모니터링 할 수있는 많은 검사가 있습니다. 몇 가지 검사를 수행하기 위해 Nagios 플러그인을 사용해 보겠습니다.
SMTP는 이메일 전송에 사용되는 프로토콜입니다. Nagios 표준 플러그인에는 SMTP 검사를 수행하는 명령이 있습니다. SMTP에 대한 명령 정의-
define command {
command_name check_smtp
command_line $USER2$/check_smtp -H $HOSTADDRESS$
}
Nagios 플러그인을 사용하여 MySQL을 모니터링하겠습니다. Nagios는 MySQL 모니터링을위한 2 개의 플러그인을 제공합니다. 첫 번째 플러그인은 mysql 연결이 작동하는지 확인하고 두 번째 플러그인은 SQL 쿼리를 실행하는 데 걸리는 시간을 계산하는 데 사용됩니다.
둘 다에 대한 명령 정의는 다음과 같습니다.
define command {
command_name check_mysql
command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
$ARG3$ -S –w 10 –c 30
}
define command {
command_name check_mysql_query
command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
$ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$
}
Note − 사용자 이름, 암호 및 데이터베이스 이름은 두 명령 모두에서 인수로 필요합니다.
Nagios는 모든 파티션에 마운트 된 디스크 공간을 확인하는 플러그인을 제공합니다. 명령 정의는 다음과 같습니다.
define command {
command_name check_partition
command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$
}
대부분의 검사는 표준 Nagios 플러그인을 통해 수행 할 수 있습니다. 그러나이를 모니터링하기 위해 특별한 검사가 필요한 응용 프로그램이 있습니다.이 경우 응용 프로그램에 대해보다 정교한 검사를 제공하는 타사 Nagios 플러그인을 사용할 수 있습니다. Nagios exchange에서 타사 플러그인을 사용하거나 다른 웹 사이트에서 플러그인을 다운로드 할 때 보안 및 라이선스 문제에 대해 아는 것이 중요합니다.