ELK环境配置

1. 背景介绍

在大数据时代,日志记录和管理变得尤为重要。

以往的文件记录日志的形式,既查询起来又不方便,又造成日志在服务器上分散存储,管理起来相当麻烦,

想根据一个关键字查询日志中某个关键信息相当困难。

这个时候,ELK诞生了。

什么是ELK?

简单来说:它是一套完整的日志记录和分析的解决方案平台

架构图如下:

2. 技术栈介绍

ELK = Elasticsearch + Logstash + Kibana

2-1) Elasticsearch:

Elasticsearch是一个分布式的开源的基于Apache Lucene项目的搜索引擎,它发布在Apache 2.0协议下

(这也就意味着它可以被免费地下载,使用并且修改)。

Elasticsearch提供了水平的,可扩展的,可靠的,多用户形式的实时搜索。

Elasticsearch的功能可以通过JSON格式的RESTful API形式访问。

Elasticsearch的搜索能力是得到Apache Lucene引擎的支持,允许给文本数据增加加动态索引。

2-2) Logstash

Logstash是一个数据管道,它被用来收集,解析和分析各种结构化的和非结构化的由各种系统产生的数据以及事件。

它提供了插件用来连接到各种输入数据源,可以高效地处理日志,事件以及非结构化的数据,而且可以通过输出插件的形式

把结果输出到各种输出源,比如:标准输出,控制台或者Elasticsearch。

2-3) Kibana

Kibana是一个基于Apache 2.0协议的开源可视化平台,它用来可视化任何结构化的和非结构化的存储在Elasticsearch索引

中的数据。Kibana完全用HTML和Javascript编写。

3. 下载/安装/配置/启动

前面说了很多废话,接下来是每个程序员感兴趣的动手环节了,let’s start!

3-1) 安装Elasticsearch

下载地址:

https://www.elastic.co/downloads/elasticsearch

a) 解压安装包elasticsearch-5.2.2.tar.gz

(由于本人是mac系统)我把它解压到了/usr/local目录下,完整路径如下:

/usr/local/elasticsearch-5.2.2

b) 编辑配置文件

cd config

[root@logmachine config]# egrep -v "#|^$" elasticsearch.yml 
cluster.name: log-elasticsearch
node.name: node-1
path.data: /home/elasticsearch/data
path.logs: /home/elasticsearch/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 192.168.1.55
http.port: 9200

添加相关的用户和路径

useradd elasticsearch

mkdir -p /home/elasticsearch/{data,logs} -p
chown -R elasticsearch.elasticsearch /usr/local/logsystem/ 
chown -R elasticsearch.elasticsearch /home/elasticsearch/data/
chown -R elasticsearch.elasticsearch /home/elasticsearch/logs/

注:此处将elasticsearch安装在/usr/local/logsystem/目录下

c) 启动Elasticsearch
./bin/elasticsearch

如果没有错误发生,可以进入到下一步的验证环节

注:______错误____总结____

d) 验证

可以使用cURL命令:

curl ‘http://localhost:9200/?pretty’

或者

直接用浏览器打开

http://localhost:9200

显示下面的信息,表示elasticsearch安装成功

{
 "name" : "node-1",
 "cluster_name" : "Elasticsearch",
 "cluster_uuid" : "A3XObj1xRd-R5cddxQ7rew",
 "version" : {
 "number" : "5.4.0",
 "build_hash" : "780f8c4",
 "build_date" : "2017-04-28T17:43:27.229Z",
 "build_snapshot" : false,
 "lucene_version" : "6.5.0"
 },
 "tagline" : "You Know, for Search"
}

3-2) 安装Logstash

a) 解压安装包logstash-5.2.2.tar.gz

完整路径如下:

/usr/local/logstash-5.2.2

b) 编辑配置文件

cd config

新建配置文件log4j_es.conf

vi log4j_es.conf

内容如下:

input {
 log4j {
 host => "127.0.0.1"
 port => 4560
 }
}

output {
 stdout {
 codec => rubydebug
 }
 elasticsearch{
 hosts => ["localhost:9200"]
 index => "log4j-%{+YYYY.MM.dd}"
 document_type => "log4j_type"
 }
}

c) 启动Logstash

./bin/logstash -f config/log4j-es.conf

3-3) 安装Kibana

a) 解压安装包kibana-5.2.2.tar.gz
完整路径如下:
/usr/local/ kibana-5.2.2
b) 编辑配置文件
cd config
vi kibana.yml
内容如下:

# Kibana is served by a back end server. This setting specifies the port to use.
server.port: 5601

server.host: "localhost"

# The URL of the Elasticsearch instance to use for all your queries.
elasticsearch.url: "http://localhost:9200"

# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
kibana.index: ".kibana"

c) 启动Kibana

./bin/kibana

d) 验证
打开网址:
http://localhost:5601/(或者具体的ip)

见到如下Logo

表示kibana安装成功。

 

 

 

0
如无特殊说明,文章均为本站原创,转载请注明出处
  • 转载请注明来源:ELK环境配置
  • 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/555.html

该文章由 发布

这货来去如风,什么鬼都没留下!!!