柴少鹏的官方网站 技术在分享中进步,水平在学习中升华

Centos7.2 ganglia(二)之web界面介绍

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进程中所有主机的数据。)

blob.png

1.2 集群视图和物理视图

集群视图(集群是许多gmond的集合,集群视图顶部显示了整个集群的概要图标。每个主机的快速视图浏览再页面的下部。):

blob.png

#利用率热图:可以通过conf.php或者cond_default.conf里面的$conf['heatmaps_enabled'] = 0;来关闭

#如果节点过多,在连接缓慢的网络中使用gweb时,危及群众每个节点都加载一幅图表会话费大量时间,可以通过定义conf.php文件中的:$conf['max_graphs'] = 数字;来设置集群视图中所显示的主机图标数量的上限。

物理视图:

blob.png

blob.png

在页面最下角有一个组里面的所有主机的某个指标的显示信息:

blob.png


博文来自: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

)

查看效果:

blob.png


1.4 主机视图(显示和概括一个gmond进程上的指标)

blob.png

blob.png

二、Search选项卡

一般我们用Search选项卡来查找主机,当你主机过多的话,通过Search能够快速的定位。

blob.png

三、Views选项卡

视图是指标、主机报告图表或汇总图表的任意集合,是用户概览所指定内容的一种方式。

创建方法一(使用GUI创建视图):

因为我们默认来宾用户只拥有readonly权限,所以不能通过GUI的形式来创建视图,这里为了方便演示,我们对conf.php进行一下修改。

$conf['auth_system'] = 'disabled';  #将此从readonly改为disabled,就是来宾用户不用通过授权也能通过ganglia的web界面进行编辑,还有一个参数enabled就是开启登录授权功能。

修改完配置完毕后,再回到web界面:

注:这里做了设置补充下前面的一个页面设置:

3.1 页面graphs的修改:

blob.png

下面是正题:

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"}

查看效果图:

blob.png

博文来自:www.51niux.com

四、Aggregated Graphs选项卡

汇总图标,允许创建回合不同指标的综合图标,但最低限速是必须提供主机和指标的正则表达式。

blob.png

另外上图再JSON和Inspect中间有一个按钮Decompose,点击这个按钮可以弹出一个界面,这个界面有这些所有主机在此时间范围内所有此指标的数据图形。

五、Compare Hosts

主机比较特性使得用户可以比较所有匹配指标的主机。它会创建不同主机的每种指标的汇总图标。当用户想要查出某台主机(或某些主机)与其他主机采集指标上面的不同时候。

blob.png

另外上图再JSON和Inspect中间有一个按钮Decompose,点击这个按钮可以弹出一个界面,这个界面有这些所有主机在此时间范围内所有此指标的数据图形。但是前提是上一个指标项目Aggregated Graphs已经做了创建了,不然弹出的界面会提示:Alert: This graph can not be decomposed

如果比较某几个主机的:Hosts值那里设置,类似于:192.168.1.1(01|03|10)

blob.png


六、Events

事件是自定义的叠加在图标上的“垂直标记”,在特定事件发生时为用户提供可视化的提示。

blob.png

再次查看192.168.1.110的主机指标图,已经跟我们创建的时间相关联:

blob.png

查看下我们添加的事件配置:

# 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

报告功能,以文字的形式展示我们要查看的值。

blob.png

#所有主机的话用.表示。

七、Automatic Rotation

自动循环是面向数据中心管理员的一项特性,可以连续循环指标,该特性与视图联合使用,点击Automatic Rotation,然后选择所需循环的视图即可。浏览器关闭前指标将一直循环。当视图循环时可以修改视图,该修改将影响一个完整的循环。图标默认每30秒循环一次,可以再下拉按钮选择循环的时间最短为10秒,最长为90秒一循环。点击时间下拉框下面的Go back to Ganglia可以退出循环返回主界面。用户在不同的监视器上调用不同的视图进行循环。

八、Live Dashboard

活动信息中心提供了紧凑格式的所有视图指标概览。 数据每15秒更新一次。 仅支持包含指标或图表报告的元素。 将不包括聚合图。您可以使用浏览器缩放功能,每页获得更多图表。

在下拉框选择对应的views视图后的结果:

blob.png

九、Cubism

这个仪表盘的作用也是显示数据,以图形说明更清楚一点。

blob.png

下面是效果图:

blob.png

十、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,已经出现了,添加到页面中来。

blob.png

十二、其他特性

初始折叠指标组:      

$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,下面看效果:

blob.png

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等加入进来):

blob.png

#经测试,验证成功才能进入ganglia界面,不然会提示下方的内容,无法访问ganglia页面。

blob.png

注:还有一种更细致的权限管理方案,ganglia会根据不同的用户身份授予不同的权限:GangliaAcl。

作者:忙碌的柴少 分类:ganglia 浏览:6954 评论:2
留言列表
汪
请问ganglia里的利用率热图只能显示单一节点吗?如果想要显示多个热图可以实现吗?大概要怎么做呢?  回复
忙碌的柴少
忙碌的柴少 这个热图应该是一个组下面所有节点得把,你用热图干啥  回复
发表评论
来宾的头像