欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ELK单节点部署

程序员文章站 2022-05-19 09:05:59
...

elasticsearch7.8.1安装

下载安装包

注意不能安装在/root下
ELK单节点部署

解压后修改配置文件

因为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安装

下载安装包

ELK单节点部署

解压后修改配置文件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安装

下载安装包

ELK单节点部署

解压后创建配置文件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>