国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

網絡優化:使用cacti監測系統性能(圖)

2019-11-04 20:33:26
字體:
來源:轉載
供稿:網友

  前言:
  
  在論壇上經常看到有人問MRTG的問題,還有很多的關于MRTG的出色文章。MRTG的確是非常好用的,但我認為它究竟已經是一套很舊的軟件了,其作者在多年前就已經開發了RRDTool代替該軟件,現在已經發展得很成熟。既然有更好的選擇,為什么我們還要用MRTG呢?
  
  第一部分,介紹:
  
  2004年我剛進某公司工作,當時我使用MRTG建立了一套系統,專門監測我們服務器和其它網絡設備的流量。
  
  后來我想將其它的系統性能比如CPU負載、系統負載,網絡連接數等一起監測起來。我在網上查找了很多的資料,也實現了這些功能,但總覺得實現的太費勁,治理起來太麻煩了。比如我有幾百個被監測點,分布在不同的機房,而且我需要將這些服務器和網絡設備分類,這樣的話我就要將這些被監測點放在不同的mrtg配置文件中,運行多個crontab,而且自己還寫了一些Html頁面對其進行治理。
  
  后來有幸看到了一位師兄寫的大作“rrdtool 教學”,里面列舉了rrdtool的種種優點,于是我下定決心要將MRTG更換為rrdtool。
  
  MRTG的優點:簡單、易上手,基本安裝完了之后只要更改一下配置文件即可。
  
  缺點:1、使用文本式的數據庫,數據不能重復使用;
  
  2、只能按日、周、月、年來查看數據;
  
  3、只能畫兩個DS(一條線、一個塊);
  
  4、無治理功能;
  
  rrdtool的優點:
  
  1、使用rrd存儲格式,數據能重復使用,比如我可以將一個rrd文件中的數據與另一個rrd文件中的數據相加。
  
  2、可以定義任意時間段畫圖,即你可以畫出一張半年以來的數據的圖,也可以畫出一張半小時以來的圖。
  
  3、能畫任意個DS。
  
  4、CDEF讓你能任意擺弄數據。
  
  缺點:
  
  1、rrdtool的作用只是存儲數據和畫圖,它沒有mrtg中集成的數據采集功能;
  
  2、在命令行的使用非常復雜,參數極多;
  
  3、無治理功能。
  
  簡單的說,rrdtool就是一個強大的繪圖的引擎。
  
  由于其非常復雜的命令,對用戶非常不友好,我一度想自己用php寫一套系統。幸運的是,半年前我找到了cacti(www.cacti.net)。對該工具我只有一個字形容:“great!”。
  
  cacti其實是一套php程序,它運用snmpget采集數據,使用rrdtool繪圖。它的界面非常漂亮,能讓你根本無需明白rrdtool的參數能輕易的繪出漂亮的圖形。更難能可貴的是,它提供了強大的數據治理和用戶治理功能,一張圖是屬于一個host的,每一個host又可以掛載到一個樹狀的結構上。
  
  用戶的治理上,作為一個開源軟件,它居然做到為指定一個用戶能查看的“樹”、host、甚至每一張圖,還可以與LDAP結合進行用戶的驗證!我不由得佩服作者考慮的周到!Cacti還提供自己增加模板的功能,讓你添加自己的snmp_query和script!可以說,cacti將rrdtool的所有“缺點”都補足了!
  
  最近在公司的內部培訓中,我為Cacti畫了兩張圖,里面是cacti的架構和cacti的工作流程,現在也一并發上來。
  
 網絡優化:使用cacti監測系統性能(圖)(圖一)

  
 網絡優化:使用cacti監測系統性能(圖)(圖二)

  第二部分:Cacti的安裝
  
  該安裝文檔是我參照www.cacti.net上的官方文檔進行安裝后,總結出來的。平臺是linux或FreeBSD。
  
  1、安裝MySQL
  
  下載源碼
  
  http://www.signal42.com/mirrors/mysql/Downloads/MySQL-4.0 /mysql-4.0.23.tar.gz
  
  for linux:
  
  http://www.signal42.com/mirrors/mysql/Downloads/MySQL-4.0 /mysql-standard-4.0.23-pc-linux-i686.tar.gz
  
  for freebsd47:
  
  http://www.signal42.com/mirrors/mysql/Downloads/MySQL-4.0
  
  /mysql-standard-4.0.22-unknown-freebsd4.7-i386.tar.gz
  
  安裝
  
  代碼:
  shell> groupadd mysql
  shell> useradd -g mysql mysql
  shell> cd /usr/local
  shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz
   tar xvf -
  shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
  shell> cd mysql
  shell> scripts/mysql_install_db --user=mysql
  shell> chown -R root .
  shell> chown -R mysql data
  shell> chgrp -R mysql .
  shell> bin/mysqld_safe --user=mysql &
  ./bin/mysqladmin -u root
  passWord "yourpasswd"
  
  基于安全的原因,為root用戶設置密碼才能讓root用戶登陸mysql,不然會有2002錯誤出現
  
  建立啟動腳本
  
  代碼:
  
  cp ./support-files/mysql.server
  /etc/init.d/mysql
  ln -s ../init.d/mysql S85mysql
  ln -s ../init.d/mysql K85mysql
  
  2、安裝apache
  
  下載:
  
  http://apache.justdn.org/httpd/httpd-2.0.53.tar.bz2
  
  安裝
  
  代碼:
  
  ./configure --PRefix=/www --enable-so
  make && make install
  
  建立啟動腳本
  
  代碼:
  
  cp /www/bin/apachectl /etc/init.d/httpd
  cd /etc/rc3.d
  ln -s ../init.d/httpd S85httpd
  ln -s ../init.d/httpd K85httpd
  
  啟動
  
  /www/bin/apachectl start
  
  3、安裝php
  
  下載:
  
  http://us4.php.net/get/php-4.3.10.tar.gz/from/cn2.php.net/mirror
  
  安裝:
  
  代碼:
  
  /configure --prefix=/www/php
  --with-apxs2=/www/bin/apxs
  --with-config-file-path=/www/php
  --enable-sockets --with-mysql=/usr/local/mysql --with-zlib-dir=/usr/include
  --with-gd
  make && make install
  cp php.ini-dist /www/php/php.ini
  vi /www/conf/httpd.conf
  加入:
  AddType application/x-tar .tgz
  AddType application/x-httpd-php .php
  AddType image/x-icon .ico
  DirectoryIndex index.php index.html
  index.html.var
  ../bin/apachectl restart
  
  4、設置mysql
  
  代碼:
  
  # mysql -u root -prootroot
  Welcome to the MySQL monitor.
  Commands end with ; or /g.
  Your MySQL connection id is 10
  to server version: 4.0.23-standard
  
  Type 'help;' or '/h' for help. Type
  '/c' to clear the buffer.
  
  mysql> create database cactidb;
  Query OK, 1 row affected (0.00 sec)
  
  mysql> grant all on cactidb.* to root;
  Query OK, 0 rows affected (0.01 sec)
  
  mysql> grant all on cactidb.* to
  root@localhost;
  Query OK, 0 rows affected (0.01 sec)
  
  mysql> grant all on cactidb.* to
  cactiuser;
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> grant all on cactidb.* to
  cactiuser@localhost;
  Query OK, 0 rows affected (0.01 sec)
  
  mysql> set password for
  cactiuser@localhost=password('cactipw');
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> exit
  
  5、安裝rrdtool
  
  下載:http://people.ee.ethz.ch/~oetiker/weBTools/rrdtool/pub /rrdtool-1.0.x/rrdtool-1.0.50.tar.gz
  
  然后 ./configure
  make && make install
  
  即可
  
  與mrtg相比,rrdtool自帶了gd庫,所以不用先安裝gd庫。(不過由于rrdtool自帶的gd庫不支持中文,所以rrdtool畫出來的圖也不能有中文,否則會出現亂碼)。
  
  注重:rrdtool1.2的版本由于已經不再自帶外部的lib庫(如cgilib,zlib等),所以需要從http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/下載這些庫來安裝。建議還是使用1.0的版本,比較方便。
  
  6、安裝net-snmp
  
  幾乎所有的網絡設備和操作系統默認都安裝了snmp服務。Unix系統安裝的都是net-snmp或UCd-snmp(其實兩個都是同一組人寫的)。假如沒有安裝snmp,可以到net-snmp.sourceforge.org上下載源碼編譯安裝。
  
  我這里說的安裝SNMP服務并不是要求安裝SNMPD,其實是Cacti需要用到net-snmp中的兩個命令――snmpwalk和snmpget進行數據的采集。我們可以直接在系統中運行snmpwalk和snmpget看是否有該命令,假如有則不用安裝了。
  
  7、安裝cacti
  
  下載:
  
  http://www.cacti.net/downloads/cacti-0.8.6c.tar.gz
  
  安裝
  
  代碼:
  
  cp cacti-0.8.6c.tar.gz /www/htdocs
  tar xzvf cacti-0.8.6c.tar.gz
  mv cacti-0.8.6c cacti
  cd cacti
  
  導入表
  
  代碼:
  
  /usr/local/mysql/bin/mysql –u root
  –prootroot cactidb < cacti.sql
  chown –R cactiuser rra/ log/
  
  設置


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 茶陵县| 岚皋县| 临海市| 抚松县| 青州市| 龙山县| 浮山县| 册亨县| 望江县| 林周县| 县级市| 湘阴县| 太白县| 芜湖市| 浮梁县| 武冈市| 菏泽市| 教育| 盐山县| 漳州市| 曲沃县| 获嘉县| 永吉县| 富宁县| 沂水县| 牙克石市| 读书| 武宣县| 河东区| 会昌县| 南靖县| 遂宁市| 峨山| 龙南县| 屏南县| 扎兰屯市| 易门县| 富源县| 吕梁市| 霍邱县| 松滋市|