轉自:https://blog.csdn.net/lswnew/article/details/79175555
http://www.51niux.com/?id=83 第一篇文章講述了ganglia的搭建過程以及主要配置文件的參數解釋,這篇文章對web界面的功能做解釋。
gweb由:Main、Search、Views、Aggregate Graphs、Compare Hosts、Events、Reports、Automatic Rotation、Live Dashboard、Cubism、Mobile這些選項卡組成,用戶可以快速查看所需信息。
一、Main選項卡
1.1 網格視圖
(網格中所有集群的圖形概述,是可用視圖中的最高層視圖。網格圖標概述了單個gmetad進程中所有主機的數據。)
1.2 集群視圖和物理視圖
集群視圖(集群是許多gmond的集合,集群視圖頂部顯示了整個集群的概要圖標。每個主機的快速視圖瀏覽再頁面的下部。):
#利用率熱圖:可以通過conf.php或者cond_default.conf里面的$conf['heatmaps_enabled'] = 0;來關閉
#如果節點過多,在連接緩慢的網絡中使用gweb時,危及群眾每個節點都加載一幅圖表會話費大量時間,可以通過定義conf.php文件中的:$conf['max_graphs'] = 數字;來設置集群視圖中所顯示的主機圖標數量的上限。
物理視圖:
在頁面最下角有一個組里面的所有主機的某個指標的顯示信息:
博文來自:www.51niux.com
1.3 調整時間范圍
從上面那些圖中,我們看到了有個時間的地方,那么如果我們要自定義時間范圍呢,想以分鍾,小時的范圍顯示呢?
# vi /var/www/html/ganglia/conf_default.php
修改前:
$conf['time_ranges'] = array(
'hour'=>3600,
'2hr'=>7200,
'4hr'=>14400,
'day'=>86400,
'week'=>604800,
'month'=>2419200,
'year'=>31449600,
# Needs to be an entry here to support 'r=job' in the query args to graph.php
'job'=>0
);
修改后:
$conf['time_ranges'] = array(
'5min'=>300,
'30min'=>1800,
'1hr'=>3600,
'day'=>86400,
'week'=>604800,
'month'=>2419200,
'year'=>31449600,
# Needs to be an entry here to support 'r=job' in the query args to graph.php
'job'=>0
)
查看效果:
1.4 主機視圖(顯示和概括一個gmond進程上的指標)
二、Search選項卡
一般我們用Search選項卡來查找主機,當你主機過多的話,通過Search能夠快速的定位。
三、Views選項卡
視圖是指標、主機報告圖表或匯總圖表的任意集合,是用戶概覽所指定內容的一種方式。
創建方法一(使用GUI創建視圖):
因為我們默認來賓用戶只擁有readonly權限,所以不能通過GUI的形式來創建視圖,這里為了方便演示,我們對conf.php進行一下修改。
$conf['auth_system'] = 'disabled'; #將此從readonly改為disabled,就是來賓用戶不用通過授權也能通過ganglia的web界面進行編輯,還有一個參數enabled就是開啟登錄授權功能。
修改完配置完畢后,再回到web界面:
注:這里做了設置補充下前面的一個頁面設置:
3.1 頁面graphs的修改:
下面是正題:
Views==>Create View==>
3.2 創建方法二(使用JSON定義視圖):
視圖以JSON文件的形式存放在conf_dir目錄下。conf_dir的路徑為conf_default.php里面的配置:
$conf['gweb_confdir'] = "/var/lib/ganglia-web";
$conf['views_dir'] = $conf['gweb_confdir'] . '/conf';
所以我們的views視圖的默認配置文件是:
# cat /var/lib/ganglia-web/conf/view_system_mem.json #這就是我們剛才添加的那個views視圖
{
"view_name": "system_mem", #視圖名稱,必須唯一
"default_size": "medium", #視圖顯示尺寸
"items": [
{
"hostname": "192.168.1.101", #需要顯示指標或圖標的主機名稱
"metric": "mem_free", #指標名稱
"vertical_label": "KB", #指標單位
"title": "Free Memory" #指標標題
},
{
"hostname": "192.168.1.101",
"metric": "mem_free",
"vertical_label": "KB",
"title": "Free Memory",
"warning": "3.3", #(可選)添加垂直黃線,提供預警狀態的可視化提示
"critical": "3.5" #(可選)添加垂直紅線,提供臨界狀態的可視化提示
},
{
"hostname": "192.168.1.101",
"metric": "mem_free",
"vertical_label": "KB",
"title": "Free Memory",
"warning": "3.6",
"critical": "3.4"
},
{
"hostname": "192.168.1.101",
"metric": "mem_free",
"vertical_label": "KB",
"title": "Free Memory",
"warning": "3.0",
"critical": "2.5"
},
{
"hostname": "192.168.1.102",
"metric": "mem_free",
"vertical_label": "KB",
"title": "Free Memory"
} ,
{
"hostname": "192.168.1.103",
"metric": "swap_free",
"vertical_label": "KB",
"title": "Free Swap Space",
"warning": "5",
"critical": "4"
},
{
"hostname": "192.168.1.103",
"graph": "mem_report" #圖標名稱
}
],
"view_type": "standard", #standard或regex。regex類型視圖允許用戶指定用戶指定正則表達式匹配主機。
"parent": null,
"common_y_axis": 0
}
# python -m json.tool view_system_mem.json #用此命令可以檢測我們的編寫的view視圖有沒有問題,下面是報錯提示再54行沒有逗號,如果正確的話,會將整個配置文件輸出。
Expecting , delimiter: line 54 column 3 (char 1160)
舉個例子:如果我們比較關心某些主機的某些指標數據,就可以通過編寫一個json的views視圖,來集中展示一些主機的指標。
比如我們想看192.168.1.107到192.168.1.112的內存指標graphs圖:
# cat /var/lib/ganglia-web/conf/view_mem_graphs.json
{"view_name":"mem_graphs",
"items":[
{"hostname":"192.168.1.107","graph":"mem_report"},
{"hostname":"192.168.1.108","graph":"mem_report"},
{"hostname":"192.168.1.109","graph":"mem_report"},
{"hostname":"192.168.1.110","graph":"mem_report"},
{"hostname":"192.168.1.111","graph":"mem_report"},
{"hostname":"192.168.1.112","graph":"mem_report"}],
"view_type":"standard"}
查看效果圖:
博文來自:www.51niux.com
四、Aggregated Graphs選項卡
匯總圖標,允許創建回合不同指標的綜合圖標,但最低限速是必須提供主機和指標的正則表達式。
另外上圖再JSON和Inspect中間有一個按鈕Decompose,點擊這個按鈕可以彈出一個界面,這個界面有這些所有主機在此時間范圍內所有此指標的數據圖形。
五、Compare Hosts
主機比較特性使得用戶可以比較所有匹配指標的主機。它會創建不同主機的每種指標的匯總圖標。當用戶想要查出某台主機(或某些主機)與其他主機采集指標上面的不同時候。
另外上圖再JSON和Inspect中間有一個按鈕Decompose,點擊這個按鈕可以彈出一個界面,這個界面有這些所有主機在此時間范圍內所有此指標的數據圖形。但是前提是上一個指標項目Aggregated Graphs已經做了創建了,不然彈出的界面會提示:Alert: This graph can not be decomposed
如果比較某幾個主機的:Hosts值那里設置,類似於:192.168.1.1(01|03|10)
六、Events
事件是自定義的疊加在圖標上的“垂直標記”,在特定事件發生時為用戶提供可視化的提示。
再次查看192.168.1.110的主機指標圖,已經跟我們創建的時間相關聯:
查看下我們添加的事件配置:
# cat /var/lib/ganglia-web/conf/events.json
[{"event_id":"58803066f0ca5","start_time":1484755200,"summary":"rrdcached guancha","grid":"*","cluster":"*","host_regex":"192.168.1.110","description":""},{"event_id":"588030ea863ff","start_time":1484755200,"summary":"rrdcached guane","grid":"*","cluster":"*","host_regex":"192.168.1.110","description":"","end_time":1485792000}]
博文來自:www.51niux.com
六、Reports
報告功能,以文字的形式展示我們要查看的值。
#所有主機的話用.表示。
七、Automatic Rotation
自動循環是面向數據中心管理員的一項特性,可以連續循環指標,該特性與視圖聯合使用,點擊Automatic Rotation,然后選擇所需循環的視圖即可。瀏覽器關閉前指標將一直循環。當視圖循環時可以修改視圖,該修改將影響一個完整的循環。圖標默認每30秒循環一次,可以再下拉按鈕選擇循環的時間最短為10秒,最長為90秒一循環。點擊時間下拉框下面的Go back to Ganglia可以退出循環返回主界面。用戶在不同的監視器上調用不同的視圖進行循環。
八、Live Dashboard
活動信息中心提供了緊湊格式的所有視圖指標概覽。 數據每15秒更新一次。 僅支持包含指標或圖表報告的元素。 將不包括聚合圖。您可以使用瀏覽器縮放功能,每頁獲得更多圖表。
在下拉框選擇對應的views視圖后的結果:
九、Cubism
這個儀表盤的作用也是顯示數據,以圖形說明更清楚一點。
下面是效果圖:
十、Mobile
gweb的Mobile是為了移動設備優化的Ganglia Web界面。gweb主機上的/ganglia/mobile.php路徑下可以找到移動視圖,適用於jQueryMobile工具包支持的任意移動瀏覽器.
十一、自定義復合圖標
在Views選項卡的講解中已經點到了復合圖表,那么我們如何修改復合圖表或者自定義呢?
首先復合圖表所在的位置,為ganglia web站點目錄的graph.d下面,如:/var/www/html/ganglia/graph.d/
現在我們自定義一個復合圖表,里面只有cpu空閑,內存空閑和磁盤空閑,如下列:
# cat system_base_report.json
{
"report_name" : "system_base_report", #復合圖的名稱
"title" : "system base report", #圖表中顯示的標題
"vertical_label" : "system_base", #Y軸的描述(可選)
"series" : [ #構成圖表的指標
{ "metric":"cpu_idle", "color":"3333bb", "label":"cpu_idle", "line_width":"2","type":"line"},
{ "metric":"disk_free_percent_rootfs", "color":"6d9eeb", "label":"disk_free_percent_rootfs ", "line_width":"2","type":"line"},
{ "metric":"mem_free", "color":"ffea00", "label":"Free Memory", "line_width":"2","type":"line"},
{ "metric":"procstat_gmond_mem", "color":"a64d79", "label":"gmond_mem", "line_width":"2","type":"line"}
]
}
#metric :指標名稱,如果指標不存在,系統將自動略過
#color :6位進制顏色編碼
#label :指標的標簽,也就是圖表下方顯示內容值的名稱
#type :屬性類型,line(線性)或stack(堆疊)
#line_width :線寬,默認值為2。如果設置的type是stack,則設置了線寬系統也會自動忽略。
然后點擊Edit Optional Graphs按鈕,會看到我們自定義的這個system_base_report,已經出現了,添加到頁面中來。
十二、其他特性
初始折疊指標組:
$conf['metric_groups_initially_collapsed'] = false; #這里默認是不折疊,將false改為true,就會默認折疊所有的指標組,需要點開才能看到指標圖。
默認刷新周期:
$conf['default_refresh'] = 300; #默認主機視圖和集群視圖每五分鍾刷新一次,調整這里可以改變刷新的頻率
從圖表主機名中刪除域名:
$conf['strip_domainname'] = false; #gweb接口在圖標中默認顯示全稱域名。如果主機在同一域,這里設置為true,來刪除域名。設置成true好一點。在主機圖標顯示的地方只顯示主機會顯得簡潔一點。
設置默認時間周期:
$conf['default_time_range'] = 'hour'; #默認時間顯示就是hour,就是當前一個小時,我們可以調整期顯示的時間,如改為:day,下面看效果:
ganglia開啟認證登錄(ganglia還是只是readonly模式,我們用apache自帶的認證系統):
# cat /etc/httpd/conf/httpd.conf #在配置文件末尾加上下面這些
<Directory "/var/www/html/ganglia">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "ganglia Access"
AuthUserFile /usr/local/ganglia/htpasswd.user
Require valid-user
</Directory>
下面是測試結果(當然如果你不想只用一個用戶,想每個人一個用戶,可以用LDAP等加入進來):
#經測試,驗證成功才能進入ganglia界面,不然會提示下方的內容,無法訪問ganglia頁面。
注:還有一種更細致的權限管理方案,ganglia會根據不同的用戶身份授予不同的權限:GangliaAcl。