내 Linux 시스템은 비표준 SSH 포트를 사용합니다. check_ssh
물론 Nagios는 해당 포트에 연결할 수 없기 때문에 프로세스를 계속 중요로 표시합니다. 개체 파일을 사용하면 localhost.cfg
매개변수를 에 전달할 수 있습니다 check_ssh
.
설명서에서는 다음 예제를 사용합니다.
을 위한...
/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60%
...사용:
define service{
host_name linuxbox
service_description PING
check_command check_ping!200.0,80%!400.0,40%
...
}
그러나 매개변수가 전달되는 순서는 설명되지 않습니다. 내 localhost.cfg
시도에서 :
check_ssh!xxx22!localhost
그리고
check_ssh!4!10!OpenSSH_6.7p1!!xxx22!localhost
...여기서 xxx22는 실제 포트입니다. 하지만 포트로 인식하지 못합니다.
check_ssh
매뉴얼 페이지를 보면 이러한 스위치를 어떤 순서로 배치하는지 알 수 없는 것 같습니다...
The check_ssh Plugin
check_ssh v2.2.1.git (nagios-plugins 2.2.1)
Copyright (c) 1999 Remi Paulmier <[email protected]>
Copyright (c) 2000-2014 Nagios Plugin Development Team
<[email protected]>
Try to connect to an SSH server at specified server and port
Usage:
check_ssh [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>
Options:
-h, --help
Print detailed help screen
-V, --version
Print version information
--extra-opts=[section][@file]
Read options from an ini file. See
https://www.nagios-plugins.org/doc/extra-opts.html
for usage and examples.
-H, --hostname=ADDRESS
Host name, IP Address, or unix socket (must be an absolute path)
-p, --port=INTEGER
Port number (default: 22)
-4, --use-ipv4
Use IPv4 connection
-6, --use-ipv6
Use IPv6 connection
-t, --timeout=INTEGER:<timeout state>
Seconds before connection times out (default: 10)
Optional ":<timeout state>" can be a state integer (0,1,2,3) or a state STRING
-r, --remote-version=STRING
Alert if string doesn't match expected server version (ex: OpenSSH_3.9p1)
-P, --remote-protocol=STRING
Alert if protocol doesn't match expected protocol version (ex: 2.0)
-v, --verbose
Show details for command-line debugging (Nagios may truncate output)
Send email to [email protected] if you have questions regarding use
of this software. To submit patches or suggest improvements, send email to
[email protected]
답변1
명령을 정의하고 서비스에서 사용할 수 있습니다.
define command{
command_name check_ssh_2222
command_line /usr/lib/nagios/plugins/check_ssh -p 2222 $ARG1
}
그런 다음 귀하의 서비스에서:
check_command check_ssh_2222
답변2
내 /etc/nagios/objects/commands.cfg
상태
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
제공한 문서 예제에 표시된 것처럼 느낌표 사이의 매개변수를 정의합니다. 그것은 또한 우리에게 말해준다
define command{
command_name check_ssh
command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}
내 생각엔 당신의 입장은 다음과 같아야 할 것 같아요
check_ssh!--port=xxx22
--port=$ARG1$
정의에서와 같이 포트를 지정하는 사전 정의된 매개변수 는 없고 일반 자리 표시자만 있기 때문입니다 .
편집: nagios가 이를 적절한 호스트 IP/이름 check_ssh!...
으로 대체하므로 localhost가 라인의 일부가 되어야 한다고 생각하지 않습니다 .$HOSTADDRESS$