มอนิเตอร์ ssh บนพอร์ตที่ไม่ใช่ค่าเริ่มต้นด้วย Nagios


10

ฉันเพิ่งปรับใช้ Nagios บนเซิร์ฟเวอร์ Gentoo และทุกอย่างเรียบร้อยยกเว้น ssh ซึ่งทำเครื่องหมายว่า "สำคัญ" เพราะปฏิเสธการเชื่อมต่อ แต่นั่นเป็นเพราะมันทำงานบนพอร์ตที่แตกต่างจากค่าเริ่มต้น 22 ฉันจะเปลี่ยนมันเพื่อให้มันตรวจสอบพอร์ตที่ถูกต้องได้อย่างไร

คำตอบ:


6
host:~$ /usr/lib/nagios/plugins/check_ssh --help
check_ssh v1991 (nagios-plugins 1.4.12)
Copyright (c) 1999 Remi Paulmier <remi@sinfomic.fr>
Copyright (c) 2000-2007 Nagios Plugin Development Team
        <nagiosplug-devel@lists.sourceforge.net>

Try to connect to an SSH server at specified server and port


Usage:check_ssh [-46] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

สิ่งนี้จะตอบคำถามของคุณ? -p พารามิเตอร์ให้คุณระบุพอร์ตทำการเช็กอินที่กำหนดเองใน /etc/nagios/nrpe.cfg และวางไว้ที่นั่น:

command[check_remote_ssh]= /usr/lib/nagios/plugins/check_ssh -p 1234 some.host

1
มันได้ผล! ในกรณีของฉันมันเป็นท้องถิ่นในcheck_ssh /etc/nagios/objects/commands.cfgขอบคุณสำหรับความช่วยเหลือของคุณ :)
เดอร์ S Ribeiro

15

ใน ssh pluging config /etc/nagios-plugins/config/ssh.cfg มีนามแฝงชื่อ check_ssh_port หากไม่มีอยู่คุณอาจนิยามเหมือนด้านบน:


$ cat >> /etc/nagios-plugins/config/ssh.cfg
define command{
        command_name    check_ssh_port
        command_line    /usr/lib/nagios/plugins/check_ssh -p '$ARG1$' '$HOSTADDRESS$'
        }

ในไฟล์บริการ /etc/nagios3/conf.d/services_nagios2.cfg ให้กำหนดบริการ ssh เพื่อตรวจสอบดังนี้:


define service {
        hostgroup_name                  ssh2-servers
        service_description             SSH2
        check_command                   check_ssh_port!12000!server
        use                             generic-service
        notification_interval           240 ; set > 0 if you want to be renotified
}
แทนที่ 12000 โดยคุณใช้พอร์ต ssh และเซิร์ฟเวอร์ตามเป้าหมาย


+1 ได้รับการเขียนอย่างดีสำหรับ nagios เวอร์ชันล่าสุด (ในขณะนี้)
cwd

6

เนื่องจากวิธีการแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉันฉันจะโพสต์ชุดรูปแบบขนาดเล็กนี้

คำจำกัดความนี้เป็นค่าเริ่มต้นหนึ่ง (เช่น:) localhost.cfgด้วยการเพิ่มตัวเลือก -p เท่านั้นและช่องว่างระหว่าง

ฉันเดาว่ามันเป็นรุ่นไฮบริดของโซลูชันสองตัวที่ได้รับ

ใช้งานได้กับ Nagios Core 4 พร้อม nagios-plugins 2.1.1

define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             SSH
        check_command                   check_ssh!-p 12345
        notifications_enabled           1
        }

นอกจากนี้ยังสามารถเปลี่ยน / กำหนดค่าในเว็บอินเตอร์เฟส Nagios4: ระบบ -> การกำหนดค่าจากนั้นผนวกเครื่องหมายอัศเจรีย์และตัวเลือกบรรทัดคำสั่งcheck_ssh!-p 123456ตัวอย่างเช่น
ILMostro_7

3

คุณยังสามารถกำหนดพารามิเตอร์ที่สอง "เซิร์ฟเวอร์" ในพารามิเตอร์ host_name ด้วยวิธีนี้:

    define host{
        use                     generic-host            ; Name of host template to use
        host_name               host
        alias                   host
        address                 92.193.170.124
}


# Define a service to check if ssh services are running
define service {
        use                     generic-service         ; Name of service template to use
        host_name               host
        service_description     SSH Port 4959
        check_command           check_ssh_port!4959
        notification_interval   0 ; set > 0 if you want to be renotified
}

ดังนั้นหากที่อยู่ของโฮสต์เปลี่ยนแปลงคุณจะต้องแก้ไขพารามิเตอร์นี้เพียงครั้งเดียวสำหรับบริการทั้งหมดที่กำหนดไว้สำหรับโฮสต์นี้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.