设为首页 收藏本站
查看: 1971|回复: 0

[经验分享] Cacti

[复制链接]

尚未签到

发表于 2015-11-22 12:37:52 | 显示全部楼层 |阅读模式
目标
  根据/proc/net/sockstat创建针对服务器sockstat的状态Cacti图形
目标探索



# cat /proc/net/sockstat
sockets: used 6121
TCP: inuse 6142 orphan 0 tw 63905 alloc 6145 mem 4206
UDP: inuse 6 mem 3
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
[iyunv@10-125-89-135 ~]#

提取有价值目标


socketsUsed
tcpInuse
tcpOrphan
tcpTw
tcpAlloc
tcpMem
Client
部署脚本


#!/bin/bash
#  Filepath: /usr/local/nagios/libexec/check_sockstat
#  socketsUsed
#  tcpInuse
#  tcpOrphan
#  tcpTw
#  tcpAlloc
#  tcpMem
#  
#  sockets: used 6121
#  TCP: inuse 6142 orphan 0 tw 63905 alloc 6145 mem 4206
#  UDP: inuse 6 mem 3
#  UDPLITE: inuse 0
#  RAW: inuse 0
#  FRAG: inuse 0 memory 0
#  [iyunv@10-125-89-135 ~]#
#  
#  
#echo "OK"
#echo $1
if [ $1 = "socketsUsed" ];then
name="socketsUsed"
result=`cat /proc/net/sockstat | grep sockets | awk '{print $3}'`
fi
if [ $1 = "tcpInuse" ];then
name="tcpInuse"
result=`cat /proc/net/sockstat | grep TCP | awk '{print $3}'`
fi

if [ $1 = "tcpOrphan" ];then
name="tcpOrphan"
result=`cat /proc/net/sockstat | grep TCP | awk '{print $5}'`
fi

if [ $1 = "tcpTw" ];then
name="tcpTw"
result=`cat /proc/net/sockstat | grep TCP | awk '{print $7}'`
fi
if [ $1 = "tcpAlloc" ];then
name="tcpAlloc"
result=`cat /proc/net/sockstat | grep TCP | awk '{print $9}'`
fi
if [ $1 = "tcpMem" ];then
name="tcpMem"
result=`cat /proc/net/sockstat | grep TCP | awk '{print $11}'`
fi

echo "$name:$result"

测试结果

[iyunv@10-125-89-135 libexec]# ./check_sockstat socketsUsed
socketsUsed:5655
[iyunv@10-125-89-135 libexec]# ./check_sockstat tcpInuse
tcpInuse:5694
[iyunv@10-125-89-135 libexec]# ./check_sockstat tcpOrphan
tcpOrphan:0
[iyunv@10-125-89-135 libexec]# ./check_sockstat tcpTw
tcpTw:64047
[iyunv@10-125-89-135 libexec]# ./check_sockstat tcpAlloc
tcpAlloc:5716
[iyunv@10-125-89-135 libexec]# ./check_sockstat tcpMem
tcpMem:2257

设置nrpe命令


command[cacti_sockstat]=/usr/local/nagios/libexec/check_sockstat $ARG1$
本地测试


[iyunv@10-125-89-135 libexec]# /usr/local/nagios/libexec/check_sockstat tcpInuse
tcpInuse:5704

远程测试


[iyunv@10-180-92-195 ~]# /usr/local/nagios/libexec/check_nrpe -H 10.125.89.135 -c cacti_sockstat -a tcpInuse
tcpInuse:5704
Cacti
data input method
DSC0000.jpg
data template
DSC0001.jpg
graph template
DSC0002.jpg

DSC0003.jpg
命令行部署


#!/bin/bash

ip=$1
# 判断是否存在,如果存在就退出
hostfind=`php add_graphs.php --list-hosts | grep $ip$ | wc -l`
[ $hostfind -eq 1 ] && ( echo "host $ip 已经存在 ";exit 0 )
# 添加hosts
php add_device.php --description=$ip --ip=$ip --template=9
hostid=`php add_graphs.php --list-hosts | grep $ip$ | awk '{print $1}'`
echo $hostid
#exit 0
#[[ $hostid -gt 70 ]] || exit 0
# 开始画vmstat
php add_graphs.php --graph-type=cg --graph-template-id=76 --host-id=$hostid --input-fields="server_addr=$ip"

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-142128-1-1.html 上篇帖子: Cacti for Windows 下篇帖子: 解决cacti大内存出现数据为nan
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表