ELK单节点部署
程序员文章站
2022-05-19 09:05:59
...
elasticsearch7.8.1安装
下载安装包
注意不能安装在/root下
解压后修改配置文件
因为es7需要jdk11,但是虚拟机安装的是1.8,好在es自带了jdk。需要指定使用自带的jdk。修改es启动脚本文件,在最前面加上下面这段。
export JAVA_HOME=/usr/local/elk/elasticsearch-7.8.1/jdk
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin" ]; then
JAVA="/usr/local/elk/elasticsearch-7.8.1/jdk/bin/java"
else
JAVA=`which java`
fi
修改配置文件elasticsearch.yml 如下部分需要修改
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
启动需要使用非root用户
./bin/elasticsearch -d
访问
http://192.168.100.101:9200/
kibana7.8.1安装
下载安装包
解压后修改配置文件kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
启动需要使用非root用户
nohup ./kibana &
访问
http://192.168.100.101:5601
logstash7.8.1安装
下载安装包
解压后创建配置文件logstash.conf
input {
tcp {
#模式选择为server
mode => "server"
#ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
#host => "0.0.0.0"
port => 4560
#格式json
codec => json_lines
type => "tcplog"
}
}
#filter {
#过滤器,根据需要填写
#}
output {
elasticsearch {
action => "index"
#这里是es的地址,多个es要写成数组的形式
hosts => ["http://localhost:9200"]
#用于kibana过滤,可以填项目名称
index => "%{[appname]}-%{+YYYY-MM-dd}"
}
}
启动
nohup ./logstash -f ../config/logstash.config &
项目中使用
配置中的%{[appname]}就会被medicine-web替换以便根据所有区分不同项目的日志
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<param name="Encoding" value="UTF-8"/>
<destination>192.168.100.101:4560</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
<customFields>{"appname":"medicine-web"}</customFields>
</encoder>
</appender>
上一篇: linux设置IP白名单(实用)
下一篇: MySQL trace工具