安装之前,先用一个知乎看到的图,大概介绍一下,各组件,彼此之间的关系吧
filebeats:dataCollection 数据采集,轻量级,开销比较小
kafka: 一般喜欢使用这个,但是也可以替换,数据在elk系统确实容易出现丢失的情况,用mq的保存机制,提高可用性。当然,也可以直接用mq来当做业务的数据入口。
logstash:也可以用来采集文本的,但是性能开销较大,被filebeats替代,但是因为他的filter过滤功能强大,适合当数据加工的环节
es: 数据仓库,存储的地方,存储的数据量大,搜索速度快等优点
kibana: 数据分析和展示
es部分:
1、下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
2、解压 tar -zxvf elasticsearch-6.3.2.tar.gz
3、修改配置文件:
vim config/elasticsearch.yml
# 数据路径
path.data: /usr/local/tools/es/data
#日志路径
path.logs: /usr/local/tools/es/log
#外网访问
network.host: 0.0.0.0
http.port: 9200
#head插件使用
http.cors.enabled: true
http.cors.allow-origin: "*"
4、设置启动内存大小
vim config/jvm.options
-Xms256m
-Xmx256m
5、切换用户
添加用户: useradd es
设置密码: passwd es
密码
文件权限: chown -R + es根目录
切换用户 su es
6、启动命令:
直接启动: ./bin/elasticsearch
后台启动:
5、问题解决:
内存不足,就调整第四步大小
文件符超过65535 就设置文件符 ulimit -Hn查看当前文件符大小
方法一: ulimit -Hn 65536
方法二: vim /etc/security/limits.conf
追加下面内容:
* soft nofile 65536
* hard nofile 65536
访问: ip:9200/
安装参考: https://blog.csdn.net/happyzxs/article/details/89156068
head插件安装
1、下载 官网地址: https://github.com/mobz/elasticsearch-head
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
2、解压: unzip master.zip
3、安装node环境 (安装node,其实去官网下载,解压就好 参考:https://blog.csdn.net/u011619283/article/details/52368759)
4、启动: npm run start (后台启动 nohup npm run start &) 可能会遇到一些node或者npm的报错,一般就是install一下,或者换一下淘宝源再install一下就好
5、访问 ip:9100
logstash 部分:
下载: 版本需要和es保持一致
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz
安装: tar -xvf 解压
配置修改: 其实留默认的就可以起来了 修改下jvm配置,调整一下内存大小
配置input和output规则, 文本采集,输出到es text-es.conf (其实还可以配置mq ,jdbc等信息来进行数据采集,demo就采用text)
input {
file {
path => "日志文件路径"
type => "elasticsearch"
start_position => "beginning" #从文件头开始
}
}
filter {
date {
match => ["date", "yyyy-MM-dd HH:mm:ss.SS", "UNIX_MS"]
target => "@timestamp"
locale => "cn"
}
ruby {
code => '
require "json"
'
}
}
output{
elasticsearch{
hosts=>["127.0.0.1:9200"]
index => "es-message-%{+YYYY.MM.dd}"
}
stdout{codec => rubydebug} #输出到控制台
}
启动: bin/logstash -f config/logstash.yml &
指定配置文件启动 ./bin/logstash -f config/text-es.conf &
filebeat:
启动: nohup ./filebeat -e -c filebeat.yml > logs/filebeat.log &
kibana启动 bin/kibana &