cacti詳解

平臺信息:

[root@LockLinux ~]# uname -a Linux 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/issue CentOS release 6.8 (Final) Kernel r on an m 1.監(jiān)控系統(tǒng) 流程概述

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、始興網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、始興網(wǎng)絡(luò)營銷、始興企業(yè)策劃、始興品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供始興建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn2.SNMP 2.1 流程概述
2.11 MIB管理信息庫

被監(jiān)控主機-對象名稱和OID信息關(guān)聯(lián)表

2.12 監(jiān)控內(nèi)容

【Fault Management】故障管理

【Configuration Management】配置管理

【Accounting Management】計賬管理

【Performance Management】性能管理

【Security Management】安全管理

2.13 community

Agent內(nèi)置

【public】 只讀

【private】讀寫

2.14 指令(報文)

【get】獲取指令,單個具體對象

【getnext】節(jié)點下所有對象

【getbulk】節(jié)點下所有子節(jié)點下的所有對象

【set】操作指令

2.2 SNMP應(yīng)用

【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 # 啟動服務(wù) [Lock@LockLinux ~]$sudo netstat -unlp # 查看對應(yīng)端口 [Lock@LockLinux ~]$sudo snmpwalk -v 2c -c public localhost host 獲取節(jié)點下所有 -v 指定snmp版本 -c 指定comunity版本 指定主機 指定對象 2.22 監(jiān)控命令

[Lock@LockLinux ~]$sudo snmpget -v 2c -c public localhost HOST-RESOURCES-MIB::hrSystemUptime.0 獲取指定對象 樹-節(jié)點-對象

2.23 查看mib庫

[Lock@LockLinux mibs]$cd /usr/share/snmp/mibs/ 2.24 配置mib庫

【修改監(jiān)控tcp服務(wù)】

[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 # 重啟服務(wù) [Lock@LockLinux mibs]$snmpwalk -v 2c -c public localhost tcp # 監(jiān)控主機的tcp服務(wù)

【修改認證】

[Lock@LockLinux mibs]$sudo vim /etc/snmp/snmpd.conf

注釋默認,允許127.0.0.1主機和192.168.195.0/16網(wǎng)段,通過my_public進行SNMP連接

[Lock@LockLinux mibs]$sudo service snmpd restart # 重啟服務(wù) [Lock@LockLinux mibs]$sudo snmpwalk -v 2c -c my_public localhost tcp # 新comunity認證 2.24 其他監(jiān)控命令

[Lock@LockLinux mibs]$man snmpnetstat # 查看命令幫助

[Lock@LockLinux mibs]$snmpnetstat -v 2c -c my_public -Ca -Cp tcp localhost -Ca 指定默認配置 -Cp 制定協(xié)議tcp

[Lock@LockLinux mibs]$snmpnetstat -v 2c -c my_public -Can -Cp tcp localhost -Can 解析成數(shù)字

[Lock@LockLinux mibs]$sudo chkconfig snmpd on # 設(shè)置服務(wù)開機自動啟動 3.RRDTool 3.1 流程概述

RRD:Round Robin Database 環(huán)狀(輪轉(zhuǎn))數(shù)據(jù)庫,數(shù)據(jù)庫大小固定

RRA:Round Robin Archive 輪轉(zhuǎn)歸檔信息

PDP:Primary Data Point 主數(shù)據(jù)節(jié)點

CDP:Consolidation Data Point 聚合數(shù)據(jù)節(jié)點

DS:Data Source 數(shù)據(jù)源

DST:Datat Source Type 數(shù)據(jù)源類型

【數(shù)據(jù)->PDP】

在設(shè)置start time時以固定時間間隔獲取n種時間序列數(shù)據(jù),按DST數(shù)據(jù)源類型存儲n種數(shù)據(jù)源,這一節(jié)點數(shù)據(jù)稱為PDP,把PDP存儲到RRD對應(yīng)時間槽

【PDP->CDP-RRA】

按解析度根據(jù)不同聚合函數(shù)CF聚合成不同數(shù)據(jù)節(jié)點,這一節(jié)點數(shù)據(jù)成為CDP,把CDP存儲到RRD對應(yīng)時間槽,這個RRD稱為輪轉(zhuǎn)歸檔信息RRA

【RRA->圖形】

3.2 RRDTool應(yīng)用 3.21 安裝RRDTool

[root@LockLinux ~]# yum install rrdtool.x86_64 rrdtool-perl.x86_64 3.22創(chuàng)建RRD

rrdtool create filename [--start|-b] [--step|-s] [DS:ds-name:DST:dst_arguments] [RRA:CF:cf_arguments] filename 文件名 -b 存儲時間 -s 時間間隔 DS:數(shù)據(jù)源名:DST數(shù)據(jù)源類型:數(shù)據(jù)源參數(shù) RRA:CF聚合函數(shù):聚合參數(shù) 可以創(chuàng)建多個DS,多個RRA

【create】

create創(chuàng)建了一個數(shù)據(jù)容器,存有在創(chuàng)建時,指定的n個DS和各個DS對應(yīng)的n個RRA

【DST】

GAUGE:原始值

COUNTER:相對值(相對上一個)(必遞增)

DERIVE:相對值(相對上一個)(不要求)

ABSOLUTE:相對值(相對初始值)

【dst_arguments】heartbeat:min:max

heartbeat:超時限制,超時標記為UNKNOWN

min:數(shù)據(jù)最小值 U無限制

max:數(shù)據(jù)值 U無限制

【CF】

AVERAGE:平均值

MIN:最小值

MAX:值

LAST:

【cf_arguments】xff:steps:rows

xff:PDP中UNKNOWN的比例,達到設(shè)為UNKNOWN

steps:聚合一次的PDP數(shù),解析度

rows:聚合次數(shù)

[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文件提供數(shù)據(jù)

【update】

update向create已經(jīng)創(chuàng)建的數(shù)據(jù)容器中,更新入指定的DS數(shù)據(jù)

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 表示當(dāng)前時間 rrdtool update test.rrd N:30:40 # 按照默認ds1 ds2順序更新數(shù)據(jù) rrdtool update test.rrd -t ds2:ds1 40:30 # 按照指定ds2 ds1順序更新數(shù)據(jù)

[root@LockLinux ~]# rrdtool update test.rrd N:$RANDOM # 當(dāng)前時間:DS1:隨機值 3.24 從rrd文件提取數(shù)據(jù)

【fetch】

fetch從update更新入的數(shù)據(jù)容器中,提取CF聚合后的數(shù)據(jù)

[root@LockLinux ~]# rrdtool fetch -r 5 test.rrd AVERAGE # 指定聚合函數(shù),從數(shù)據(jù)源中取得數(shù)據(jù),-r指定解析度 3.25 應(yīng)用例子

[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

創(chuàng)建test2.rrd文件,指定獲取DS間隔5秒,

指定第一個DS,DS名:testds1,DST:GAUGE,超時:8,允許最小:0,允許:U無限制

指定第二個DS,DS名:testds2,其他同DS1

指定第一個RRA,CF:AVERAGE,允許聚合比例:0.5,聚合單位:1個PDP,聚合次數(shù):17280

指定第二個RRA,CF:MAX,聚合單位:2個PDP,其他同RRA1

注意:create后,rrd中已經(jīng)存有2個空的DS數(shù)據(jù)容器,4個空的RRA數(shù)據(jù)容器

[root@LockLinux ~]# cat test2.sh #!/bin/bash # while true;do rrdtool update test2.rrd N:$RANDOM:$RANDOM sleep 5 done

向test2.rrd文件更新入,當(dāng)前時間,第一個DS為隨機值,第二個DS為隨機值

注意:update后,rrd中已經(jīng)存有2個有數(shù)據(jù)的DS數(shù)據(jù)容器,4個有數(shù)據(jù)的RRA數(shù)據(jù)容器

[root@LockLinux ~]# rrdtool fetch -r 5 test2.rrd AVERAGE [root@LockLinux ~]# rrdtool fetch -r 5 test2.rrd MAX

從test2.rrd文件提取所有DS,解析度5秒(不存在則取大),平均值和值聚合函數(shù)的數(shù)據(jù)

注意:fetch只是提取,并非運算

3.26 繪圖

rrdtool graph|graphv filename [option...] [data definition...] [data calculation...] [variable definition...] [graph element...] [print element...] filename 繪制的圖片文件,默認PNG文件 data definition 數(shù)據(jù)來源 data calculation 數(shù)據(jù)再運算 variable definition 變量 graph element 最終指定圖形的元素 print element 顯示圖形 option: 基本參數(shù): -s|--start -e|--end 時間跨度 -S|--step 解析度 -t|--title 標題 -v|--vertical-label 豎向標簽 -w|--width -h|--height 寬度高度 -j|--only-graph 只繪制圖像 -D|--full-size-mode 自動縮放(根據(jù)數(shù)據(jù)值) 坐標軸:自定義,不自動縮放 -u|--upper-limit DS值 -l|--lower-limit DS最小值 -r|--rigid 固定最小(不會自動縮放) -A|--alt-autoscale 不固定最小(允許自動縮放) -J|--alt-autoscale-min 只自動縮放最小值 -M|--alt-autoscale-max 只自動縮放值 -N|--no-gridfit 不顯示網(wǎng)格 X-Axis: -x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM GTM:GST 灰色基網(wǎng)格線(單位:值) MTM:MST 紅色主網(wǎng)格線(單位:值) 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 網(wǎng)格線顏色 #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文件:數(shù)據(jù)源名:聚合函數(shù)[默認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 到當(dāng)前時間

指定圖片標題-t Test

指定豎軸標題-v vtest

指定第一條曲線:DEF:變量名=數(shù)據(jù)來源rrd:數(shù)據(jù)源DS:聚合函數(shù):解析度

指定第一條線條參數(shù):線條格式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=數(shù)據(jù)來源rrd:數(shù)據(jù)源DS:聚合函數(shù):解析度2

指定第二條線條參數(shù):線條格式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聚合函數(shù):\'輸出格式\'

注意:是L(小寫),格式必須指定

4.cacti

cacti通過RRDTool繪圖,展示出來。作為RRDTool的前段工具,簡化了RRDTool復(fù)雜的操作。

【1】rrdtool create 創(chuàng)建rrd文件

【2】周期性執(zhí)行能夠取得數(shù)據(jù)的命令,并將取得的數(shù)據(jù)保存至rrd文件當(dāng)中

rrdtool update:腳本|SNMP|ssh(密鑰認證)

【3】利用rrdtool graph繪圖并展示

cacti是php開發(fā)的網(wǎng)頁程序,依賴于LAMP or LNMP,編譯安裝需要--enable-sockets

【 模板】:圖像模板(graph),數(shù)據(jù)模板(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 # 創(chuàng)建鏈接 [root@LockLinux vhosts]# cd cacti 4.14 配置數(shù)據(jù)庫

[root@LockLinux cacti]# mysqladmin -p create cactidb # 創(chuàng)建cacti數(shù)據(jù)庫,123456 [root@LockLinux cacti]# mysql -p cactidb < cacti.sql # 導(dǎo)入庫信息 [root@LockLinux cacti]# mysql -p -e "GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY \'cactiuser\'" # 創(chuàng)建cacti數(shù)據(jù)庫賬號 [root@LockLinux cacti]# mysqladmin -p flush-privileges # 賬號生效 [root@LockLinux cacti]# mysql -ucactiuser -p # 測試賬號

[root@LockLinux cacti]# vim include/config.php # 設(shè)置cacti鏈接mysql #修改: $database_default = \'cactidb\'; $url_path = \'/\'; 4.15 配置數(shù)據(jù)腳本用戶

[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

未設(shè)置虛擬主機,和url_path

[root@LockLinux ~]# vim /usr/local/nginx/html/cacti/include/config.php $database_hostname = "127.0.0.1"; # 算是解決了吧,web訪問/cacti沒有報錯,調(diào)到/install也沒有加載任何 # http://192.168.195.201/cacti/install/ # 得到結(jié)果,可過程不時期望的

4.2 配置cacti 4.21 圖形界面初始化

初始默認用戶名密碼都是:admin,第一次登陸會提示修改密碼(123456)

單擊here

4.22 cacti界面

【console】控制臺,用于編輯配置

【Create】新建

New Graphs:創(chuàng)建新圖像

【Management】管理

Graph Management

Graph Trees

Data Sources

Devices

【Collection Methods】數(shù)據(jù)收集方法

Data Queries數(shù)據(jù)查詢:xml格式數(shù)據(jù)收集方法

Data Input Methods數(shù)據(jù)輸入方法:命令或腳本

腳本:只需要指定如何獲取數(shù)據(jù),并且獲取到的數(shù)據(jù)經(jīng)過處理后要按規(guī)定輸出(TAG:data TAG:data)poller.php用于控制腳本計劃執(zhí)行,可替換成多線程功能強大的spine

設(shè)置計劃腳本

[root@LockLinux cacti]# echo \'*/5 * * * * /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php a>/dev/null\' > /var/spool/cron/cactiuser # 設(shè)置poller計劃執(zhí)行 [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 # 根據(jù)報錯,修改時區(qū) 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]# date Thu Sep 15 09:08:48 CST 2016 [root@LockLinux cacti]# hwclock -s [root@LockLinux cacti]# date Fri Sep 16 21:40:19 CST 2016 [root@LockLinux cacti]# date # 修改為當(dāng)前時間 Fri Sep 16 21:50:39 CST 2016 [root@LockLinux cacti]# date 0216101417 Tue Feb 16 10:14:00 CST 2017 [root@LockLinux cacti]# service nginx restart nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: 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權(quán)限 [root@LockLinux log]# vim /etc/sudoers cactiuser 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】導(dǎo)入/導(dǎo)出

Import Templates

Export Templates

【Configuration】配置

Settings

Plugin Management

【Utilities】管理工具

System Utilities

User Management

Logout User

【graphs】顯示監(jiān)控主機樹,圖形

4.3 cacti用例 4.31 監(jiān)控本地主機

設(shè)置設(shè)備

Save

設(shè)置數(shù)據(jù)源

默認五個數(shù)據(jù)源

模板+設(shè)備=數(shù)據(jù)源

查看圖形

注意:默認有五個圖形,如果沒有圖形加載,檢查cactiuser是否有sudo權(quán)限執(zhí)行腳本,檢查直接運行poller.php是否成功

[root@LockLinux ~]# cd /usr/local/nginx/html/cacti/rra # 查看rra文件夾下,數(shù)據(jù)源 [root@LockLinux rra]# ls localhost_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 AVERAGE 1486356900: -nan 1486357200: -nan 1486357500: -nan 1486357800: -nan [root@LockLinux rra]# date +%s # 當(dāng)前時間戳距離時間槽 1486357579 [root@LockLinux rra]# date +%s 1486357813 [root@LockLinux rra]# rrdtool fetch -r 300 localhost_mem_buffers_3.rrd AVERAGE 1486357500: 7.0994906000e+05 1486357800: 7.0994906000e+05 # 獲取數(shù)據(jù) 1486358100: -nan

一段時間后

4.32 增加監(jiān)控內(nèi)容

收集方法+數(shù)據(jù)模板+設(shè)備+數(shù)據(jù)源+圖形定義

選擇數(shù)據(jù)收集方法

選擇數(shù)據(jù)模板

選擇設(shè)備

新建圖形

設(shè)置圖形

保存

添加數(shù)據(jù)源

另開頁面,參考其他數(shù)據(jù)源定義,關(guān)聯(lián)圖形

一些設(shè)置可能錯的,沒有數(shù)據(jù)

4.4 cacti設(shè)置
4.5 cacti導(dǎo)入模板

cacti官網(wǎng) 論壇 有各種模板和附帶的使用說明

4.6 自定義 4.61 編寫腳本(單DS)

【獲取信息】

# 編寫腳本,獲取snmpnetstat信息 [root@LockLinux catic_work]# vim tcpconn.sh #!/bin/bash # # $1: hostname or IP # $2 snmp community SNMPNETSTAT=/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_public Active 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 # 篩選 計數(shù) [root@LockLinux catic_work]# ./tcpconn.sh localhost my_public 21 $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 community SNMPNETSTAT=/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_public established:21[root@LockLinux catic_work]# # 復(fù)制腳本到cacti [root@LockLinux catic_work]# cp tcpconn.sh /usr/local/nginx/html/cacti/scripts/ 4.62 設(shè)置數(shù)據(jù)收集方法

編輯數(shù)據(jù)方法

編輯數(shù)據(jù)方法參數(shù),

Friendly Name設(shè)置提示名

Special Type Code設(shè)置輸入?yún)?shù)為空時,指定的默認

編輯數(shù)據(jù)方法輸出

4.63 設(shè)置數(shù)據(jù)模板(參考已有數(shù)據(jù)模板)
4.64 添加數(shù)據(jù)源

[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]# ls localhost_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 創(chuàng)建圖形

創(chuàng)建基本框架

設(shè)置圖形參數(shù)

4.66 添加圖形
4.67 效果圖

[root@LockLinux rra]# ls # 已生成文件 localhost_load_1min_5.rrd localhost_proc_7.rrd localhost_tcpestablished_11.rrd localhost_mem_buffers_3.rrd localhost_snmp_oid_9.rrd localhost_users_6.rrd localhost_mem_swap_4.rrd localhost_tcpconn_1.rrd [root@LockLinux rra]# rrdtool fetch -r 300 localhost_tcpconn_1.rrd AVERAGE # 查看 1486364700: -nan 1486365000: -nan 1486365300: -nan 1486365600: -nan 1486365900: -nan 1486366200: -nan [root@LockLinux rra]# date +%s 1486365938 # 很久.. [root@LockLinux rra]# rrdtool fetch -r 300 localhost_tcpconn_1.rrd AVERAGE # 取得數(shù)據(jù) 1486367100: 2.5000000000e+01 1486367400: -nan

添加

4.68 多數(shù)據(jù)源

腳本

[root@LockLinux scripts]# vim tcpconn2.sh #!/bin/bash # # $1: hostname or IP # $2 snmp community SNMPNETSTAT=/usr/bin/snmpnetstat TEMPFILE=`mktemp /tmp/$1_tcpconn.XXXXX` $SNMPNETSTAT -v 2c -c $2 -Can -Cp tcp $1 > $TEMPFILE ESTABLISHED=`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_public established:21 timewait:2 synreceived:0[root@LockLinux scripts]#

數(shù)據(jù)源模板

圖形模板

效果圖

網(wǎng)站名稱:cacti詳解
當(dāng)前網(wǎng)址:http://muchs.cn/article0/cheeio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、ChatGPT電子商務(wù)、小程序開發(fā)網(wǎng)站維護、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司