check_mk自定义监控增加性能数据图形展示

在nagios中可以实现性能图形展示,利用的是PNP4Nagios,check_mk当然也可以,而且很简单。

这篇文章在前一篇文章《check_mk自定义监控实践之powershell》的基础之前,脚本稍作修改

1、客户端process_top5.ps1

$dp = (Get-Process) | select -First 5
$ops = Get-WmiObject -Class Win32_OperatingSystem

echo `<`<`<process_top5`>`>`>    #这个输出很重要,用来告诉check_mk服务端目标客户端有哪些监控项
foreach($p in $dp){
    #输出进程名称及内存百分占比,这里为方便演示乘上50加大百分比
    Write-Host $p.name ("{0:0.0}" -f ($p.WorkingSet*50/$ops.TotalVisibleMemorySize))
}

2、监控端process_top5, 实际上只需要添加两行代码就可以实现 性能数据收集

process_top5_default_values=(20,30)

def inventory_process_top5(info):
   inventory = []
   for line in info:
      disk = line[0]
      field = float(line[1])
      inventory.append( (disk, "process_top5_default_values") )

   return inventory

def check_process_top5(item,params,info):
        warn,crit = params
        for line in info:
            if (line[0]) == item :
                celsius = float(line[1])
                perfdata = [ ( "process mem", celsius, warn, crit ) ]  #表示每次check后收集相关数据
                if celsius > crit:
                        return (2, "mem is %d %%" % celsius, perfdata)
                elif celsius > warn:
                        return (1, "mem is %d %%" % celsius, perfdata)
                else:
                        return (0, "mem is %d %%" % celsius, perfdata)
        return (3, "%s not found in agent output" % item)

check_info["process_top5"] = {
    ‘check_function‘:            check_process_top5,
    ‘inventory_function‘:        inventory_process_top5,
    ‘service_description‘:       ‘%s‘,
    ‘has_perfdata‘:              True,      #打开收集性能数据开关
}

现在打开check_mk页面,可以看到相应监控项后面已经多了个 星星的图标,点击进去就是PNP4Nagios的性能图形展示

3、check_mk还可以将实时的性能数据用图形很方便的展示在每一项的后面,即Perf-O-Meters,官方文档:http://mathias-kettner.de/checkmk_devel_agentbased.html

就像上图中“Check_MK”项,为了实现这个可能需要写些脚本,不过check_mk本身已经有了不少样式的脚本,这里我们可以利用cpu的Perf-O-Meters脚本(因为都是百分比,所以可以偷懒了)。

打开文件/usr/share/check_mk/web/plugins/perfometer/check_mk.py",找到perfometer_cpu_utilization函数,然后在底下添加一个perfometers项目

def perfometer_cpu_utilization(row, check_command, perf_data):
    util = float(perf_data[0][1]) # is already percentage
    color = "#60f020"
    return "%.0f%%" % util, perfometer_linear(util, color)

#perfometer_linear(perc, color)
perfometers["check_mk-h3c_lanswitch_cpu"] = perfometer_cpu_utilization
perfometers["check_mk-winperf_processor.util"] = perfometer_cpu_utilization
perfometers["check_mk-netapp_cpu"] = perfometer_cpu_utilization
perfometers["check_mk-cisco_cpu"] = perfometer_cpu_utilization
perfometers["check_mk-juniper_cpu"] = perfometer_cpu_utilization
perfometers["check_mk-brocade_mlx.module_cpu"] = perfometer_cpu_utilization
perfometers["check_mk-process_top5"] = perfometer_cpu_utilization   #为process_top5添加perfometers功能

重启web服务,然后就可以看到perfometers图了

check_mk自定义监控增加性能数据图形展示

时间: 2024-08-01 20:16:00

check_mk自定义监控增加性能数据图形展示的相关文章

check_mk自定义监控实践之powershell

最近在学习check_mk,这是一款基于nagios监控工具,但比nagios更易使用,引起了我的兴趣,我最关注的依然是对自定义监控脚本的支持度.在windows下的实践,其支持的客户端脚本或插件可以是 exe,bat,vbs,ps1等,我采用powershell来编写监控脚本. 本文适合对check_mk有一定了解的人,关于check_mk的介绍和搭建,请点击查看:手把手打造开源新监控利器check_mk 另外如果觉得这篇文章描述不够清晰,可以参考官方文档:http://mathias-ket

Zabbix自定义监控MySQL性能状态

环境是CentOS 6.5 x86_64系统 Zabbix版本:3.0.4 MySQL Server 版本:5.6.29 二进制安装 zabbix_agentd.conf的配置文件如下: [[email protected] alertscripts]# cat  /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v '^#' | grep -v '^$'LogFile=/tmp/zabbix_agentd.logEnableRemoteComma

Python监控进程性能数据并画图保存为PDF文档

引言 利用psutil模块(https://pypi.python.org/pypi/psutil/),可以很方便的监控系统的CPU.内存.磁盘IO.网络带宽等性能參数,下面是否代码为监控某个特定程序的CPU资源消耗.打印监控数据,终于画图显示,而且保存为指定的 PDF 文档备份. 示范代码 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' Copyright (C) 2015 By Thomas Hu. All rights reserved.

Cacti 模板(图形模板、数据模板、主机模板)与自定义监控脚本

Cacti定义了三种类型的模板,分别是 主机模板 数据模板 图形模板     主机模板(Host templates),它是图像模板和数据查询的一个集合,描述了监控某一类型的机器需要生成那些图像. 数据模板(Data templates),它描述了 Cacti 存储哪些数据到指定类型的 RRD 文件.该模板与 RRDTool 工具的 create 命令相关. 图形模板(Graph templates),描述了生成的一张图像应该是什么样子的.包括使用哪些数据模板.展示哪些元素.是否使用 CDEF

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt

关于 vSphere 监控和性能

关于 vSphere 监控和性能 VMware 提供了几个工具,可帮助你监控虚拟环境,并找到潜在问题和当前问题的原因所在. vSphereClient 中的性能图表:可查看多种系统资源(包括CPU.内存.存储等等)的性能数据. 性能监控命令行实用程序:可通过命令行访问系统性能的详细信息. 主机健康状况:可快速识别处于健康状态的主机和出现问题的主机. 存储映射和图表:可深入了解存储资源. vSphereClient 中的事件.警示和警报:可配置警示和警报并指定触发警示和警报时系统应采取的操作. 使

【No.2】监控Linux性能25个命令行工具

接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的 mpstat -P ALL 1 Linux 3.13.0-75-generic (lnmp)  06/25/2016  _x86_64_ (2 CPU) 02:28:59 PM  CPU    %usr   %nice    %sys %iowait    %irq   %s

LR如何利用siteScope监控MySQL性能

本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope工具监控MySQL数据库性能: 一.在网上下载siteScope 我在网上搜了很久,发现siteScope软件的下载资源很少,毕竟它是收费的,想找个破解版,不过还是有的,哈哈...但是版本旧了点siteScope7.9.5 下载地址:http://download.csdn.net/detail/y

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能