一、概述
ELK官网 https://www.elastic.co
ELK由Elasticsearch、Logstash和Kibana三部分组件组成;
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
常见平台架构
ELK = Elasticsearch + Logstash + Kibana
EFK = Elasticsearch + Flume + Kibana
简单架构:
ELK+Redis
或
(Logstash/Flume)->(Kafka/Redis)->ES->Web
可更简单些:
Client(Filebeat) --> LogServer(Logstash-->Elasticsearch-->Kibana )
(可以不用Logstash,Filebeat直接输出到ES)
复杂架构:
数据采集层[离线/实时数据,MySQL/ES/Logstash/Flume]
->数据传输层[Kafka/Redis]
->数据缓存层[Storm->Kafka]
->计算存储层[离线计算(Kylin/Spark SQL/Impala/MR)、实时计算(Storm/Spark Streaming/Flink/Druid)、存储(ES/MySQL/Hbase/HDFS/Kudu)]
->应用层[Web/REST API]
二、下载安装ELK
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.tar.gz --no-check-certificate
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.3.tar.gz --no-check-certificate
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.3-windows-x86.zip --no-check-certificate
注意需要jdk8环境
在windows 上运行 elasticsearch 分布式日志分析,检索
下载地址 https://www.elastic.co/downloads
在界面中下载 elasticsearch Logstash Kibana
1 . elasticsearch 下载 ,zip 解压缩,进入bin 运行文件elasticsearch.bat
启动成功
2 .由于elasticsearch 只是字符串 等文件信息 ,需要安装 elasticsearch-head 插件
在当前版本中,由于使用的是6.4.0进行环境搭建,需要使用node 等工具进行安装插件
步骤一。 安装node 在此不再赘述
步骤二。安装 npm install -g grunt-cli 安装 grunt
使用 grunt –version 查看安装 grunt的版本信息
3.修改elasticsearch/conf 文件夹 修改 elasticsearch.xml 文件 ,
进入安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
其他操作
然后去掉network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0,去掉cluster.name;node.name;http.port的注释(也就是去掉#)
双击elasticsearch.bat重启es
4.下载elasticsearch-head包
下载地址 https://github.com/mobz/elasticsearch-head 中下载head插件,选择下载zip
5.解压到指定文件夹下,G:\elasticsearch-6.6.2\elasticsearch-head-master 进入该文件夹,修改G:\elasticsearch-6.6.2\elasticsearch-head-master\Gruntfile.js 在对应的位置加上hostname:'*'
6. 修改完成后,使用cmd命令进入 elasticsearch-head-master 文件夹中 ,
执行命令 npm install 然后在执行 npm run start 运行 head
访问界面
以上为elasticsearch 安装和查看教程
测试elasticsearch-head
1.使用cmd请求
curl -XGET http://127.0.0.1:9200/_cluster/health?pretty
请求结果
2.使用elasticsearch-head进行请求
请求结果
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
启动 logstash 服务
需要修改 conf中添加 logstash.conf 在新建的文件中粘贴
input {
file {
type => "nginx_access"
path => "D:\nginx\logs\access.log"
}
}
output {
elasticsearch {
hosts => ["192.168.10.105:9200"]
index => "access-%{+YYYY.MM.dd}"
}
stdout {
codec => json_lines
}
}
进入到bin文件夹中 执行
命令1 logstash.bat agent –f ../config/logstash.conf
命令2 logstash.bat -f ../config/logstash.conf
启动 logstash 如果报错 将 logstash.bat 中的 "%CLASSPATH%" 使用 ”” 引号引起来,在执行即可
启动报错,不能当成持续服务
reason=>"Expected one of #, input, filter, output at line 1, column 1 (byte1)after "}
是文件格式问题。
Windows文件默认是utf8 。将文件格式改为:ansi格式就可以了。程序可以正常运行
bin\logstash -f ./config/test.conf
启动Kibana 服务
进入到 kibana-6.4.0-windows-x86_64/bin 文件夹 双击 Kibana.bat
刚启动时 ,需要等大概一分钟 ,cmd命令 窗口没有反应
Elasticsearsh 设置中文分词器
使用安装命令 elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.0/elasticsearch-analysis-ik-6.4.0.zip
使用windows 安装会报错,不如直接下载 然后将文件 信息解压到 elasticsearch/plugs/ik文件夹下
验证 在kibana中可以进行 请求,也可在 elasticsearsh中进行请求
GET _search { "query": { "match": { "message": "中华" } } }
将elasticsearsh 设置为windows 系统服务
在bin中执行 elasticsearch-service.bat install
将logstash Kibana 设置为windows 服务
使用nssm进行安装
nssm下载地址 (官网地址) https://nssm.cc/ci/nssm-2.24-101-g897c7ad.zip
使用
进入到 ELK_WORK\nssm-2.24-101-g897c7ad\win64>nssm install logstash/Kibana
回车后会弹出执行框
NSSM 用法 ( Linux service 使用一样)
show service installation GUI:
nssm install [<servicename>]
To install a service without confirmation:
nssm install <servicename> <app> [<args> ...]
To show service editing GUI:
nssm edit <servicename>
To retrieve or edit service parameters directly:
nssm dump <servicename>
nssm get <servicename> <parameter> [<subparameter>]
nssm set <servicename> <parameter> [<subparameter>] <value>
nssm reset <servicename> <parameter> [<subparameter>]
To show service removal GUI:
nssm remove [<servicename>]
To remove a service without confirmation:
nssm remove <servicename> confirm
To manage a service:
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>
nssm status <servicename>
nssm statuscode <servicename>
nssm rotate <servicename>
nssm processes <servicename>
总结,
在windows中启动 ELK 日志收集分析查询 功能 ,
将会在服务中安装三个服务
Elasticsearch 服务 访问地址 192.168.10.105:9200
服务名 Elasticsearch 6.4.0 (elasticsearch-service-x64)
logstash 服务 访问地址 192.168.10.105:9600
Kibana 服务 访问地址:http://localhost:5601
来源:oschina
链接:https://my.oschina.net/u/4367893/blog/3839578