ELK 栈由 Elastic Search, Logstash 和 Kibana 三部分开源软件组成,可以实现日志数据的搜索,分析以及可视化。
一张图了解 ELK 的工作机制。
在安装 juju 以后,我们可以直接从 charm store 中下载并部署.(*charm store 可以理解成是用于 juju 的开源软件包分享平台,一些作者把编辑好的 charm 上传,我们可以通过该路径下载到自己的juju环境中)
juju deploy cs:~omnivector/bundle/elk
等待几秒钟 charm 部署完毕以后,可以通过 juju status 命令来查看当前状态
juju status
处于 ready 状态说明已经安装成功,如下截图所示
为了检测三个软件是否有效连接,我们可以通过以下方法测试。
生成一些随机噪音 “random noise”,并从 Kibana 来观察是否检测到并且显示我们随机生成的噪音。
随机生成 noise
generate-noise 可以产生随机噪音,用于临时测试。它是 logstash 这个 charm 软件包中一个预置的一个功能,可以通过 juju action 来实现。
juju run-action logstash/0 generate-noise
run-action 命令执行以后,我们可以用 watch 查看 action id,并拷贝该 id 用于下一步操作
watch juju show-action-status
查询该 action 的 id, 我们按如下命令操作
juju show-action-output
登陆 Kibana,设置 Index
我们可以通过 juju status 来查看 kibana 对应的 IP 地址,并复制到浏览器中访问。
访问需要用户名和密码,这里的用户名默认为 admin,密码可以通过 charm store 中的 Kibana Charm 页面查看。
不出意外的话到这里就可以成功登陆到 Kibana 啦!!!!!
我们依次选择 Management -> Index Patterns -> Create Index Pattern
在 Index Parttern 搜索框中,如果输入 logstash 就可以看到之前生成的噪音啦。之后我们点击 Next Step
这里我们选择通过时间戳 @timestamp 过滤索引,然后点击 Create Index Pattern,这样我们就可以创建索引样式了!
在 Kibana 中查看生成的噪音
在左侧的工具栏中,我们可以选择顶部的 Discover,选择我们刚刚创建的 Logstash* Index, Kibana会根据我们的数据生成可视化界面,可以通过设置不同的参数来查看噢!
Yaaay!! Congratulations, you made it!