Cacti

Cacti提供監控SNMP流量與系統資訊,也可外掛script與template來產生多種監控圖表。

網路上可以找到不少的安裝流程,如相關資源3,我使用的是Ubuntu,所以只要apt-get install cacti和mysql config即可。我另外還安裝phpmyadmin,這會讓我安心些。第一次連至cacti(http://hostip/cacti/)會出現installation畫面,只要稍為看一下cacti偵測的資訊與設定的資料庫資訊是否正確即可。第一次登入使用的帳號密碼為admin/admin,登入後會要求你修改密碼。

首先加要Monitor的Device。基本操作Cacti中文研究站有說明,我也不再贅述。我認為要注意的部分有幾個: Builtin的Host Template中,Local Linux Machine僅能用在localhost上。Cacti算是一種Agentless的監控軟體,而大部分的監控功能都是透過snmpget。如果要透過wmi或shellscript等外部程式方式,可以裝nagios plugin。

目前我使用的Graph設定方式,共有兩種。第一種是必須先建立Data Source再建立Graph: 舉例來說,我想要監控記憶體的使用量,我必須先選擇ucd/net - Memory - Buffersucd/net - Memory - Cacheucd/net - Memory - Free的Data Source。

接著到Graph Management新增ucd/net - Memory Usage,如下圖,要選擇對應的data source才會有資料。

第二種必須透過Data Query的方式,可以參考Cacti中文研究站。如下面的範例是在監控CPU使用量,這台主機有8個core,我選擇想監控的core,再點擊右下create鍵去產生graph。因為core 0和core 1已經在被建立過graph,所以UI呈現灰色不讓使用者點擊。

除了我上述的,Cacti還提供客制data與graph template的功能,但要如何使用需要花點時間研究,這也不是我涉略範圍。官網上可以找到別人做好的plugin與template,不乏針對Apache、Mysql、Oracle等應用程式的效能監控,與基於lm-sensor去監控硬體資訊,還有許多針對各大廠所硬體所客制化的template。對於發生問題的機器,也可以透過安裝threshold或alert的plugin,寄送通知給管理者。有哪些好用的plugin與template,就交由使用者們去費心思研究了! 另外我必須提醒一下,許多的template有著作業系統相依性,使用時必須注意,避免圖一直產生不出來。

發自內心的獨白: 要使用這個軟體的人,需要對於作業系統、script、snmp等知識有一定程度的認識才能使用的。

Memory

CPU

  • Builtin-Host MIB - CPU Utilization,在Windows、Linux皆可用,可惜沒整合報表。

Process

Disk

Common

  • Win32 System Stats,可以看到每秒鐘的context switch與system call的數量。
  • Builtin-ucd/net - Load Average,只能用於Linux。