Cacti 自定义脚本监控
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 自定义脚本监控相关推荐
- zabbix监控mysql内存_zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数...
zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数 首先,在zabbix脚本目录下添加一个脚本,写入如下代码 #!/bin/bash #license:GPL ...
- python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...
- 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目
案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...
- nagios用NsClient自定义windows监控
Nagios用NsClient自定义windows监控 NsClient++来监控windows主机有三种方式:check_nt,check_nrpe,nsca. 相对而言,check_nrpe已经可 ...
- 在nagios中使用nrpe自定义脚本
nrpe的安装 tar xvfz nrpe-2.13.tar.gz cd nrpe-2.13 ./configure make all make install-plugin make ins ...
- Shell脚本监控专线Network并SendEmail报警
Much effort, much prosperity. 配置服务器监控专线网络 项目介绍: 配置一台服务器监控专线网络的情况,(由于公司业务的原因需要用到专线进行与客户对接)实时监控专线的状态,如 ...
- zabbix模板_基于zabbix网页配置自定义tomcat监控模板--监控项、触发器
概述 zabbix监控tomcat只有一个zabbix-java-gateway,可以部署在zabbix-sever端也可以部署在其他机器上,需要和zabbix-server网络可达.Zabbix-J ...
- 【逗老师带你学IT】PRTG自定义脚本获取H3C Loadbalance负载均衡链路状态
本文介绍如何使PRTG监控系统的自定义脚本功能,ssh登录网络设备,抓取很多snmp无法获取的监控指标. 本文主要涉及的技术点: 1.python paramiko模块应用 2.paramiko模块回 ...
- zabbix监控系列——自定义一个监控项并触发告警
一.自定义一个监控项思路 模板虽好,但是不能解决所有的监控,有些需要的监控项在模板中并没有,需要我们自己定义一个监控项,如何定义一个监控项呢?大概的流程是这样的几步 1.在插件配置文件中定义一个key ...
最新文章
- 昨天网上感觉好冷,睡在席子上都是感觉打哈欠
- 「深度」线下大数据正成为构建精准“用户画像”的最大助力
- POJ - 3694 Network(边双缩点+LCA+并查集优化)
- windowns2019辅域添加
- 树的合并 connect
- [转载]c#委托事件简单例子
- [paper reading] 译 + 注 :如何阅读 Research Papers(Andrew Ng)
- jQuery学习_具备吸附功能的拖曳框
- JSP教程第1讲笔记
- NLPIR分词系统的使用
- win10如何强制性关闭驱动数字签名
- 项目管理 : 如何做好建筑工程的施工成本管理
- matlab弦截法例子,弦截法matlab程序
- 毕索大学计算机科学怎么样,毕索大学与麦吉尔大学哪个好
- 炫富神器 | 辣条专业国内首开,网友:中国吃货石锤了 ​!
- 《矩阵理论与方法》lambda矩阵及Jordan标准形
- 云和恩墨校园招聘开始啦!
- 计算机无法识别华为m3,华为平板M3青春版10.1英寸平板电脑没法充电的原因是什么_华为平板电脑没法充电故障分析...
- mysql查询所有图书信息_PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
- A. Binary Decimal acii码 字符 数字的转换 vector容器 sort 排序