ELK是什么
- E,Elasticsearch,简称ES,储存数据的工具,可以当做数据库使用,但是没有事务
- L,Logstash,日记收集工具
- K,Kibana,测试工具,分析工具,展示工具
ES安装
安装包和依赖
- 官网
- 需要先配置JDK版本,至少1.8
window
- 解压后,进入elasticsearch的bin目录,双击
elasticsearch.bat
启动服务,默认端口是9200
Linux
# 解压
tar -zxvf elasticsearch-darwin-x86_64.tar.gz
# 启动,默认端口是9200
./bin/elasticsearch
不管window还是linux都需要配置
- 去到config的
jvm.options
里把-xms1G -xms1G
改成-xms256m -xmx256m
- 配置跨域和可视化工具,往下看
- 配置ik分词器,往下看
IK分词器
- git下载安装包
- 解压到
es/plugins
里,重启es就行 - 自定义分词,在config里新建一个xxx.dic往里面写入自定义的词语
- 然后在IKAnalyzer.cfg.xml里添加配置
<entry key="ext_dict">xxx.dic</entry>
或者使用docker
# 下载
docker pull registry.docker-cn.com/library/elasticsearch
# 开启
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name myES
# 进入容器
docker exec -it myES /bin/bash
# 安装中文分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
# 退出
exit
# 重启
docker restart myES
可视化工具
- 不管哪个下载方式,都需要进入ES的config目录,打开
elasticsearch.yml
,在最后加上跨域支持
http.cors.enabled: true
http.cors.allow-origin: "*"
- 在本地电脑下载项目,需要NodeJS支持
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
# 访问,端口9100
http://localhost:9100/
Logstash安装
- 官网下载,版本对于es版本
- 解压后,在logstash_home/bin目录下创建logstash.conf文件,内容如下:
input {
stdin{}
}
output {
stdout{}
}
- 执行
logstash.bat -f logstash.conf
启动服务 - 因为配置文件什么都没写,所以会打印出一个helloword
Kibana安装
- 官网下载,版本对于es版本
- 需要NodeJS依赖
- 默认情况下,Kibana 会连接运行在 localhost 上的 Elasticsearch 实例。如果需要连接不同的 Elasticsearch实例,可以修改 kibana.yml 配置文件中的 Elasticsearch URL 配置项并重启 Kibana。如果在生产环境节点上使用 Kibana,请参考 生产环境中使用 Kibana
- 汉化,同样是修改配置文件
# 进入文件
vim config/kibana.yml
il8n.local: "en" // 改成``zh-CN``
- 运行
./bin/kibana
启动 - 访问
http://localhost:5601/
下载速度太慢
ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D
logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D
kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D