歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在 Cacti 中合並兩幅圖片

如何在 Cacti 中合並兩幅圖片

日期:2017/2/28 14:00:30   编辑:Linux教程

Cacti 是一個很棒的開源網絡監視系統,它廣泛使用於圖形化地展示網絡元素,例如帶寬、存儲、處理器和內存使用。使用它的基於Web 的界面,你可以輕松地創建和組織各種圖表。然而,它默認並沒有提供一些高級功能,例如合並圖片、使用多個來源創建聚合圖形、遷移 Cacti 到另一台服務器。使用 Cacti 的這些功能你還需要一些經驗。在該教程中,我們會看到如何在將兩幅 Cacti 圖片合並為一幅。

看看這個例子。在過去的 6 個月中,客戶端 A 連接到了交換機 A 的端口 5。端口 5 發生了錯誤,因此客戶端遷移到了端口 6。由於 Cacti 為每個接口/元素使用不同的圖,客戶端的帶寬歷史會分成端口 5 和端口 6。結果是對於一個客戶端我們有兩幅圖片 - 一幅是 6 個月的舊數據,另一幅保存了後續的數據。

在這種情況下,我們實際上可以合並兩幅圖片將舊數據加到新的圖中,使得用一個單獨的圖為一個用戶保存歷史的和新數據。本教程將會解釋如何做到這一點。

Cacti 將每幅圖片的數據保存在它自己的 RRD(round robin database,循環數據庫)文件中。當請求一幅圖片時,根據保存在對應 RRD 文件中的值生成圖。在 Ubuntu/Debian 系統中,RRD 文件保存在 /var/lib/cacti/rra,在 CentOS/RHEL 系統中則是 /var/www/cacti/rra

合並圖片背後的思想是更改這些 RRD 文件使得舊 RRD 文件中的值能追加到新的 RRD 文件中。

情景

一個客戶端的服務在 eth0 上運行了超過一年。由於硬件損壞,客戶端遷移到了另一台服務器的 eth1 接口。我們想展示新接口的帶寬,同時保留超過一年的歷史數據。該客戶端希望只在一幅圖中顯示。

確定圖的 RRD 文件

圖合並的首個步驟是確定與圖相關聯的 RRD 文件。我們可以通過以調試模式打開圖檢查文件。要做到這點,在 Cacti 的菜單中: 控制台 > 管理圖 > 選擇圖 > 打開圖調試模式。

舊圖:

新圖:

從樣例輸出(基於 Debian 系統)中,我們可以確定兩幅圖片的 RRD 文件:

  • 舊圖: /var/lib/cacti/rra/oldgraphtrafficin8.rrd
  • 新圖: /var/lib/cacti/rra/newgraphtrafficin10.rrd

准備腳本

我們會用一個 RRD 剪接腳本 來合並兩個 RRD 文件。下載該 PHP 腳本,並安裝到 /var/lib/cacti/rra/rrdsplice.php (Debian/Ubuntu 系統) 或 /var/www/cacti/rra/rrdsplice.php (CentOS/RHEL 系統)。

下一步,確認 Apache 用戶擁有該文件。

在 Debian 或 Ubuntu 系統中,運行下面的命令:

  1. # chown www-data:www-data rrdsplice.php

並更新 rrdsplice.php。查找下面的行:

  1. chown($finrrd,"apache");

用下面的語句替換:

  1. chown($finrrd,"www-data");

在 CentOS 或 RHEL 系統中,運行下面的命令即可:

  1. # chown apache:apache rrdsplice.php

合並兩幅圖

通過不帶任何參數運行該腳本可以獲得腳本的使用語法。

  1. # cd /path/to/rrdsplice.php
  2. # php rrdsplice.php

  1. USAGE: rrdsplice.php --oldrrd=file --newrrd=file --finrrd=file

現在我們准備好合並兩個 RRD 文件了。只需要指定舊 RRD 文件和新 RRD 文件的名稱。我們會將合並後的結果重寫到新 RRD 文件中。

  1. # php rrdsplice.php --oldrrd=old_graph_traffic_in_8.rrd --newrrd=new_graph_traffic_in_10.rrd --finrrd=new_graph_traffic_in_10.rrd

現在舊 RRD 文件中的數據已經追加到了新 RRD 文件中。Cacti 會將任何新數據寫到新 RRD 文件中。如果我們點擊圖,我們可以發現也已經添加了舊圖的周、月、年記錄。下面圖表中的第二幅圖顯示了舊圖的周記錄。

總之,該教程顯示了如何簡單地將兩幅 Cacti 圖片合並為一幅。當服務遷移到另一個設備/接口,我們希望只處理一幅圖片而不是兩幅時,這個小技巧非常有用。該腳本非常方便,因為它可以不管源設備是不是相同都可以合並圖片,例如 Cisco 1800 路由器和 Cisco 2960 交換機。

希望這些能對你有所幫助。

--------------------------------------分割線 --------------------------------------

RHEL6.4中使用Cacti+Spine監控主機實現發送郵件報警 http://www.linuxidc.com/Linux/2013-11/92795.htm

RHEL6.4中使用Cacti+Spine監控遠程主機 http://www.linuxidc.com/Linux/2013-11/92796.htm

CentOS 5.5完整安裝Cacti+Spine http://www.linuxidc.com/Linux/2011-12/49701.htm

CentOS 6下Cacti搭建文檔 http://www.linuxidc.com/Linux/2013-06/86595.htm

RHEL5.9下Cacti監控部署詳解 http://www.linuxidc.com/Linux/2013-06/85427.htm

CentOS 6.3 下Cacti 安裝詳解 http://www.linuxidc.com/Linux/2013-05/84279.htm

CentOS Linux下快速安裝配置Cacti中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm

--------------------------------------分割線 --------------------------------------

Cacti 的詳細介紹:請點這裡
Cacti 的下載地址:請點這裡


via: http://xmodulo.com/combine-two-graphs-cacti.html

作者:Sarmed Rahman 譯者:ictlyh 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

Copyright © Linux教程網 All Rights Reserved