huangfen2002 发表于 2019-1-16 07:03:24

nagios通过ssh监控linux客户端

  叙述:需要的准备,nagios及nagios plugin的安装;shell脚本的编写;ssh自动登录配置;

1、nagios及nagios plugin的安装;(此处省略,网上教程比较多)
2、shell脚本的编写,脚本可以按照nagios的接口标准编写,这样可以是实现报警等状态,该脚本放到客户端路径下:以获取客户端用户数为例,超过3个则警告:



[*]#!/bin/sh
[*]
[*]STATE_OK=0
[*]STATE_WARNING=1
[*]STATE_CRITICAL=2
[*]STATE_UNKOWN=3
[*]STATUS=`/usr/bin/who | wc -l`
[*]
[*]if (($STATUS>=0 && $STATUS 3));then
[*]    echo "Warning too many users -- $STATUS"
[*]    exit $STATE_WARNING
[*]else
[*]    echo "Status Bad -- UNKOWN"
[*]    exit $STATE_CRITICAL
[*]fi


[*]以下脚本放到nagios服务端的路径下:
[*]/usr/local/nagios/libexec/user_current.sh
[*]
[*]$! 实现参数传递,可接收客户端IP地址
[*]#!/bin/sh
[*]ssh -p 22 root@$1/root/current.sh    // 这里的/root/current.sh是客户端shell文件                                    // 的路径
[*]
[*]注意好文件的权限chown nagios.nagios /usr/local/nagios/libexec/user_current.sh
[*]
[*]增加commands.cfg参数
[*]define command{
[*]      command_name    user_current.sh
[*]      command_line    $USER1$/user_current.sh $HOSTADDRESS$
[*]      }
[*]
[*]增加service
[*]define service{
[*]    use                  generic-service
[*]    host_name            node02
[*]    service_descriptioncurrent_user
[*]    check_command      user_current.sh
[*]}

3、ssh自动登录配置,记着通过nagios用户设置,要不然nagios端会返回 255 code错误
4、/etc/init.d/nagios restart重启服务,查看监控条目。

http://blog.运维网.com/attachment/201204/165935105.jpg




页: [1]
查看完整版本: nagios通过ssh监控linux客户端