ELK官网下载地址
从ELK官网:https://www.elastic.co/cn 下载对应版本的linux包

elasticsearch配置与启动
上传到linux服务器后解压
tar -zxvf elasticsearch-7.17.9-linux-x86_64.tar.gz
配置elasticsearch环境,在elasticsearch.yml里
cluster.name: my-application
node.name: node-1
path.data: /usr/local/elk/elasticsearch/data #没有的话创建
path.logs: /usr/local/elk/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
discovery.seed_hosts: ["172.16.116.9"]
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
配置账号密码
#elasticsearch.yml下添加如下
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
#bin目录下执行,按照步骤修改密码
./elasticsearch-setup-passwords interactive
创建es用户,并授权elasticsearch目录
adduser es
passwd es #设置密码英文加数字
chown -R es:es elasticsearch目录
chmod 770 elasticsearch目录
#删除用户
userdel -r es
配置elasticsearch的jdk路径ES_JAVAHOME
vim /etc/profile
export ES_JAVA_HOME=/usr/local/elk/elasticsearch/jdk
export PATH=$PATH:$ES_JAVA_HOME/bin
export CLASSPATH=.:$ES_JAVA_HOME/lib/dt.jar:$ES_JAVA_HOME/lib/tools.jar
#使其生效
source /etc/profile
设置elasticsearch的config目录下的jvm.options下的某项配置
-Xms252m
-Xmx252m
启动elasticsearch
#切换到es目录
su es
#进入bin目录
./elasticsearch
#或者后台启动
nohup ./elasticsearch > /dev/null 2>&1 &
测试elasticsearch是否运行成功
curl http://localhost9200
阿里云安全组规则或者服务器都要开放9200端口
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
iptables-save
window启动测试端口是否可以访问
#打开cmd命令工具
telnet 服务器公网ip 9200
查询服务器的公网ip地址
curl http://ifconfig.io
kibana配置及启动
解压后配置kibana.yml环境
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://172.16.116.9:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "elastic"
elasticsearch.password: "admin123"
i18n.locale: "zh-CN"
需要添加到es用户
adduser es
passwd es #设置密码英文加数字
chown -R es:es elasticsearch目录
chmod 770 elasticsearch目录
启动
#切换到es目录
su es
#进入bin目录
./kibana
#或者后台启动
nohup ./kibana > /dev/null 2>&1 &
测试是否启动成功
ps -ef|grep kibana
#开放端口及阿里云安全组规则里添加
iptables -I INPUT -p tcp --dport 5601 -j ACCEPT
iptables-save
#window cmd
telnet ip 5601 #连通则成功
重启
ps -ef|grep kibana(或者5601)
#上面命令显示除pid.
kill -9 pid
#杀死后重新运行
#或者查找pid
fuser -n tcp 5601
logstash配置及启动
解压后配置文件
#在config目录下的logstash-sample.conf文件配置
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
beats {
port => 5044
codec => "json"
}
tcp {
port => 4560
codec => json_lines
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["http://localhost:9200"]
index => "elk-search-%{+YYYY.MM.dd}"
user => "elastic"
password => "admin123"
}
}
配置logstash的jdk目录
vim /etc/profile
export LS_JAVA_HOME=/usr/local/elk/logstash/jdk
export PATH=$PATH:$LS_JAVA_HOME/bin
export CLASSPATH=.:$LS_JAVA_HOME/lib/dt.jar:$LS_JAVA_HOME/lib/tools.jar
#使其生效
source /etc/profile
和elasticsearch一样要其config/jvm.options文件里修改属性值
-Xms252m
-Xmx252m
启动的时候不需要进入es用户
#进入bin目录
./logstash
#或者后台启动
nohup ./logstash -f ../config/logstash-sample.conf > /dev/null 2>&1 &
查看启动是否成功
ps -ef|grep logstash #出现2行才算成功
#开放端口及阿里云安全组规则里添加
iptables -I INPUT -p tcp --dport 4560 -j ACCEPT
iptables-save
iptables -I INPUT -p tcp --dport 5044 -j ACCEPT
iptables-save
#window cmd
telnet ip 5044
filebeat配置及启动
在filebeat.yml里配置
output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"]
hosts: ["localhost:5044"]
启动
在根目录下
./filebeat
#或者后台启动
nohup ./filebeat > /dev/null 2>&1 &
查看启动是否成功
ps -ef|grep logstash #出现2行才算成功
上面配置完成后,在window浏览器访问http://公网ip:5601访问

项目引入logstash
项目里添加相关配置
#加入依赖
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.6</version>
</dependency>
#logback.xml里加入配置
<!-- logstash访问日志输出-->
<appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:4560</destination>
<encoder charset="utf-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="info">
<appender-ref ref="STASH"/>
</root>
创建索引



