zoukankan      html  css  js  c++  java
  • ganglia之web界面介绍

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

    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。

  • 相关阅读:
    如何增加学习感悟
    古代到清朝历史及文化
    至少的问题
    两次相遇同一地点
    行测都是选择题总结经验
    DES加密实现的思想及代码
    AES算法
    线性代数中行列与矩阵的联系和区别
    学习phalcon框架按照官网手册搭建第一个项目注册功能
    phpadmin增加使得项目能连接数据库
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10719087.html
Copyright © 2011-2022 走看看