elk(elasticsearch+logstash+kibana)安装入坑

关于日志,大家应该都有所了解,日志的作用是为了排查问题,尤其是突发的问题,或者提供监控报警功能。传统的日志监控,都是在生产机上通过命令grep或less等命令查询日志文件,当服务器集群,数量多的时候,传统方式效率低下,无法及时确定问题,难以监控。最近公司打算优化日志监控,查阅大量资源,发现了一款开源日志系统-elasticsearch+logstash+kibana。

下面大致介绍一下elk的三大部分(由于水平有限,采用百科和官网解释):

Elasticsearch(数据存储):

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于elasticsearch搜索速度快、零配置等特点,我们使用它作为数据存储,来提高日志查询速度。

Logstash(搜集、数据转换、传输):

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。logstash具有三大组件—input、filter、output,input用来接收各种各样的数据,filter用来格式化数据,output输出数据到我们指定的地方。这里我们使用elasticsearch来作为我们的存储库。

Kibana(日志可视化):

Kibana是一个开源的分析与可视化平台,被设计与Elasticsearch一起使用。可以搜索、查看、交互(crud)存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。

粗略介绍这三大工具的作用,至于具体使用,这里不是重点,也不是一两句话能够说清楚的,现在,我们先搭建出一个elk的环境,后续相关操作,再慢慢详谈。只要大家环境能够搭建正确,怎么使用,肯定难不倒大家的。

下面是一个正常安装流程,入坑开始:

Elasticsearch安装:

扫描二维码关注公众号,回复: 4325475 查看本文章

首先,我们开始下载最新elasticsearch(路径:/usr/local/):

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz

解压:

[root@localhost local]# tar -zvxf elasticsearch-6.2.4.tar.gz

进入bin目录,进行运行:

[root@localhost local]# cd elasticsearch-6.2.4/

[root@localhost elasticsearch-6.2.4]# ./bin/elasticsearch

这时,大家会发现如下错误:

从错误中,可以看出,elasticsearch不允许使用root账户进行启动,我们需要创建新的用户。

[root@localhost elasticsearch-6.2.4]# useradd elk

使用新用户启动,会报用户没有相应权限:

切换root配置权限,然后使用elk账户启动:

[root@localhost elasticsearch-6.2.4]# chown -R elk:elk /usr/local/elasticsearch-6.2.4

如果启动时,报出:

编辑 /etc/security/limits.conf,追加以下内容;

* soft nofile 65536

* hard nofile 65536

编辑 /etc/sysctl.conf,追加以下内容:

vm.max_map_count=262144

重新启动,elasticsearch启动成功,如果想要外网访问,开启远程访问:

[root@localhost elasticsearch-6.2.4]# vi config/elasticsearch.yml

访问9200端口,如开启远程还不能访问,关闭防火墙或开启9200端口:

另外,Elasticsearch后台启动:

[root@localhost elasticsearch-6.2.4]# ./bin/elasticsearch -d

Kibana安装:

开始下载最新安装包(路径:/usr/local/):

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz

解压:

[root@localhost local]# tar -zvxf kibana-6.2.4-linux-x86_64.tar.gz

后台启动:

[root@localhost kibana-6.2.4-linux-x86_64]# ./bin/kibana &

如需外网访问,开启远程,如果外网不能访问,关闭防火墙或开启5601端口:

访问5601端口,表示配置成功:

logstash安装:

开始下载最新安装包(路径:/usr/local/):

[root@localhost local]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.tar.gz

解压:

[root@localhost local]# tar -zvxf logstash-6.2.4.tar.gz

进入config目录,添加logstash.conf配置文件:

  1. input {
  2. tcp {
  3. host => "192.168.159.129"
  4. port => 4560
  5. mode => "server"
  6. tags => ["tags"]
  7. ##格式json
  8. codec => json_lines
  9. }
  10. }
  11. output {
  12. elasticsearch {
  13. hosts => "192.168.159.129:9200"
  14. #指定索引名字
  15. index => "applog"
  16. }
  17. stdout { codec => rubydebug}
  18. }

特别注意,其中的ip地址(192.168.159.129)换成本机ip地址,不能使用localhost或者127.0.0.1,否则连接不上本机的elasticsearch。

启动logstash:

[root@localhost logstash-6.2.4]# ./bin/logstash -f config/logstash.conf

这是笔者关于elk安装的一些心得,如果有不对的地方,希望大家能够指正,谢谢大家。

猜你喜欢

转载自blog.csdn.net/p_programmer/article/details/82314312