Hawkular安装

Hawkular安装

以下内容介绍Hawkular安装步骤,在安装过程中不要使用root用户,使用其他非root用户进行安装。

Apache Cassandra安装

安装 ccm(Cassandra Cluster Manager)

ccm是用于在本地主机上创建、启动和删除Apache Cassandra。

预先准备

  • 安装Python(本次环境是Python2.7版本)。

  • 安装pyYAMLsudo easy_install pyYaml
    若出现sudo: easy_install: command not found错误,则执行:

    sudo apt-get install python-setuptools
    

    完成后再执行命令:

    sudo easy_install pyYaml
    
  • 安装six sudo easy_install six

  • 安装antsudo apt-get install ant

  • 安装psutil

  • 安装Java(>=Java7)。

  • ccm只适用于localhost。如果要创建多个节点集群,需要使用别名。在现代linux发行版上,不需要做任何事情,但在Mac OS X中,您将需要创建别名:

    sudo ifconfig lo0 alias 127.0.0.2 up
    sudo ifconfig lo0 alias 127.0.0.3 up
    ...
    

    之后127.0.0.1,127.0.0.2和127.0.0.3都为可用的。

安装

执行命令:

pip install ccm

为Hawkular创建Cassandra集群

执行命令:

ccm create hawkular -v 3.0.12 -n 1
ccm updateconf "start_rpc: true"
ccm start

现在Cassandra在机器上的默认端口上运行。
常用命令:

ccm stop                                #停止当前集群的节点
ccm start                               #启动当前集群未启动的节点
ccm create                              #创建集群
ccm list                                #查看所有的集群
ccm switch  cluster_name                #切换集群
ccm status                              #查看当前集群状态
ccm remove                              #删除当前集群或者指定的集群(删除所有数据)

Hawkular Services安装

  1. 下载安装包hawkular-services
    下载名为:hawkular-services-dist-x.y.z.Final.zip (或者是 .tar.gz)的安装包,请下载0.35.0及之前的版本,因为0.36.0版本中存在未修复的问题。

  2. 解压安装包,解压目录根据需要选取(以下将Hawkular 解压目录称为$HS_HOME)。本次下载的安装包为: hawkular-services-dist-0.35.0.Final.zip,解压命令如下:

    sudo unzip hawkular-services-dist-0.35.0.Final.zip
    
  3. 进入hawkular-services-dist-0.35.0.Final目录,创建用户(替换命令中的myUsername和myPassword)。

    sudo sh ./bin/add-user.sh -a -u myUsername -p myPassword -g read-write,read-only
    
  4. 启动Hawkular Services:
    a.简单启动,命令如下:

    sh $HS_HOME/bin/standalone.sh
    

    b.使用嵌入式WildFly代理启动Hawkular Services(此功能用于监控自身,因为Hawkular Services基于WildFly,嵌入式代理可将指标和库存推送至Hawkular Services)。将myUsername和myPassword替换为步骤3中定义的用户名、密码,命令如下:

    sh $HS_HOME/bin/standalone.sh -Dhawkular.rest.user=myUsername -Dhawkular.rest.password=myPassword -Dhawkular.agent.enabled=true
    
  5. 启动成功后,访问 http://localhost:8080,界面如下所示:

    Hawkular Services状态页面

  6. 访问http://localhost:8080/hawkular/metrics可查看Metrics服务状态,如下图:

    Metrics Services状态页面

快速入门

示例流程:hawkular中添加Metrics,然后使用grafana读取所创建的Metrics,以下将介绍详细的实现。

添加Metrics

在hawkular的解压目录下新建文件metrics_day_1.json,内容如下:

[
  {"timestamp": 1468533600000, "value": 10},
  {"timestamp": 1468535400000, "value": 10},
  {"timestamp": 1468537200000, "value": 9.7},
  {"timestamp": 1468539000000, "value": 9.6},
  {"timestamp": 1468540800000, "value": 9.6},
  {"timestamp": 1468542600000, "value": 9.6},
  {"timestamp": 1468544400000, "value": 9.5},
  {"timestamp": 1468546200000, "value": 9.5},
  {"timestamp": 1468548000000, "value": 9.5},
  {"timestamp": 1468549800000, "value": 9.5},
  {"timestamp": 1468551600000, "value": 9.5},
  {"timestamp": 1468553400000, "value": 9.5},
  {"timestamp": 1468555200000, "value": 9.6},
  {"timestamp": 1468557000000, "value": 9.6},
  {"timestamp": 1468558800000, "value": 9.7},
  {"timestamp": 1468560600000, "value": 9.7},
  {"timestamp": 1468562400000, "value": 9.8},
  {"timestamp": 1468564200000, "value": 10},
  {"timestamp": 1468566000000, "value": 10.2},
  {"timestamp": 1468567800000, "value": 10.3},
  {"timestamp": 1468569600000, "value": 10},
  {"timestamp": 1468571400000, "value": 9.9},
  {"timestamp": 1468573200000, "value": 10.1},
  {"timestamp": 1468575000000, "value": 9.7},
  {"timestamp": 1468576800000, "value": 9.2},
  {"timestamp": 1468578600000, "value": 9.2},
  {"timestamp": 1468580400000, "value": 9.9},
  {"timestamp": 1468582200000, "value": 11},
  {"timestamp": 1468584000000, "value": 12.4},
  {"timestamp": 1468585800000, "value": 13.3},
  {"timestamp": 1468587600000, "value": 14.3},
  {"timestamp": 1468589400000, "value": 13.6},
  {"timestamp": 1468591200000, "value": 11},
  {"timestamp": 1468593000000, "value": 10.2},
  {"timestamp": 1468594800000, "value": 10.1},
  {"timestamp": 1468596600000, "value": 10.3},
  {"timestamp": 1468598400000, "value": 10.9},
  {"timestamp": 1468600200000, "value": 11.4},
  {"timestamp": 1468602000000, "value": 11.7},
  {"timestamp": 1468603800000, "value": 11.5},
  {"timestamp": 1468605600000, "value": 11.1},
  {"timestamp": 1468607400000, "value": 10.6},
  {"timestamp": 1468609200000, "value": 10.1},
  {"timestamp": 1468611000000, "value": 9.6},
  {"timestamp": 1468612800000, "value": 9.2},
  {"timestamp": 1468614600000, "value": 9.1},
  {"timestamp": 1468616400000, "value": 9.1},
  {"timestamp": 1468618200000, "value": 9.1}
]

执行命令:

cd hawkular-services-dist-0.35.0.Final/
curl -u myUsername:myPassword -X POST http://localhost:8080/hawkular/metrics/gauges/temperature/raw -d @metrics_day_1.json -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"

至此已经添加了组织:myTenant,Metric:temperature

直接使用REST API查看

结果如下:

[root@localhost hawkular-services-dist-0.35.0.Final]# curl -u admin:admin123 \
> -X GET "http://localhost:8080/hawkular/metrics/gauges/temperature/raw?start=1468578600000&end=1468594800001&order=ASC" \
>   -H "Content-Type: application/json" -H "Hawkular-Tenant: myTenant"
[{"timestamp":1468578600000,"value":9.2},{"timestamp":1468578600000,"value":9.2},{"timestamp":1468580400000,"value":9.9},{"timestamp":1468580400000,"value":9.9},{"timestamp":1468582200000,"value":11.0},{"timestamp":1468582200000,"value":11.0},{"timestamp":1468584000000,"value":12.4},{"timestamp":1468584000000,"value":12.4},{"timestamp":1468585800000,"value":13.3},{"timestamp":1468585800000,"value":13.3},{"timestamp":1468587600000,"value":14.3},{"timestamp":1468587600000,"value":14.3},{"timestamp":1468589400000,"value":13.6},{"timestamp":1468589400000,"value":13.6},{"timestamp":1468591200000,"value":11.0},{"timestamp":1468591200000,"value":11.0},{"timestamp":1468593000000,"value":10.2},{"timestamp":1468593000000,"value":10.2},{"timestamp":1468594800000,"value":10.1},{"timestamp":1468594800000,"value":10.1}]

给grafana安装hawkular-datasource插件

详细教程参见官方文档

  • 使用grafana-cli直接安装,命令如下:

    grafana-cli plugins install hawkular-datasource
    

    插件会安装在grafana的plugins目录下,默认是在/var/lib/grafana/plugins里。

  • 手动安装,直接下载[插件安装包]( download the .zip file)到grafana/data/plugins目录下,然后解压。

配置数据源

示例配置如下图所示:

配置hawkular数据源

Tenant填写创建的组织名,Token不用填写。

配置面板

新建面板之后,做如下配置:


配置完成后,调整查询时间(此次测试数据产生的时间在2016年7月15日),然后就可以在面板中查看测试数据了,如下图:

Troubleshooting

使用hawkular-services-dist-0.36.0.Final.zip包安装,启动hawkular时出现问题:

10:33:47,567 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-7) RESTEASY002010: Failed to execute: javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: http://localhost:8080/hawkular/inventory/status
        at org.jboss.resteasy.core.registry.ClassNode.match(ClassNode.java:75)
        at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48)
        at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:445)
        at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:257)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:194)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)

访问 http://localhost:8080,界面如下:


解决办法:使用hawkular-services-dist-0.35.0.Final.zip(.tar.zip)及之前的安装包。

补充
配置hawkular连接manageiq步骤:

  1. 拉取manageiq镜像:

    sudo docker pull manageiq/manageiq:fine-2
    
  2. 运行manageiq:

    sudo docker run --privileged -d -p 8443:443   manageiq/manageiq:fine-2
    
  3. 连接manageiq和hawkular:
    详细步骤参见官方配置文档中的ADDING HAWKULAR AS PROVIDER IN MANAGEIQ部分,注意此处访问的是https://localhost:8443
    在配置中出现不能连接hawkular时可运行如下命令:

    iptables -I INPUT 1 -i docker0 -j ACCEPT
    
  4. 连接成功之后可以如下图所示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容

  • 1基本安装1.1在基于RHEL的系统中安装Cassandra1.1.1必要条件Ø YUM包管理器Ø Root或...
    战神汤姆阅读 1,046评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,803评论 6 342
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    会飞的鱼Coo阅读 4,505评论 1 23
  • Apache Cassandra 是一个开源的、分布式、去中心化、弹性可扩展、高可用性、容错、一致性可调、面向行的...
    梁睿坤阅读 14,047评论 2 25