配置三台服务器组成的ELK集群(二)-阿里云开发者社区

开发者社区> 海上测试猿> 正文

配置三台服务器组成的ELK集群(二)

简介: 上一篇里主要是介绍了ES和ES-Head的安装过程,这一篇继续介绍ELK集群的其他核心组件安装过程。 五、安装Logstash: 本案的Logstash安装在10.113.130.117上;燃鹅,Logstash也可以利用多台组成集群,如果未来单台处理不过来,可以把Logstash扩展到其他服务器上。
+关注继续查看

上一篇里主要是介绍了ES和ES-Head的安装过程,这一篇继续介绍ELK集群的其他核心组件安装过程。

五、安装Logstash:

本案的Logstash安装在10.113.130.117上;燃鹅,Logstash也可以利用多台组成集群,如果未来单台处理不过来,可以把Logstash扩展到其他服务器上。

将logstash.tar.gz解压到指定目录:

# tar -zxvf logstash-5.4.1.tar.gz -C /opt/ 

# mv /opt/logstash-5.4.1/ /opt/logstash/

logstash三种启动方式,靠参数进行选择:-e sting类型启动,-f 指定配置文件启动,服务启动。

但我们没有通过yum安装,暂时无法以服务方式启动——需要编写启动脚本。 

创建简单的配置文件:

# cd /opt/logstash/config
# cp sample.conf es-cluster.conf 

# vim /opt/logstash/config/es-cluster.conf
#参考下面的配置信息,Logstash启动后读取/var/log/messages的文件内容
input{
    file{
        start_position => "beginning"
        path => ["/var/log/messages "]
        type => 'messagelog'
    }
}

#然后将文件内容发送给ElasticSearch的目标服务器
output{ elasticsearch { hosts => ["10.113.130.116:9200"] } }

完成配置修改后,先启动logstash,看一下运行情况:

# /opt/logstash/bin/logstash -f /opt/logstash/config/es-cluster.conf &

#如果看到如下信息,表示启动成功:
[INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>[#<URI::Generic:0x5f86b37e URL://10.113.130.116:9200>]}
[INFO ][logstash.pipeline] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
[INFO ][logstash.pipeline] Pipeline main started
[INFO ][logstash.agent] Successfully started Logstash API endpoint {:port=>9600}

 

六、安装FileBeats

当Logstash安装完成后,要实现从应用服务器上收集日志的工作,这个工作如果使用Logstash来执行,也是没有问题的。

在应用服务器上,按照以上安装Logstash的操作和配置就可以达到目的;但是Logstash安装繁琐,而且如果仅仅作为收集日志的代理,未免太重。

 因此选择官方推荐的FileBeats作为勤劳的工蜂,实现指定文件的扫描、文件内容的收集和发送工作。

 让我们看看是不是在5分钟内能完成FileBeats的安装配置吧:

# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-x86_64.rpm
# rpm -vi filebeat-5.4.1-x86_64.rpm

修改配置文件:

# vim /etc/filebeat/filebeat.yml 

filebeat.prospectors: 

- input_type: log 

  paths:
- /ane/tomcat/logs/*.log
#- /ane/tomcat/logs/*.out

  input_type: log 

#----------------------------- Logstash output --------------------------------

output.logstash:

  # The Logstash hosts
  hosts: ["10.113.130.117:5044"]
  worker: 4

配置了日志输出到Logstash之后,建议注释掉输出到Elasticsearch的部分。

 启动FileBeats:

 - For CentOS:
# systemctl start filebeat

 - For Redhat 6.5# service filebeat start

如果采用了FileBeat收集日志文件,则可以关闭Logstath的文件读取,从指定的端口读取数据流。

登录到Logstash的服务器(10.113.130.117),修改Logstash的配置文件为如下内容:

# vim /opt/logstash/config/es-cluster.conf

input{
       stdin{}
       beats{port => 5044}
}

output{
       elasticsearch {
              hosts => ["10.113.130.116:9200"]
              index => "logstash-%{+YYYY.MM.dd}"
              document_type => "%{[@metadata][type]}"
       }
}

修改完以后,重启Logstash。

请注意一个细节:logstash-%{+YYYY.MM.dd},不能写成{+YYYY.MM.DD},不然第二天以后的日期显示不正确!下面展示写错的情况:

上面图中的logstash-2017.06.170,是6月18日的日志文件的汇总标题。前一天(17日)是正确的,次日就这样了。

 

七、安装Kibana

Kibana安装在10.113.130.118上。从官网下载Kibana.tar.gz,解压到/opt目录下:

# tar -zxvf kibana-5.4.0-linux-x86_64.tar.gz -C /opt/

# mv /opt/kibana-5.4.0-linux-x86_64 /opt/kibana/
# cd /opt/
# chown -R elasticsearch:elasticsearch kibana

修改配置文件

# cd kibana/
#
vim config/kibana.yml #修改如下选项: Server.port: 5601 Server.host: “0.0.0.0” Elasticsearch.url: “10.113.130.116:9200” Kibana.index: “.kibana” Pid.file: /var/run/kibana.pid

由于kibana文件夹的所有者为Elsticsearch,运行也要以elsticsearch用户身份。

与Elsticsearch的处理方式类似,创建启动脚本:

# vim kibana-start.sh
su - elasticsearch -c "nohup /opt/kibana/bin/kibana> /dev/null 2>&1 &"

# chmod +x kibana-start.sh
# mv kibana-start.sh /usr/local/bin

#kibana-start.sh

Kibana启动以后,在浏览器输入http://10.113.130.118:5601,可以看到如下页面:

 

 

八、安装ElasticHD

ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作ES了。目前支持如下功能:

  • ES 实时搜索
  • ES DashBoard 数据可视化
  • ES Index Template (在线修改、查看、上传)
  • SQL Converts to DSL
  • ES 基本查询文档

 详见:https://github.com/farmerx/elasticHD/wiki

 

登录到第一台服务器(10.113.130.116),下载对应的elasticHD版本,上传到服务器:

# unzip xxx_elasticHd_xxx.zip
# mv ElasticHD /opt/
# chmod 777 ElasticHD

可指定ip端口运行elastichd

# /opt/ElasticHD -p 10.113.130.116:9800 &

同样,推荐将上方的启动命令,制作成启动脚本eshd-start.sh,并移动到/usr/local/bin/目录下,可直接执行。

安装成功后,在浏览器输入配置的地址和端口,看到如下画面: 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
配置三台服务器组成的ELK集群(一)
这个ELK集群的搭建是在6月份做完,从单机尝试到完成集群配置,前后持续了一周时间、每天抽1~2小时完成的。完成后也写了个简单的文档存在本地了,一直没时间更新到博客园。 大名鼎鼎的ELK日志分析系统可以说是十分适合企业使用的开源工具,但是搭建这个给测试团队用的契机并不是因为ELK的功能,反而是每次要看日志里的错误信息,都要去求运维大爷们、看他们脸色行事——那算了还是我们自己来吧。
1537 0
第三方框架/服务/类库介绍链接汇总
1.一个很不错的引导页面构建框架 https://github.com/mamaral/Onboard 2.当前比较实用的几个ios第三方框架 http://www.
1124 0
redis安装及配置主从
redis安装,redis主从配置
998 0
第三代神龙架构云服务器发布
阿里云推出基于第三代神龙的云服务器,向全世界提供顶级算力。
913 0
某物流客户Elasticsearch集群性能优化案例
袋鼠云通过数据集成优化、任务调度优化、代码优化、全链路数据质量保障、故障紧急处理、大数据平台运维,为客户提供大数据系统运维保障服务。
2368 0
自建HBase集群如何高效迁移上阿里云HBase
本文主要介绍的是一种数据迁移上云HBase的方式,用户可以高效、稳定、准确、透明的将数据迁移到阿里云HBase上来,从而享受阿里云HBase带来的优质体验,整个过程不会对用户源集群的业务产生影响。
1572 0
《VMware Virtual SAN权威指南(原书第2版)》一3.8 创建VSAN群集
本节书摘来自华章出版社《VMware Virtual SAN权威指南(原书第2版)》一 书中的第3章,第3.8节,作者:[美] 科马克·霍根,邓肯·埃平,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1080 0
+关注
海上测试猿
本人在公司测试部门充当负责角色,统筹核心业务系的全链路性能测试; 根据项目需要,开发自动化测试框架、自动化测试脚本、维护测试平台,进行自动化测试,提升测试效率; 探索学习测试相关新技术、开源工具,提高自动化测试的效率和质量,满足需求; 定期开展技术分享活动,提高团队员的能力。
13
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载