我对ElasticStack可以说是既熟悉又陌生,说熟悉是因为很久以前就已经开始使用 ELK 来分析日志了,说陌生是因为以前的 ELK 环境都是同事搭建的,我主要是看看 Kibana 面板而已。随着V5的发布,ELK 全面进化为 ElasticStack,该自己动手了。
实际操作前最好大致浏览一下官方文档,以便对 ElasticStack 各个组件的作用有一个基本概念,如果看完文档还没搞清楚,那么至少要看明白下面这张图:
整个流程相当简单,首先服务器通过Filebeat把数据上报给Logstash,然后把分析后把数据保存到ElasticSearch里,最后用户通过Kibana浏览数据。
废话少说,接下来让我们按顺序安装ElasticStack 的各个组件,不过安装前我们需要确保系统已有 Java 且版本足够新,一般我习惯用包管理工具安装这种系统级工具:
shell> yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
同时记得创建一个系统账号(比如叫 elastic)以便后续运行服务使用。
shell> tar zxvf elasticsearch-.tar.gz shell> mv elasticsearch- /usr/local/elasticsearch shell> /usr/local/elasticsearch/bin/elasticsearch
服务启动后,我们可以通过 elasticsearch 提供的 API 来确认一下基本信息:
shell> curl http://localhost:9200/ { "name" : "...", "cluster_name" : "...", "cluster_uuid" : "...", "version" : { "number" : "...", "build_hash" : "...", "build_date" : "...", "build_snapshot" : false, "lucene_version" : "..." }, "tagline" : "You Know, for Search" }
缺省情况下,elasticsearch 服务会监听 9200 端口,如果你想自定义监听地址和端口,那么可以设置 elasticsearch.yml 配置文件中的 network.host 和 http.port 选项。
此时,elasticsearch 服务已经完全准备好了,不过还不算完,推荐安装 x-pack 插件,它在安全,监控等方面为 elasticsearch 提供了完善的支持:
shell> /usr/local/elasticsearch/bin/elasticsearch-plugin install x-pack
安装好 x-pack 后,会生成一个管理用户,用户名是 elastic,密码是 changeme,此时我们如果还想通过 curl 命令来操作 elasticsearch 的话,就需要用户名密码了:
shell> curl -u elastic http://localhost:9200/
不过使用缺省密码是不安全的,所以我们应该修改它:
shell> curl -XPUT -u elastic -d '{"password": ""}' \ 'http://localhost:9200/_xpack/security/user/elastic/_password'
至此,elasticsearh 的安装算是基本结束了,我们可以确认一下服务健康与否:
shell> curl -u elastic http://localhost:9200/_cluster/health?pretty { "cluster_name" : "my-application", "status" : "yellow", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 3, "active_shards" : 3, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 2, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 60.0 }
你可能已经注意到在上面的结果中,状态被标记为危险的黄色,而不是安全的绿色。实际上我们的安装步骤没有问题,之所以会显示黄色,实际上是因为从集群的角度看,这个集群目前只有一个节点,数据有丢失的风险。不过如果我们只是在一些安全性要求不太高的项目上使用,那么一个节点是可以接受的。
出处:http://www.udpwork.com/item/15997.html