nagios用NsClient自定义windows监控-程序员宅基地

技术标签: 运维  

Nagios用NsClient自定义windows监控

NsClient++来监控windows主机有三种方式:check_nt,check_nrpe,nsca.

相对而言,check_nrpe已经可以满足大部分的监控任务要求了。


这三种方式在nsclient的PDF中说的很详细,但全是E文,根据我自己的部署过程,边做边写下自己理解:


check_nt的使用方法:


这是NsClient++默认的使用方法,但是他可以监控的功能比较基础,应该说是一种用于上手的监控手段吧。


语法: check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout] 选项: -h, --help 显示帮助

-V, --version 显示版本信息

-H, --hostname=HOST 被监控主机名称或IP

-p, --port=INTEGER 监控端口(默认为1248,不过我的nagios安装后端口为12489)

-s, --secret=<password> 要求的密码

-w, --warning=INTEGER 引发报警状态的阀值

-c, --critical=INTEGER引发严重错误状态的阀值

-t, --timeout=INTEGER 连接尝试超时秒数 (默认 -l, --params=<parameters> 参数传递给指定的监控项 (见下文) 

-d, --display={SHOWALL}显示选项(目前仅支持SHOWALL) 

-u, --unknown-timeout多长时间后返回 UNKNOWN)

-v, --variable=STRING 监控参数 监控参数: CLIENTVERSION = Get the NSClient version 如果用 -l <version> 指定版本号,则版本不同时会报警

CPULOAD = 最后X分钟CPU的平均负载。

-l 格式为:-l <minutes range>,<warning threshold>,<critical threshold>。 时间范围不能超过 24*60分钟

阀值是一个百分比,最多一次可以监控10个阀值,比如: ie: -l 60,90,95,120,90,95

UPTIME = 获得主机开机时间。无指定参数,也没有报警与错误阀值

USEDDISKSPACE = 指定磁盘的使用率。只要求 -l 指定磁盘的驱动器号。用-w 指定报警阀值 用-c指定错误阀值

MEMUSE = 内存使用率。用-w 指定报警阀值 用-c指定错误阀值

SERVICESTATE = 监控一个或多个服务的状态。-l 格式为:-l <service1>,<service2>,<service3>,...。可以使用-d SHOWALL指定返回某个服务的状态。

PROCSTATE = 监控某个或某几个进程是否在运行。命令格式类似于SERVICESTATE

COUNTER = 监控Windows NT/2000的任何性能计数器。

-l 格式为:-l "\\<performance object>\\counter","<描述>“ 描述参数是可选的仅用于要求输出浮点数的计数器。

如果<描述>内容中不包含"%%",那它就做为标 题显示。例如:"Paging file usage is %%.2f %%%%""%%.f %%%% paging file used."

    对于计数器中包含“\","$"字符的最好都用上转值符号”\",以保证计数器名称正确。

INSTANCES = 监控Windows NT/2000的任何性能计数器对象。

格式: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object> <counter object>为一项性能计数器 (比如: Process),如果计数器名称有两个单词,需要用括号括起来。返加的结果为用逗号分开的各计数器数据列表。

这样做的目的在于不登录进系统就可以在命令行下直接运行perfmon中的指定计数器。它也可以用做脚本自动创建Nagios服务配置文件。

例子:check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process

以下是nagios的windows.cfg中使用check_nt的监控例子:

#定义要被监控的windows主机名与主机的IP地址

define host{
use             windows-server  
host_name       ruanxi          
alias           My Windows Server
address         192.168.0.5     
}

#定义一个主机名组(可以不用管它)
define hostgroup{
hostgroup_name  windows-servers
alias           Windows Servers
}

#检查windows主机是否已经安装了NSClient++,及它的版本号
define service{
use                     generic-service
host_name               ruanxi
service_description     NSClient++ Version
check_command           check_nt!CLIENTVERSION
}

#监控 windows 主机的开机运作时间
define service{
use                     generic-service
host_name               ruanxi
service_description     Uptime
check_command           check_nt!UPTIME
}

#监控 windows 主机的 CPU 负载
define service{
use                     generic-service
host_name               ruanxi
service_description     CPU Load
check_command           check_nt!CPULOAD!-l 5,80,90    #CPU如果到达80%则报警,到达90%则警笛
}

#监控 windows 主机的内存使用状况 
define service{
use                     generic-service
host_name               ruanxi
service_description     Memory Usage
check_command           check_nt!MEMUSE!-w 80 -c 90  #内存使用到达80%则warn,到达90%则Critical
}

#监控 windows 主机的 C:\ 的空间使用量 
define service{
use                     generic-service
host_name               ruanxi
service_description     C:\ Drive Space
check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

#监控 windows主机的W3SVC设置的动作状况
define service{
use                     generic-service
host_name               ruanxi
service_description     W3SVC
check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}

#监控 windows 主机的 Explorer.exe 执行程序的运作状况,如程序终止了,则会发 CRITICA
define service{
use                     generic-service
host_name               ruanxi
service_description     Explorer
check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

#监控 windows 主机的 MSSQLSERVER 服务的运作状况,如服务终止了,则会发 CRITICAL 
define service{
use                     generic-service
host_name               ruanxi
service_description     MSSQL
check_command           check_nt!SERVICESTATE!-d SHOWALL -l MSSQLSERVER 
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33997389/article/details/86177444

智能推荐

webRTC——音频处理流程图_音频流流程图-程序员宅基地

文章浏览阅读545次。转自:webRTC——音频处理流程图_bingshanzhu的博客-程序员宅基地_音频处理流程图_音频流流程图

Vue3 _ 20. Vue 多组件沟通 - Pubsub 消息组件_vue3 pubsub-程序员宅基地

文章浏览阅读1.1k次。我们之前说了这个父子组件的数据沟通,但是相伴而来的其实还有别的问题,好比我们现在想要三个或者三个以上的组件同时去进行沟通,那么我们这个如何去完成呢?如果我们还用之前的方式进行沟通,那这个代码量是真的多,所以我们这里可以使用一种组件,叫 pubsub.js官网地址:https://www.npmjs.com/package/pubsub-js一、安装想要使用这个 pubsub.js 我们首先第一步是需要安装它(默认是没有这玩意的),我们直接打开官网,它里面有命令进行安装~npm inst_vue3 pubsub

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)_使用s3 browser访问oci object storage-程序员宅基地

文章浏览阅读1.5k次,点赞25次,收藏18次。在现代云计算环境中,S3(Simple Storage Service)协议已经成为云对象存储的事实标准。它提供了简单、可扩展、高度耐用的存储解决方案,得到了广泛应用。Oracle Cloud Infrastructure(OCI)秉承着开放性和灵活性的理念,为用户提供了兼容AWS S3协议的对象存储服务。本文将介绍如何使用 boto3,AWS SDK for Python,通过S3协议访问OCI对象存储。能够在多云环境中实现高度的可移植性,利用协议的兼容性轻松构建跨云的存储方案。_使用s3 browser访问oci object storage

软件测试工程师必备的SQL语句基础_软件测试工程师对数据库使用的常见命令-程序员宅基地

文章浏览阅读875次,点赞26次,收藏9次。为一个,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在工作过程中整理的比较常用的。_软件测试工程师对数据库使用的常见命令

使用flask db migrate 抛出异常 raise KeyError(key),KeyError: ‘formatters‘_fastapi sls keyerror: 'formatters-程序员宅基地

文章浏览阅读188次。在重新 使用flask db init 初始化 生成migrations文件夹 在使用 flask db migrate 一切就ok!所以索性直接删除 项目下migrations文件夹和删除数据库 alembic_version表。首先 我在网上看到很多 是找不到日志等原因 修改日志的读取路径 但是我没有找到所要修改的代码。_fastapi sls keyerror: 'formatters

DDR3芯片读写控制及调试总结 — Xilinx FPGA(MIS)_xilinx ddr3 原理图设计-程序员宅基地

文章浏览阅读9.6k次,点赞6次,收藏90次。目录 DDR3芯片读写控制及调试总结1. 器件选型及原理图设计 (1) 由于是直接购买现成的开发板作为项目前期开发调试使用,故DDR3芯片已板载,其型号为MT41J256M16HA-125,美光公司生产的4Gb容量DDR3芯片。采..._xilinx ddr3 原理图设计

随便推点

How to develop a plugin module for vlc player-程序员宅基地

文章浏览阅读396次。VLC是通过模块来扩展它的功能,插件一般就是实现一个模块。VLC Modules插件开发必须实现的接口 (1) open() close() ;(2)功能相关的接口。Modules中有变量,可以create/set 这个变量值。我们还可以设置callback监控函数来监控这个变量,一旦这个变量改变,这个callback函数就会被调用。Module间就是通过这种Observer模式来实现模块间的通信

OpenJudge[计算邮资]之满分代码_计算邮资c语言怎么写openjudge-程序员宅基地

文章浏览阅读929次。OpenJudge[计算邮资]之满分代码#include<iostream>#include<cmath>using namespace std;int main(){ int a,g; char b; cin>>a>>b; if(a<=1000) a=8; else if(a>1000) a=8+ceil((a..._计算邮资c语言怎么写openjudge

Vue-router在cdn和vue-cli两种状态下的用法_vuerouter cdn-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏5次。在cdn的状态下,可以直接导入vue.js和vue-router.js两个主js模块实现直接使用<head> <meta charset="utf-8"> <title>vueDemo--非cli</title> <!-- vue源文件 --> <script src="https://cdn.jsdelivr.n..._vuerouter cdn

基于STM32单片机智能家居安防电子哨兵热释语音蓝牙设计20-120-程序员宅基地

文章浏览阅读139次。20-120、STM32便携式可移动电子哨兵设计-热释-RELAY-KEY-LED-蓝牙-ISD1820产品功能描述:本设计由STM32F103C8T6单片机核心板电路+热释人体红外传感器电路+ISD1820语音模块电路+继电器控制电路+按键电路+LED指示灯电路+蓝牙模块电路组成。1、如果热释人体红外传感器检测是否有人。2、通过继电器模拟摄像头功能。3、通过按键可以选择布防和撤防模式以及常开模式。布防模式(指示信号灯只有红灯亮):如果热释红外模块检测到有人,则语音播报,红灯闪烁,继电器闭合。且系统通过蓝牙

FPGA常见问题解决方法_drc mdrv-1-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏23次。1、如何例化IP2、IP怎么调用///////////////// 调用 PLL IP ///////////////////// // 功能说明:程序中先用实例化 clk_wiz_0, 把单端 50Mhz 时钟信号输入到 clk_wiz_0 的 clk_in1,把clk_out4 的输出赋给 clk_out。 clk_wiz_0 clk_wiz_0_inst ( // clock in ports .clk_in1(sys_clk), /_drc mdrv-1

云服务器跑虚拟机吗,云服务器运行虚拟机吗-程序员宅基地

文章浏览阅读2.6w次。云服务器运行虚拟机吗 内容精选换一换本节操作介绍在Windows和Linux环境中使用SSH密码方式远程登录Linux云耀云服务器的操作步骤。云耀云服务器状态为“运行中”。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开放22端口,配置方式请参见配置安全组规则。使用的登录工具(如PuTTY)与待登录的云服务器之间网络连通。例如,默认的22端口没有被防火墙屏蔽。如果本地采用XEN虚拟化技术的L..._云服务器运行虚拟机