建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

ES_Siyu

发帖: 26粉丝: 0

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2018-5-2 11:12:43 142732 楼主 显示全部楼层
[服务教程] 在云搜索服务上实现ELK(Elasticsearch, Logstash, Kibana)实时日志解决方案

本帖最后由 ES_Siyu 于 2018-5-3 20:09 编辑

实际中,日志通常会记录系统、应用程序和安全等信息。通过分析日志,开发和运维人员可以了解服务器信息和定位问题,进而进行错误纠正。

但是日志通常分散存在不同设备,依次登录每台机器查看日志将会特别低效。因此,业界常用ELK将日志进行集中化管理,并用其强大的检索和聚合能力进行日志分析。

其中:
·  Elasticsearch是一个开源分布式搜索引擎,支持近乎实时搜索,具有强大的检索和聚合能力,RESTful接口等优势
·  Logtash是一个负责对日志进行收集,过滤,传输的开源工具
·  Kibana是一个对搜索和分析的可视化的开源工具

在这篇文章,我们将基于华为云云搜索(https://www.huaweicloud.com/product/es.html)进行ELK平台的搭建。

为简化方便,下图展示了ELK的基本架构。

截图.PNG

其中:
·  被采集日志的服务器在华为云
·  Logstash部署在被采集日志的服务器上
·  Elasticsearch和Kibana都在云搜索集群上
·  云搜索集群和服务都在同一VPC、子网和安全网下
·  Elasticsearch,Kibana和Logstash选用的版本都是5.5.1。
·  服务器选用的是CENTOS系统

在这篇文章,我们分析的日志数据(Apache Log)格式如下:

2.png

1     申请云搜索服务
详细步骤请参照:
申请的云搜索集群中,包含E(Elasticsearch)和K(Kibana),能够极大帮助用户减少部署等琐碎工作。
创建成功后,能够看到集群列表,包含访问地址等信息。
3.png

2     在服务器上部署Logstash
2.1     安装Java
Logstash的运行依赖于Java环境,因此推荐使用最近版本的Java。在这里,我们使用Java1.8。具体步骤请自行搜索安装。

2.2     安装Logstash
我们选用RPM包,通过服务器上EIP拷贝到各台服务器。执行下列命令,安装Logstash
4.png
移动配置文件到logstash目录。本例中Logstash被安装到/usr/share/logstash/,而配置文件在/etc/logstash/。这里请根据用户的具体情况来操作。
5.png
其中配置文件包含:
6.png

2.3     添加Logstash配置文件
新建文件
7.png
输入内容
8.png
其中
·  input指明了数据的来源。此处设为文件。
·  filter对日志进行了提取和处理,将非结构化信息转换为结构化信息
·  output指明了数据的输出。此处设为Elasticsearch,ip地址能在云搜索的集群列表中查看。
1.png

2.4     启动Logstash
9.png


3     使用Kibana
3.1     在云搜索集群页面点开Kibana
1.png
3.2     查看导入数据
2.png
我们看到原本的非结构化的信息被很好地解析成了不同字段,包括IP,时间,请求等信息。

3.3     添加索引模式
点击“Management”,添加index pattern。这里我们的索引名为“Logstash-*”,时间字段为“@timestamp”.
3.png

3.4     添加可视化
在这里我们将统计用户访问的http状态码分布,以检测服务器运行的稳定程度。
点击“Visualize”,接着点击“Create a visualization”

4.png
选择饼状图“Pie

5.jpg
点击选择“logstash-*”
6.png
配置信息
·  这里我们采用上一年的数据,因此选择“Previousyear”,可以在右上角看到这个选项。
·  在“SliceSize”,选择“Aggregation”为“Unique Count”,“Field”为“host”。这是让出现相同ip的状态码只算一次。
·  在“SplitSlices”,选择“Aggregation”为“Terms”,“Field”为“status”。这是让饼状图按照状态码来统计。
·  在这张图,我们饼状图采用环装设计,这可以在左边栏点击“Options”,勾选“Donut”。


查看可视化结果
7.png




回复 举报
分享

分享文章到朋友圈

分享文章到微博

建赟

发帖: 72粉丝: 3

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2018-5-24 23:00:51 沙发 显示全部楼层
学习一下
点赞 回复 举报

reidme

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2018-5-29 11:02:12 板凳 显示全部楼层
666,学习了
点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册