平台信息:
[root@LockLinux ~]# uname -aLinux LockLinux 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux[root@LockLinux ~]# cat /etc/issueCentOS release 6.8 (Final) Kernel \r on an \m
1.监控系统
流程概述
2.SNMP
2.1 流程概述
2.11 MIB管理信息库
被监控主机-对象名称和OID信息关联表
2.12 监控内容
【Fault Management】故障管理
【Configuration Management】配置管理
【Accounting Management】计账管理
【Performance Management】性能管理
【Security Management】安全管理
2.13 community
Agent内置
【public】 只读
【private】读写
2.14 指令(报文)
【get】获取指令,单个具体对象
【getnext】节点下所有对象
【getbulk】节点下所有子节点下的所有对象
【set】操作指令
2.2 SNMP应用
【net-snmp】Agent (162端口)
【net-snmp-utils】NMS & trap (161端口)
2.21安装snmp
[Lock@LockLinux ~]$sudo yum install net-snmp net-snmp-utils # 安装[Lock@LockLinux ~]$sudo service snmpd start # 启动服务[Lock@LockLinux ~]$sudo netstat -unlp # 查看对应端口[Lock@LockLinux ~]$sudo snmpwalk -v 2c -c public localhost host 获取节点下所有 -v 指定snmp版本 -c 指定comunity版本 指定主机 指定对象
2.22 监控命令
[Lock@LockLinux ~]$sudo snmpget -v 2c -c public localhost HOST-RESOURCES-MIB::hrSystemUptime.0 获取指定对象 树-节点-对象
2.23 查看mib库
[Lock@LockLinux mibs]$cd /usr/share/snmp/mibs/
2.24 配置mib库
【修改监控tcp服务】
[Lock@LockLinux mibs]$sudo less TCP-MIB.txt # 在Mib库中找到TCP,记录标识
[Lock@LockLinux mibs]$sudo vim /etc/snmp/snmpd.conf # 修改配置文件,增加显示子树
[Lock@LockLinux mibs]$sudo service snmpd restart # 重启服务[Lock@LockLinux mibs]$snmpwalk -v 2c -c public localhost tcp # 监控主机的tcp服务
【修改认证】
[Lock@LockLinux mibs]$sudo vim /etc/snmp/snmpd.conf
注释默认,允许127.0.0.1主机和192.168.195.0/16网段,通过my_public进行SNMP连接
[Lock@LockLinux mibs]$sudo service snmpd restart # 重启服务[Lock@LockLinux mibs]$sudo snmpwalk -v 2c -c my_public localhost tcp # 新comunity认证
2.24 其他监控命令
[Lock@LockLinux mibs]$man snmpnetstat # 查看命令帮助
[Lock@LockLinux mibs]$snmpnetstat -v 2c -c my_public -Ca -Cp tcp localhost -Ca 指定默认配置 -Cp 制定协议tcp
[Lock@LockLinux mibs]$snmpnetstat -v 2c -c my_public -Can -Cp tcp localhost -Can 解析成数字
[Lock@LockLinux mibs]$sudo chkconfig snmpd on # 设置服务开机自动启动
3.RRDTool
3.1 流程概述
RRD:Round Robin Database 环状(轮转)数据库,数据库大小固定
RRA:Round Robin Archive 轮转归档信息
PDP:Primary Data Point 主数据节点
CDP:Consolidation Data Point 聚合数据节点
DS:Data Source 数据源
DST:Datat Source Type 数据源类型
【数据->PDP】
在设置start time时以固定时间间隔获取n种时间序列数据,按DST数据源类型存储n种数据源,这一节点数据称为PDP,把PDP存储到RRD对应时间槽
【PDP->CDP-RRA】
按解析度根据不同聚合函数CF聚合成不同数据节点,这一节点数据成为CDP,把CDP存储到RRD对应时间槽,这个RRD称为轮转归档信息RRA
【RRA->图形】
3.2 RRDTool应用
3.21 安装RRDTool
[root@LockLinux ~]# yum install rrdtool.x86_64 rrdtool-perl.x86_64
3.22创建RRD
rrdtool create filename [--start|-b] [--step|-s] [DS:ds-name:DST:dst_arguments] [RRA:CF:cf_arguments] filename 文件名 -b 存储时间 -s 时间间隔 DS:数据源名:DST数据源类型:数据源参数 RRA:CF聚合函数:聚合参数 可以创建多个DS,多个RRA
【create】
create创建了一个数据容器,存有在创建时,指定的n个DS和各个DS对应的n个RRA
【DST】
GAUGE:原始值
COUNTER:相对值(相对上一个)(必递增)
DERIVE:相对值(相对上一个)(不要求)
ABSOLUTE:相对值(相对初始值)
【dst_arguments】heartbeat:min:max
heartbeat:超时限制,超时标记为UNKNOWN
min:数据最小值 U无限制
max:数据最大值 U无限制
【CF】
AVERAGE:平均值
MIN:最小值
MAX:最大值
LAST:
【cf_arguments】xff:steps:rows
xff:PDP中UNKNOWN的比例,达到设为UNKNOWN
steps:聚合一次的PDP数,解析度
rows:聚合次数
[root@LockLinux ~]# rrdtool create test.rrd --step 5 DS:testds:GAUGE:8:0:U RRA:AVERAGE:0.5:1:17280 RRA:AVERAGE:0.5:10:3456 RRA:AVERAGE:0.5:100:1210
[root@LockLinux ~]# rrdtool info test.rrd # 查看rrd文件格式
3.23 向rrd文件提供数据
【update】
update向create已经创建的数据容器中,更新入指定的DS数据
rrdtool upadate|updatev filename [--template|-t ds-name[:ds-name]...] [--]N|timestamp"value[:value...] --template|-t ds-name[:ds-name]...
rrdtool create test.rrd DS:ds1 DS:ds2 # N 表示当前时间rrdtool update test.rrd N:30:40 # 按照默认ds1 ds2顺序更新数据rrdtool update test.rrd -t ds2:ds1 40:30 # 按照指定ds2 ds1顺序更新数据
[root@LockLinux ~]# rrdtool update test.rrd N:$RANDOM # 当前时间:DS1:随机值
3.24 从rrd文件提取数据
【fetch】
fetch从update更新入的数据容器中,提取CF聚合后的数据
[root@LockLinux ~]# rrdtool fetch -r 5 test.rrd AVERAGE # 指定聚合函数,从数据源中取得数据,-r指定解析度
3.25 应用例子
[root@LockLinux ~]# rrdtool create test2.rrd --step 5 DS:testds1:GAUGE:8:0:U DS:testds2:GAUGE:8:0:U RRA:AVERAGE:0.5:1:17280 RRA:MAX:0.5:2:17280
创建test2.rrd文件,指定获取DS间隔5秒,
指定第一个DS,DS名:testds1,DST:GAUGE,超时:8,允许最小:0,允许最大:U无限制
指定第二个DS,DS名:testds2,其他同DS1
指定第一个RRA,CF:AVERAGE,允许聚合比例:0.5,聚合单位:1个PDP,聚合次数:17280
指定第二个RRA,CF:MAX,聚合单位:2个PDP,其他同RRA1
注意:create后,rrd中已经存有2个空的DS数据容器,4个空的RRA数据容器
[root@LockLinux ~]# cat test2.sh#!/bin/bash#while true;do rrdtool update test2.rrd N:$RANDOM:$RANDOM sleep 5done
向test2.rrd文件更新入,当前时间,第一个DS为随机值,第二个DS为随机值
注意:update后,rrd中已经存有2个有数据的DS数据容器,4个有数据的RRA数据容器
[root@LockLinux ~]# rrdtool fetch -r 5 test2.rrd AVERAGE[root@LockLinux ~]# rrdtool fetch -r 5 test2.rrd MAX
从test2.rrd文件提取所有DS,解析度5秒(不存在则取大),平均值和最大值聚合函数的数据
注意:fetch只是提取,并非运算
3.26 绘图
rrdtool graph|graphv filename [option...] [data definition...] [data calculation...] [variable definition...] [graph element...] [print element...] filename 绘制的图片文件,默认PNG文件 data definition 数据来源 data calculation 数据再运算 variable definition 变量 graph element 最终指定图形的元素 print element 显示图形 option: 基本参数: -s|--start -e|--end 时间跨度 -S|--step 解析度 -t|--title 标题 -v|--vertical-label 竖向标签 -w|--width -h|--height 宽度高度 -j|--only-graph 只绘制图像 -D|--full-size-mode 自动缩放(根据数据值) 坐标轴:自定义,不自动缩放 -u|--upper-limit DS最大值 -l|--lower-limit DS最小值 -r|--rigid 固定最大最小(不会自动缩放) -A|--alt-autoscale 不固定最大最小(允许自动缩放) -J|--alt-autoscale-min 只自动缩放最小值 -M|--alt-autoscale-max 只自动缩放最大值 -N|--no-gridfit 不显示网格 X-Axis: -x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM GTM:GST 灰色基网格线(单位:值) MTM:MST 红色主网格线(单位:值) LTM:LST 横轴标签多久显示(单位:值) LPR:LFM 标签显示格式 -x|--x-grid none e.g --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X Y-Axis: -y|--y-grid grid step:label factor 竖轴标签多久显示:标志 -y|--y-grid none -Y|--alt-y-grid Miscellaneous: -c|--color COLORTAG#rrggbb[aa] 线条颜色 模块#颜色 BACK CANVAS 画布颜色 #SHADEA 左上边际线颜色 #SHADEB 右下 #GRID,MGRID 网格线颜色 #FONT 字体颜色 #AXIS 坐标轴颜色 #FRAME 边框颜色 #ARROW 轴箭头颜色 #-n|--font FONTTAG:size:[font] 字体:大小:路径 #-R|--font-render-mode {normal,light,mono} 正常,高亮 -a|--imgformat PNG|SVG|EPS|PDF 图片格式 #-W|--watermark 水印
data defintion: DEF:vname=rrdfile:ds-name:CF[:step=step][:start=time][:end=time] # vanem变量名=rrd文件:数据源名:聚合函数[默认300s/] #CDEF:vname=RPN expression #VDEF:vname=RPN expression
graph: LINE[width]:value[#color][:[legend][:STACK]][:dashes[=on_s[,0ff_s[,on_s,off_s]...]][:dash-offst=offset]] # 线状图 LINE格式:变量#曲线颜色:线条标签: AREA:value[:#color][:[legend][:STACK]] # 面积图
print: GPRINT:vame:CF:format # 打印字符串 COMMENT:text
3.27 绘图用例
【1】单曲线图
[root@LockLinux ~]# rrdtool graph a.png -s 1485870845 -t Test -v vtest DEF:vartest=test.rrd:testds:AVERAGE:step=5 LINE1:vartest#FF0000:testline
指定输出图片文件a.png,
指定时间跨度-s 到当前时间
指定图片标题-t Test
指定竖轴标题-v vtest
指定第一条曲线:DEF:变量名=数据来源rrd:数据源DS:聚合函数:解析度
指定第一条线条参数:线条格式LINE1:变量#线条颜色:线条标签
【2】多曲线图
[root@LockLinux ~]# rrdtool graph b.png -s 1485870845 -t Test -v vtest DEF:vartest=test.rrd:testds:AVERAGE:step=5 DEF:vartest2=test.rrd:testds:AVERAGE:step=50 LINE1:vartest#FF0000:testline LINE1:vartest2#0cff00:testline2
在【1】上增加:
指定第二条曲线:DEF:变量名2=数据来源rrd:数据源DS:聚合函数:解析度2
指定第二条线条参数:线条格式LINE1:变量2#线条颜色:线条标签2
【3】多标签
[root@LockLinux ~]# rrdtool graph c.png -s 1485870845 -e 1485871480 -t Test -v vtest DEF:vartest=test2.rrd:testds1:AVERAGE:step=5 DEF:vartest2=test2.rrd:testds1:AVERAGE:step=50 DEF:vartest3=test2.rrd:testds1:MAX:step=10 LINE1:vartest#FF0000:testline LINE1:vartest2#0cff00:testline2 GPRINT:vartest3:MAX:'MAX\:%6.2lf'
在【2】上增加:
指定第三个变量vartest3
输出标签:GPRINT:变量:CF聚合函数:'输出格式'
注意:是L(小写),格式必须指定
4.cacti
cacti通过RRDTool绘图,展示出来。作为RRDTool的前段工具,简化了RRDTool复杂的操作。
【1】rrdtool create 创建rrd文件
【2】周期性执行能够取得数据的命令,并将取得的数据保存至rrd文件当中
rrdtool update:脚本|SNMP|ssh(密钥认证)
【3】利用rrdtool graph绘图并展示
cacti是php开发的网页程序,依赖于LAMP or LNMP,编译安装需要--enable-sockets
【 模板】: 图像模板(graph),数据模板(create),主机模板
4.1 安装cacti
4.11 安装LNMP or LAMP
http://my.oschina.net/charlock/blog/831415
4.12 配置虚拟主机
[root@LockLinux ~]# vim /etc/httpd/conf/httpd.conf # 命令行模式下按"G",增加如下<VirtualHost *:80># ServerAdmin webmaster@dummy-host.example.com DocumentRoot /web/vhosts/cacti ServerName cacti.Lock.com ErrorLog "logs/cacti-error_log" CustomLog "logs/cacti-access_log" common <Directory "/web/vhosts/cacti"> Options Indexes AllowOverride none Require all granted </Directory> </VirtualHost># 其他Apache主配置文件:/etc/httpd/extra/httpd-vhosts.conf# 或者httpd -V查看
4.13 安装cacti
# http://www.cacti.net/download_cacti.php 下载地址[root@LockLinux ~]# tar xf cacti-1.0.0.tar.gz -C /web/vhosts # 解压到/web/vhosts文件夹[root@LockLinux ~]# cd /web/vhosts/[root@LockLinux vhosts]# ln -sv cacti-1.0.0 cacti # 创建链接[root@LockLinux vhosts]# cd cacti
4.14 配置数据库
[root@LockLinux cacti]# mysqladmin -p create cactidb # 创建cacti数据库,123456[root@LockLinux cacti]# mysql -p cactidb < cacti.sql # 导入库信息[root@LockLinux cacti]# mysql -p -e "GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'" # 创建cacti数据库账号[root@LockLinux cacti]# mysqladmin -p flush-privileges # 账号生效[root@LockLinux cacti]# mysql -ucactiuser -p # 测试账号
[root@LockLinux cacti]# vim include/config.php # 设置cacti链接mysql#修改:$database_default = 'cactidb';$url_path = '/';
4.15 配置数据脚本用户
[root@LockLinux cacti]# useradd cactiuser # 新增用户[root@LockLinux cacti]# pwd/web/vhosts/cacti [root@LockLinux cacti]# chown -R cactiuser:cactiuser rra/ log/ # 修改rra log文件夹属主属组
4.16 一些问题
http://chenhao6.blog.51cto.com/6228054/1346010
未设置虚拟主机,和url_path
[root@LockLinux ~]# vim /usr/local/nginx/html/cacti/include/config.php$database_hostname = "127.0.0.1";# 算是解决了吧,web访问/cacti没有报错,调到/install也没有加载任何# http://192.168.195.201/cacti/install/# 得到结果,可过程不时期望的
4.2 配置cacti
4.21 图形界面初始化
初始默认用户名密码都是:admin,第一次登陆会提示修改密码(123456)
单击here
4.22 cacti界面
【console】 控制台,用于编辑配置
【Create】新建
New Graphs:创建新图像
【Management】管理
Graph Management
Graph Trees
Data Sources
Devices
【Collection Methods】数据收集方法
Data Queries数据查询:xml格式数据收集方法
Data Input Methods数据输入方法:命令或脚本
脚本:只需要指定如何获取数据,并且获取到的数据经过处理后要按规定输出(TAG:data TAG:data)poller.php用于控制脚本计划执行,可替换成多线程功能强大的spine
设置计划脚本
[root@LockLinux cacti]# echo '*/5 * * * * /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php a>/dev/null' > /var/spool/cron/cactiuser # 设置poller计划执行[root@LockLinux cacti]# su - cactiuser[cactiuser@LockLinux ~]$ /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php # 测试运行
[root@LockLinux cacti]# vim /etc/php.ini # 根据报错,修改时区date.timezone = Asia/Shanghai [root@LockLinux cacti]# tail /usr/local/nginx/html/cacti/log/cacti.log 09/15/2016 12:50:01 AM - SYSTEM STATS: Time:0.1586 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:0 RRDsProcessed:0[root@LockLinux cacti]# dateThu Sep 15 09:08:48 CST 2016[root@LockLinux cacti]# hwclock -s[root@LockLinux cacti]# dateFri Sep 16 21:40:19 CST 2016[root@LockLinux cacti]# date # 修改为当前时间Fri Sep 16 21:50:39 CST 2016[root@LockLinux cacti]# date 0216101417Tue Feb 16 10:14:00 CST 2017[root@LockLinux cacti]# service nginx restartnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful Stopping nginx: [ OK ] Starting nginx: [ OK ]
[root@LockLinux log]# chmod u+w /etc/sudoers # 给cactiuser赋予sudo权限[root@LockLinux log]# vim /etc/sudoerscactiuser ALL=(ALL) ALL [root@LockLinux ~]# chmod u-w /etc/sudoers[cactiuser@LockLinux ~]$ /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php # 测试计划脚本[cactiuser@LockLinux ~]$ cat /usr/local/nginx/html/cacti/log/cacti.log 09/15/2016 12:50:01 AM - SYSTEM STATS: Time:0.1586 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:0 RRDsProcessed:0
【Templates】模板
Graph Templates
Host Templates
Data Templates
【Import/Export】导入/导出
Import Templates
Export Templates
【Configuration】配置
Settings
Plugin Management
【Utilities】管理工具
System Utilities
User Management
Logout User
【graphs】显示监控主机树,图形
4.3 cacti用例
4.31 监控本地主机
设置设备
Save
设置数据源
默认五个数据源
模板+设备=数据源
查看图形
注意:默认有五个图形,如果没有图形加载,检查cactiuser是否有sudo权限执行脚本,检查直接运行poller.php是否成功
[root@LockLinux ~]# cd /usr/local/nginx/html/cacti/rra # 查看rra文件夹下,数据源[root@LockLinux rra]# lslocalhost_load_1min_5.rrd localhost_mem_swap_4.rrd localhost_users_6.rrd localhost_mem_buffers_3.rrd localhost_proc_7.rrd [root@LockLinux rra]# rrdtool fetch -r 300 localhost_mem_buffers_3.rrd AVERAGE1486356900: -nan1486357200: -nan1486357500: -nan1486357800: -nan [root@LockLinux rra]# date +%s # 当前时间戳距离时间槽1486357579[root@LockLinux rra]# date +%s1486357813[root@LockLinux rra]# rrdtool fetch -r 300 localhost_mem_buffers_3.rrd AVERAGE1486357500: 7.0994906000e+051486357800: 7.0994906000e+05 # 获取数据1486358100: -nan
一段时间后
4.32 增加监控内容
收集方法+数据模板+设备+数据源+图形定义
选择数据收集方法
选择数据模板
选择设备
新建图形
设置图形
保存
添加数据源
另开页面,参考其他数据源定义,关联图形
一些设置可能错的,没有数据
4.4 cacti设置
4.5 cacti导入模板
cacti官网 论坛 有各种模板和附带的使用说明
4.6 自定义
4.61 编写脚本(单DS)
【获取信息】
# 编写脚本,获取snmpnetstat信息[root@LockLinux catic_work]# vim tcpconn.sh#!/bin/bash## $1: hostname or IP# $2 snmp communitySNMPNETSTAT=/usr/bin/snmpnetstat$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1[root@LockLinux catic_work]# chmod +x tcpconn.sh [root@LockLinux catic_work]# ./tcpconn.sh localhost my_publicActive Internet (tcp) Connections (including servers) Proto Local Address Remote Address (state) tcp *.22 *.* LISTEN tcp *.80 *.* LISTEN tcp *.111 *.* LISTEN tcp *.3306 *.* LISTEN tcp *.46593 *.* LISTEN tcp 127.0.0.1.25 *.* LISTEN tcp 127.0.0.1.199 *.* LISTEN tcp 127.0.0.1.3306 127.0.0.1.59204 ESTABLISHED tcp 127.0.0.1.3306 127.0.0.1.59209 ESTABLISHED tcp 127.0.0.1.3306 127.0.0.1.59210 ESTABLISHED tcp 127.0.0.1.3306 127.0.0.1.59211 ESTABLISHED tcp 127.0.0.1.3306 127.0.0.1.59212 ESTABLISHED
[root@LockLinux catic_work]# vim tcpconn.sh # 筛选 计数[root@LockLinux catic_work]# ./tcpconn.sh localhost my_public21$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 | grep -i 'established' | wc -l
【格式输出】
[root@LockLinux catic_work]# vim tcpconn.sh#!/bin/bash## $1: hostname or IP# $2 snmp communitySNMPNETSTAT=/usr/bin/snmpnetstat ESTABLISHED=`$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 | grep -i 'established' | wc -l`echo -n "established:$ESTABLISHED" [root@LockLinux catic_work]# ./tcpconn.sh localhost my_publicestablished:21[root@LockLinux catic_work]## 复制脚本到cacti[root@LockLinux catic_work]# cp tcpconn.sh /usr/local/nginx/html/cacti/scripts/
4.62 设置数据收集方法
编辑数据方法
编辑数据方法参数,
Friendly Name设置提示名
Special Type Code设置输入参数为空时,指定的默认
编辑数据方法输出
4.63 设置数据模板(参考已有数据模板)
4.64 添加数据源
[root@LockLinux catic_work]# cp tcpconn.sh /usr/local/nginx/html/cacti/scripts/[root@LockLinux catic_work]# cd /usr/local/nginx/html/cacti/rra[root@LockLinux rra]# lslocalhost_load_1min_5.rrd localhost_proc_7.rrd localhost_users_6.rrd localhost_mem_buffers_3.rrd localhost_snmp_oid_9.rrd localhost_mem_swap_4.rrd localhost_tcpestablished_11.rrd
4.65 创建图形
创建基本框架
设置图形参数
4.66 添加图形
4.67 效果图
[root@LockLinux rra]# ls # 已生成文件localhost_load_1min_5.rrd localhost_proc_7.rrd localhost_tcpestablished_11.rrdlocalhost_mem_buffers_3.rrd localhost_snmp_oid_9.rrd localhost_users_6.rrdlocalhost_mem_swap_4.rrd localhost_tcpconn_1.rrd[root@LockLinux rra]# rrdtool fetch -r 300 localhost_tcpconn_1.rrd AVERAGE # 查看1486364700: -nan1486365000: -nan1486365300: -nan1486365600: -nan1486365900: -nan1486366200: -nan[root@LockLinux rra]# date +%s1486365938 # 很久..[root@LockLinux rra]# rrdtool fetch -r 300 localhost_tcpconn_1.rrd AVERAGE # 取得数据1486367100: 2.5000000000e+01 1486367400: -nan
添加标签
4.68 多数据源
脚本
[root@LockLinux scripts]# vim tcpconn2.sh #!/bin/bash## $1: hostname or IP# $2 snmp communitySNMPNETSTAT=/usr/bin/snmpnetstat TEMPFILE=`mktemp /tmp/$1_tcpconn.XXXXX`$SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 > $TEMPFILEESTABLISHED=`grep -i "ESTABLISHED" $TEMPFILE | wc -l` TIMEWAIT=`grep -i "TIMEWAIT" $TEMPFILE | wc -l` SYNRECEIVED=`grep -i "SYNRECEIVED" $TEMPFILE | wc -l`echo -n "established:$ESTABLISHED timewait:$TIMEWAIT synreceived:$SYNRECEIVED"[root@LockLinux scripts]# ./tcpconn2.sh localhost my_publicestablished:21 timewait:2 synreceived:0[root@LockLinux scripts]#
数据源模板
图形模板
效果图
4.7 插件
安装目录:$cacti_path/plugins
插件:thold和settings