Elasticsearch+Logstash+Kibana安装部署
一、软件介绍
Logstash :数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。
Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。
二、数据流转图
三、JDK环境部署
1、解压JDK包
tar -xvf jdk1.8.tar.gz
2、配置JDK环境变量
#编辑profile文件:
vim /etc/profile
#在文件最后加入jdk路径信息:
export JAVA_HOME=/opt/jdk1.8.0_172
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#刷新环境变量
source /etc/profile
#查看是否生效
java -version
如图:
四、Elasticserch部署
1、解压elasticsearch-7.15.2-linux-x86_64.tar.gz
tar -xvf elasticsearch-7.15.2-linux-x86_64.tar.gz
2、添加elasticsearch用户和组
groupadd els #新建组
useradd els -g els -p els #新建els用户
su els #注意:切换els用户,elasticsearch必须以自己用户启动。
3、创建elasticsearch用于存储数据的data目录
mkdir data
4、更改elasticsearch文件的拥有者,默认所属是root
chown -R els:els elasticsearch-7.15.2
5、根据实际项目路径编辑修改位于config下的elasticsearch.yml参数
cluster.name: ELK
node.name: node-1
bootstrap.memory_lock: false
cluster.initial_master_nodes: ["node-1"]
path.data: /xxxx/data
path.logs: /xxxx/logs
network.host: xxxx.xxxx.xxxx.xxxx
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
6、修改etc/security/limits.conf文件
* soft nofile 65536
* hard nofile 131072
7、编辑修改etc/sysctl.conf文件
vm.max_map_count=262144
8、启动elasticsearch
su els #切换elasticsearch用户
./elasticsearch #bin目录下使用elasticsearch启动
nohup elasticsearch & #后台运行
浏览器访问业务http://IP:9200,如果页面显示如下代表部署完成
9、设置访问账号密码
#进入bin目录运行
./elasticsearch-setup-passwords interactive
#按照提示依次输入各用户所属密码
#内置三个用户:
#elastic:内置超级用户
#kibana:仅可用于kibana用来连接elasticsearch并与之通信, 不能用于kibana登录
#logstash_system:用于Logstash在Elasticsearch中存储监控信息时使用
如图:
五、kibana部署
1、解压kibana-7.15.2-linux-x86_64.tar.gz
tar -xvf kibana-7.15.2-linux-x86_64.tar.gz
2、创建kibana用户和组
groupadd kibana
useradd kibana -g kibana -p kibana
3、修改kibana文件夹所属权限
chown -R kibana:kibana kibana-7.15.2-linux-x86_64
4、修改kibana.yml配置文件
vim /kibana/config/kibana.yml
#修改配置
server.port: 5601 #这个不一定需要配置
server.host: "xxx.xxxx.xxxx.xxxx"#配置IP
elasticsearch.hosts: ["http://xxxx.xxxx.xxxx.xxxx:9200"]#es的地址
i18n.locale: "zh-CN" #默认是英文,这个是中文设置
elasticsearch.username: "kibana" #配置kibana和elasticsearch互联的用户
elasticsearch.password: "123456" #配置互联密码
5、启动kibana
#运行kibana
./kibana
#后台运行
nohup ./kibana &
看见一下输出代表kibana部署完成
通过浏览器访问kibana业务,http://ip:5601 如下图
六、Logstash安装部署
1、解压logstash-7.15.2-linux-x86_64.tar.gz
tar -xvf logstash-7.15.2-linux-x86_64.tar.gz
2、新建一个用于项目log抓取的配置文件
vim all-log.yml
#all-log.yml文件里分为两块内容
input { #input是配置需要抓取日志的路径
file {
id => "esp-log"
path => ["/nist/www/api/eps4/eps.log"]
}
}
output { #output是配置elasticsearch路径地址以及连接的用户名及密码
stdout { #stdout是将日志内容打印到屏幕中
codec => rubydebug
}
elasticsearch {
hosts => ["http://xxxx.xxxx.xxxx.xxxx:9200"]
index => "eps(10.189.32.7)-%{+YYYY.MM.dd}" #创建所属应用的index用于在kibana中搜索
document_type => "log4j_type" #文件类型
user => "elastic"
password => "Nist@110"
}
}
3、启动Logstash
#进入bin目录
./logstash -f ../config/all-log.yml
#后台运行
nohup ./logstash -f ../config/all-log.yml