Cacti 自定义脚本监控

*************************************************

脚本内容:

[root@cacti scripts]# cat get_snmp_network_data.sh

#!/bin/bash

# ========================================================================================

# goldengate health plugin for Nagios

#

# Written by : dd

# Release : 1.0.0

# Creation date : 2015-02-11

# Description : Nagios plugin (script) to check uptime .

# This script has been designed and written on Linux System.

#

# USAGE :./get_snmp_network_data.sh -v 2c -c sinolife 172.28.0.42 .1.3.6.1.4.1.15227.1.5.1.1.1.0

#

# Exemple: ./get_snmp_network_data.sh

#

#

# HISTORY :

# Release | Date | Authors | Description

# --------------+---------------+----------------------+-----------------------------------

# 1.0.0 | 2015.05.18 | dd | Create the script

# -----------------------------------------------------------------------------------------

# NOTICE:

#-----------------------------------------------------------------------------------------

# You should have the root Permissions ,You can use sudo to realize .

# -----------------------------------------------------------------------------------------

# Nagios return codes

WARNING=

CRITICAL=

BRIEF=0

SILENT=0

#定义 nagios返回的状态变量

STATE_OK=0

STATE_WARNING=1

STATE_CRITICAL=2

STATE_UNKNOWN=3

# 插件描述信息

PROGNAME="check_network_data.sh"

RELEASE="Revision 1.0.0"

AUTHOR="(c) 2015 dudong"

# Functions plugin usage

# 插件的使用方法函数

print_release() {

echo "$RELEASE $AUTHOR"

}

print_usage() {

echo ""

echo "$PROGNAME $RELEASE - check network script for Nagios"

echo ""

echo "Usage: get_snmp_network_data.sh"

echo ""

echo " -com COMMUNITY"

echo ""

echo " -i IPADDR"

echo ""

echo " -o OID"

echo ""

echo " -w warning"

echo ""

echo " -c critical"

echo ""

echo " -h Show this page"

echo ""

echo ""

echo " -v check the version"

echo "Usage: $PROGNAME"

echo "Usage: $PROGNAME --help"

echo ""

exit 0

}

print_help() {

print_usage

echo ""

echo "This plugin will check network "

echo ""

exit 0

}

# 传递参数

# process args

while [ ! -z "$1" ]; do

case $1 in

-com) shift; COMMUNITY=$1 ;;

-i) shift; IPADDR=$1 ;;

-o) shift; OID=$1 ;;

-w) shift; WARNING=$1 ;;

-c) shift; CRITICAL=$1 ;;

-h) show_help; exit 1 ;;

esac

shift

done

#获取数据

#UPDATE=$( uptime | awk '{print $3}')

MESSAGE_1=$(snmpwalk -v 2c -c $COMMUNITY $IPADDR $OID | awk '{print $5}')

MESSAGE=$(echo $MESSAGE_1 | awk -F'[".]' '{print $1}')

echo " data:$MESSAGE"

#判断

#if [[ $MESSAGE -ge $CRITICAL ]]; then

# echo "Critical - data is $MESSAGE | data=$MESSAGE"

# exit $STATE_CRITICAL

#

#elif [[ $MESSAGE -ge $WARNING ]]; then

# echo "Warning - data is $MESSAGE | data=$MESSAGE"

# exit $STATE_WARNING

#

#else

# echo "OK - data is $MESSAGE | data=$MESSAGE"

# exit $STATE_OK

#

#fi

#

#

You have mail in /var/spool/mail/root

[root@cacti scripts]#

把脚本上传至cacti的screpts目录下:/var/www/html/scripts

注意修改脚本权限

测试:[root@cacti scripts]# ./get_snmp_network_data.sh -com sinolife -i 172.28.0.41 -o .1.3.6.1.4.1.15227.1.5.1.1.2.0

data:57

脚本可以根据nagios的nrpe脚本进行修改,但cacti的输出结构更简单。

变量:值 变量:值

即可!!

创建数据输入方法:

/bin/bash <path_cacti>/scripts/get_snmp_network_data.sh -com <community> -i <hostname> -o <OID>

输入字段有3个,两个可以"从主机派生",从主机派生,需要选择一下。

不能从主机派生,则需要自己输入:

输出字段一个:

创建数据模板:查询cpu的OID,红色部分注意修改。

其他的memery, session 一样方法,只是oid不同

创建图形模板:

对象:图形类型等

创建主机,然后添加图形即可。

查看数据源:

图形文件:

/var/www/html/rra/61/664.rrd

检查是否有值传进来:

[root@cacti log]# rrdtool lastupdate /var/www/html/rra/61/664.rrd

getsessiondata

1452834361: 1221

You have mail in /var/spool/mail/root

[root@cacti log]#

[root@cacti log]#

值1221 已传入rrd图形。

查看图形:

实时图形:

转载于:https://www.cnblogs.com/MichaelDD/p/5133131.html

Cacti 自定义脚本监控相关推荐

  1. zabbix监控mysql内存_zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数...

    zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数 首先,在zabbix脚本目录下添加一个脚本,写入如下代码 #!/bin/bash #license:GPL ...

  2. python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态

    目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...

  3. 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目

    案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...

  4. nagios用NsClient自定义windows监控

    Nagios用NsClient自定义windows监控 NsClient++来监控windows主机有三种方式:check_nt,check_nrpe,nsca. 相对而言,check_nrpe已经可 ...

  5. 在nagios中使用nrpe自定义脚本

    nrpe的安装     tar xvfz nrpe-2.13.tar.gz cd nrpe-2.13 ./configure make all make install-plugin make ins ...

  6. Shell脚本监控专线Network并SendEmail报警

    Much effort, much prosperity. 配置服务器监控专线网络 项目介绍: 配置一台服务器监控专线网络的情况,(由于公司业务的原因需要用到专线进行与客户对接)实时监控专线的状态,如 ...

  7. zabbix模板_基于zabbix网页配置自定义tomcat监控模板--监控项、触发器

    概述 zabbix监控tomcat只有一个zabbix-java-gateway,可以部署在zabbix-sever端也可以部署在其他机器上,需要和zabbix-server网络可达.Zabbix-J ...

  8. 【逗老师带你学IT】PRTG自定义脚本获取H3C Loadbalance负载均衡链路状态

    本文介绍如何使PRTG监控系统的自定义脚本功能,ssh登录网络设备,抓取很多snmp无法获取的监控指标. 本文主要涉及的技术点: 1.python paramiko模块应用 2.paramiko模块回 ...

  9. zabbix监控系列——自定义一个监控项并触发告警

    一.自定义一个监控项思路 模板虽好,但是不能解决所有的监控,有些需要的监控项在模板中并没有,需要我们自己定义一个监控项,如何定义一个监控项呢?大概的流程是这样的几步 1.在插件配置文件中定义一个key ...

最新文章

  1. 昨天网上感觉好冷,睡在席子上都是感觉打哈欠
  2. 「深度」线下大数据正成为构建精准“用户画像”的最大助力
  3. POJ - 3694 Network(边双缩点+LCA+并查集优化)
  4. windowns2019辅域添加
  5. 树的合并 connect
  6. [转载]c#委托事件简单例子
  7. [paper reading] 译 + 注 :如何阅读 Research Papers(Andrew Ng)
  8. jQuery学习_具备吸附功能的拖曳框
  9. JSP教程第1讲笔记
  10. NLPIR分词系统的使用
  11. win10如何强制性关闭驱动数字签名
  12. 项目管理 : 如何做好建筑工程的施工成本管理
  13. matlab弦截法例子,弦截法matlab程序
  14. 毕索大学计算机科学怎么样,毕索大学与麦吉尔大学哪个好
  15. 炫富神器 | 辣条专业国内首开,网友:中国吃货石锤了 ​!
  16. 《矩阵理论与方法》lambda矩阵及Jordan标准形
  17. 云和恩墨校园招聘开始啦!
  18. 计算机无法识别华为m3,华为平板M3青春版10.1英寸平板电脑没法充电的原因是什么_华为平板电脑没法充电故障分析...
  19. mysql查询所有图书信息_PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
  20. A. Binary Decimal acii码 字符 数字的转换 vector容器 sort 排序

热门文章

  1. mysql三锁,mysql锁机制之表锁(三)
  2. android 绑定端口号,android 获取IP端口号等地址
  3. 基于MATLAB FDATOOL的CIC滤波器设计
  4. Matlab中fileter和conv的区别及卷积的计算方法
  5. jittor和pytorch 生成网络对比之clustergan
  6. 智能交通系统无人机派罚单,人脸成为下一个人牌号,人工智能下谁敢犯规
  7. python3 tcp 通信源码
  8. python运算符重载例子
  9. 为什么三层交换机无法替代路由器?
  10. CSS3的边框(border)属性-radius