Nagios 利用NSClient++的check_nrpe方式使用自定义脚本监控windows

简介:

阅读目录

分类

NsClient++来监控windows主机有三种方式:check_nt、check_nrpe、nsca。check_nt自带很多功能,但是扩展性差,check_nrpe可以通过执行自己定义的脚本做到很好地扩展(官方推荐)。

原理

监控端通过check_nrpe把要监控的指令发送给被监控端,被监控端在本机执行监控任务,并把执行的结果发送回被监控端。

实现

以NSClient++0.3为例,示例的功能是监控某个进程是否运行。

1. 编辑NSClient配置文件NSC.ini,去掉以下几行前面的“;”号(去掉注释,使其生效)

1
2
3
NRPEListener.dll
script_dir=scripts\
CheckExternalScripts.dll

2. 在NSClient安装目录下的scripts文件夹下,新建一个check_run.bat批处理文件,如下  

文件名:check_run.bat

复制代码
@echo off
tasklist |find "%1" >NUL
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok

:err
echo CRITICAL: Process does not exist
exit /B 1

:ok
echo OK: The process of normal
exit /B 0
复制代码

3. 在NSC.ini文件中[External Scripts]下面添加如下行:

check_run=scripts\check_run.bat   chrome.exe

:是[External Scripts]而不是[External Script]

4. 重启NSClinet

5. 可以在被监控端check_nrpe所在的目录(CentOs默认的安装目录为:/usr/lib64/nagios/plugins/)

1
./check_nrpe -H hostip -c check_run

:-H后写刚才脚本所在的机器,-c后写命令,这里对应配置文件中的check_run

如果结果与预期的一致,那么就可以继续配置监控端了

6. 配置监控端

修改commands.cfg

增加

define command{
        command_name    check_run
        command_line    /usr/lib64/nagios/plugins/check_nrpe -H yourip -c check_run
        }

修改windows.cfg

复制代码
define service{
        use                     generic-service-urgent,srv-pnp
        host_name               youip   ;要展示信息的机器的ip
        service_description     check_fileexistspan
        check_command           check_run
        }
复制代码

效果




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/4670271.html,如需转载请自行联系原作者

相关文章
|
4月前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
239 2
|
7天前
|
存储 安全 搜索推荐
Windows之隐藏特殊文件夹(自定义快捷桌面程序)
Windows之隐藏特殊文件夹(自定义快捷桌面程序)
|
1月前
|
Windows
【Windows】 手写脚本更快编辑hosts文件
【Windows】 手写脚本更快编辑hosts文件
23 0
|
2月前
|
XML Go 数据格式
Windows自定义后台进程并设置为开机启动
可以在`Windows`上配置任意一个可执行文件后台启动,并且设置为开机启动。
Windows自定义后台进程并设置为开机启动
|
5月前
|
存储 数据可视化 数据库
InfluxData【付诸实践 01】Windows环境部署Telegraf+Influxdb+Grafana安装及使用配置(含百度云盘资源+demo脚本)
InfluxData【付诸实践 01】Windows环境部署Telegraf+Influxdb+Grafana安装及使用配置(含百度云盘资源+demo脚本)
90 0
|
5月前
|
监控 安全 API
7.2 Windows驱动开发:内核注册并监控对象回调
在笔者上一篇文章`《内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该函数`只能`监控进程与线程句柄操作,通过监控进程或线程句柄,可实现保护指定进程线程不被终止的目的。
31 0
7.2 Windows驱动开发:内核注册并监控对象回调
|
5月前
|
监控 安全 API
7.6 Windows驱动开发:内核监控FileObject文件回调
本篇文章与上一篇文章`《内核注册并监控对象回调》`所使用的方式是一样的都是使用`ObRegisterCallbacks`注册回调事件,只不过上一篇博文中`LyShark`将回调结构体`OB_OPERATION_REGISTRATION`中的`ObjectType`填充为了`PsProcessType`和`PsThreadType`格式从而实现监控进程与线程,本章我们需要将该结构填充为`IoFileObjectType`以此来实现对文件的监控,文件过滤驱动不仅仅可以用来监控文件的打开,还可以用它实现对文件的保护,一旦驱动加载则文件是不可被删除和改动的。
32 1
7.6 Windows驱动开发:内核监控FileObject文件回调
|
5月前
|
监控 安全 API
7.5 Windows驱动开发:监控Register注册表回调
在笔者前一篇文章`《内核枚举Registry注册表回调》`中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过`CmRegisterCallback`创建监控事件并传入自己的回调函数,与该创建对应的是`CmUnRegisterCallback`当注册表监控结束后可用于注销回调。
48 0
7.5 Windows驱动开发:监控Register注册表回调
|
5月前
|
监控 安全 API
7.1 Windows驱动开发:内核监控进程与线程回调
在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。
63 0
7.1 Windows驱动开发:内核监控进程与线程回调
|
5月前
|
监控 Windows
4.4 Windows驱动开发:内核监控进程与线程创建
当你需要在Windows操作系统中监控进程的启动和退出时,可以使用`PsSetCreateProcessNotifyRoutineEx`函数来创建一个`MyCreateProcessNotifyEx`回调函数,该回调函数将在每个进程的创建和退出时被调用。PsSetCreateProcessNotifyRoutineEx 用于在系统启动后向内核注册一个回调函数,以监视新进程的创建和退出,
42 0
4.4 Windows驱动开发:内核监控进程与线程创建