ELK日志系统搭建步骤

作者:lizhonglin
github: https://github.com/Leezhonglin/
blog: https://leezhonglin.github.io

日志平台构成:

统一日志技术架构 日志系统搭建_统一日志技术架构

前置条件:

1、Centos6或者7

2、登录centos工具:PuTTY64位

3、文件传输工具:WinSCP

一、JDK安装

1、下载JDK8或者JDK11 linux版本(本文下载的是JDK8)

2、在linux系统目录/usr/local下新建目录java

命令:

mkdir java

3、将下载的tar.gz文件拷贝的linux系统下/usr/local/java下,并解压

解压命令:

tar  zxvf  jdk-8u211-linux-x64.tar.gz`

4、重命名解压后的文件夹为jdk8

命令:

mv  jdk1.8.0_211  jdk8

5、编辑系统配置文件,配置java环境变量

命令:

vim /etc/profile

在文件末尾加入如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_152

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

6、重新加载配置文件使配置立即生效

命令:

source  /etc/profile

7、测试安装结果:

命令:

java -version

统一日志技术架构 日志系统搭建_ELK搭建_02

二、logstash安装

1、在www.elastic.co官网下载logstash的linux版本,本文下载的是logstash-7.0.0.tar.gz

2、使用winscp工具将文件拷贝到/usr/local/src下

3、解压安装文件:

命令:

tar  zxvf  logstash-7.0.0.tar.gz

4、移动解压后的文件并重命名:

命令:

mv  logstash-7.0.0  /usr/local/logstash

5、测试:

cd /usr/local/logstash

bin/logstash -e 'input { stdin { } } output { stdout {} }'

等待管道启动"Pipeline main started"

输入:hello world

测试结果:

统一日志技术架构 日志系统搭建_配置文件_03

6、在/usr/local/logstash/config下新建logstash.conf配置文件,用于配置数据输入输出和过滤规则,该目录下有logstash-sample.conf样板配置文件,可以复制修改。

具体配置如下:

input {

  file {

                path => "/usr/local/logstash/logs/*"  #logstash日志文件

                type => "logstash"

                start_position => "beginning" #从文件开始处读写

        }

  file {

          path => "/var/log/messages"              #系统日志

          type => "system"

          start_position => "beginning"

      }

  stdin {}  #可以从标准输入读数据

  beats {

    port => 5044

  }

}

filter {

  \#定义数据的格式

  grok {

        match => { "message" => "%{DATA:timestamp}\|%{IP:serverIp}\|%{IP:clientIp}\|%{DATA:logSource}\|%{DATA:userId}\|%{DATA:reqUrl}\|%{DATA:reqUri}\|%{DATA:refer}\|%{DATA:device}\|%{DATA:textDuring}\|%{DATA:duringTime:int}\|\|"}

  }      

  \#定义时间戳的格式

  date {

        match => [ "timestamp", "yyyy-MM-dd-HH:mm:ss" ]

        locale => "cn"

  }

}

output {

  if[type]=="system" {

      elasticsearch {

          hosts => ["http://192.168.108.131:9200"]

          \#index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

          index => "system-%{+YYYY.MM.dd}"

          \#user => "elastic"

          \#password => "changeme"

        }

  }

  else if[type]=="logstash" {

      elasticsearch {

          hosts => ["http://192.168.108.131:9200"]

          \#index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

          index => "logstash-%{+YYYY.MM.dd}"

         }

  }

  else {

       elasticsearch {

          hosts => ["http://192.168.108.131:9200"]

          \#index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

          index => "test-%{+YYYY.MM.dd}"

                            }

  }

}

7、启动logstash:

bin/logstash -f /usr/local/logstash/config/logstash.conf

三、elasticsearch安装

1、在www.elastic.co官网下载elasticsearch的linux版本,本文下载的是elasticsearch-7.0.0-linux-x86_64.tar.gz

2、使用winscp工具将文件拷贝到/usr/local/src下

3、解压安装文件:

命令:

tar  zxvf  elasticsearch-7.0.0-linux-x86_64.tar.gz

4、移动解压后的文件并重命名:

命令:

mv elasticsearch-7.0.0  /usr/local/elasticsearch

5、添加系统用户,用于启动elasticsearch,因为root账户不能用于启动,会报错。

命令:

useradd es

6、设置账号密码

命令:

passwd es

按提示设置密码

7、修改/usr/local/elasticsearch目录的属主权限,改为刚刚创建的用户

命令:

chown -R  es:es  /usr/local/elasticsearch

8、修改配置文件vim /usr/local/elasticsearch/config/elasticsearch.yaml

添加配置如下:

#集群名称

cluster.name: my-application

\#节点名称

node.name: node-1

\#数据存放路径

path.data: /usr/local/elasticsearch/data

\#日志存放路径

path.logs: /usr/local/elasticsearch/logs

\#主机网络地址

network.host: 192.168.108.131

\#主节点配置

discovery.seed_hosts: ["192.168.108.131"]

cluster.initial_master_nodes: ["node-1"]

9、测试,切换到es账号

命令:

su es

执行

/usr/local/elasticsearch/bin/elasticsearch

10、浏览器输入192.168.108.131:9200,结果如下,安装配置成功!

统一日志技术架构 日志系统搭建_统一日志技术架构_04

常见问题解决:

统一日志技术架构 日志系统搭建_统一日志技术架构_05

四、kibana安装部署

1、在www.elastic.co官网下载elasticsearch的linux版本,本文下载的是kibana-7.0.0-linux-x86_64.tar.gz

2、使用winscp工具将文件拷贝到/usr/local/src下

3、解压文件

命令:

tar  zxvf  /usr/local/src/kibana-7.0.0-linux-x86_64.tar.gz

4、移动并修改命名

命令:

mv  /usr/local/src/kibana-7.0.0  /usr/local/kibana

5、编辑kibana配置文件,vim /usr/local/kibana/config/kibana.yml

添加如下配置:

#端口号

server.port: 5601

#主机地址

server.host: "192.168.108.131"

#服务器名称

server.name: "kibana"

#elasticsearch服务地址

elasticsearch.hosts: ["http://192.168.108.131:9200"]

6、启动kibana服务

#进入执行文件目录

cd /usr/local/kibana/bin

#执行

./kibana

7、测试结果,浏览器输入http://192.168.108.131:5601,结果如下:

统一日志技术架构 日志系统搭建_linux_06