阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ELK日志分析系统安装和部署

522次阅读
没有评论

共计 16023 个字符,预计需要花费 41 分钟才能阅读完成。

一、ELK 平台搭建准备

1.1 平台环境:
OS:CentOS release 6.4(Final)
ElasticSearch:6.3.2
Logstash:6.3.2
Kibana:6.3.2
JRE:1.8

注:由于 Logstash 的运行依赖于 Java 环境,而 Logstash 1.5 以上版本不低于 java 1.7,因此推荐使用最新版本的 Java。因为我们只需要 Java 的运行环境,所以可以只安装 JRE,不过这里我依然使用 JDK

1.2 ELK 下载:https://www.elastic.co/downloads/

cd /data/package/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.2.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz

1.3 安装准备

# 配置 iptables,保证内网之间可以互通
[root@Elk_Server]# iptables -F;iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
[root@Elk_Server]# service iptables save;service iptables restart   
#关闭 selinux
[root@Elk_Server]# setenforce 0  
[root@Elk_Server]# vim /etc/sysconfig/selinux 
SELINUX=disabled

1.4 时间同步

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install ntpdate -y;ntpdate time.windows.com
echo '01 00 * * * ntpdate time.windows.com' >>/etc/crontab

1.5 配置 yum 源

# 导入公钥
[root@Elk_Server ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

[root@Elk_Server ~]# vim /etc/yum.repos.d/elasticsearch.repo

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

1.6 安装 JAVA 1.8.0_151,请见 https://www.linuxidc.com/Linux/2019-08/159733.htm

二、安装 Elasticsearch 单机版集群

这个其实也是 ELK 中的核心,启动的时候一定要注意,因为 es 不可以进行 root 账户启动,所以你还需要开启一个 elsearch 账户。**

2.1.1 yum 方式安装

[root@Elk_Server ~]# sudo yum install elasticsearch -y

2.1.2 源码安装(本文为编译安装配置)

# 将解压后的文件复制三份
tar zxvf elasticsearch-6.3.2.tar.gz -C /usr/local/
mv /usr/local/elasticsearch-6.3.2 /usr/local/es-master
cp -rf /usr/local/es-master /usr/local/es-data1
cp -rf /usr/local/es-master /usr/local/es-data2

groupadd elasticsearch
useradd elasticsearch -g elasticsearch

2.2 创建 elasticsearch 数据目录

mkdir -p /data{,1,2}/elasticsearch/data
mkdir -p /data{,1,2}/elasticsearch/logs
chown -R elasticsearch:elasticsearch /data{,1,2}/elasticsearch

2.3 编辑 Elasticsearch 集群配置文件

cp /usr/local/es-master/config/elasticsearch.yml /usr/local/es-master/config/elasticsearch.yml-bak
#创建软连接
mkdir /etc/elasticsearch/
ln -s /usr/local/es-master/config/elasticsearch.yml /etc/elasticsearch/es-master.yml
ln -s /usr/local/es-data1/config/elasticsearch.yml /etc/elasticsearch/es-data1.yml
ln -s /usr/local/es-data2/config/elasticsearch.yml /etc/elasticsearch/es-data2.yml

主节点配置:

vim /etc/elasticsearch/es-master.yml

# ======================== Elasticsearch Configuration =========================
#
cluster.name: elk-cluster
node.name: node-master
node.attr.rack: r1

# ----------------------------------- Paths ------------------------------------
#设置 data 存放的路径为 /data/elasticsearch/data
path.data: /data/elasticsearch/data
#设置 logs 日志的路径为 /data/elasticsearch/logs
path.logs: /data/elasticsearch/logs

# ---------------------------------- Network -----------------------------------
#本机地址
network.host: 192.168.6.108
#开启监听的端口为 9200
http.port: 9200
#tcp 通讯端口
transport.tcp.port: 9330
#是否作为主机
node.master: true
#是否作为数据节点
node.data: false
node.max_local_storage_nodes: 3

#在删除索引时,是否需要明确指定名称. 该值为 false 时,则可通过正则或_all 删除:action.destructive_requires_name: true

# --------------------------------- Discovery ----------------------------------
#集群信息,默认的通讯接口是 9300
discovery.zen.ping.unicast.hosts: ["192.168.6.108:9330", "192.168.6.108:9331","192.168.6.108:9332"]

#在新集群搭建初期,总会出现某几个节点与其他节点通信异常导致节点频繁加入、退出集群。这个过程是自动执行的。通过配置 discovery.zen.ping_timeout 来控制节点加入某个集群或者开始选举的响应时间(默认 3s)。discovery.zen.ping_timeout: 60s

#这个关闭了自动创建索引。为的也是安全考虑,否则即使是内网,也有很多扫描程序,一旦开启,扫描程序会自动给你创建很多索引。action.auto_create_index: false

# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:

#设置集群中 N 个节点启动时进行数据恢复,默认为 1。gateway.recover_after_nodes: 2
#设置初始化数据恢复进程的超时时间,默认是 5 分钟。gateway.recover_after_time: 3m
#设置集群中节点的数量,默认为 2,一旦这 N 个节点启动,就会立即进行数据恢复。gateway.expected_nodes: 3

# ---------------------------------- Various -----------------------------------
#开启跨域访问支持,默认为 false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/

数据 1 节点配置:

vim /etc/elasticsearch/es-data1.yml

# ======================== Elasticsearch Configuration =========================
#
cluster.name: elk-cluster
node.name: node-data1
node.attr.rack: r1

# ----------------------------------- Paths ------------------------------------
#设置 data 存放的路径为 /dat1/elasticsearch/data
path.data: /data1/elasticsearch/data
#设置 logs 日志的路径为 /data1/elasticsearch/logs
path.logs: /data1/elasticsearch/logs

# ---------------------------------- Network -----------------------------------
#本机地址
network.host: 192.168.6.108
#开启监听的端口为 9201
http.port: 9201
#tcp 通讯端口
transport.tcp.port: 9331
#是否作为主机
node.master: false
#是否作为数据节点
node.data: true
node.max_local_storage_nodes: 3

#在删除索引时,是否需要明确指定名称. 该值为 false 时,则可通过正则或_all 删除:action.destructive_requires_name: true

# --------------------------------- Discovery ----------------------------------
#集群信息,默认的通讯接口是 9300
discovery.zen.ping.unicast.hosts: ["192.168.6.108:9330", "192.168.6.108:9331","192.168.6.108:9332"]

discovery.zen.ping_timeout: 60s

action.auto_create_index: false

# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:

#设置集群中 N 个节点启动时进行数据恢复,默认为 1。gateway.recover_after_nodes: 2
#设置初始化数据恢复进程的超时时间,默认是 5 分钟。gateway.recover_after_time: 3m
gateway.expected_nodes: 3

# ---------------------------------- Various -----------------------------------
#开启跨域访问支持,默认为 false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/

数据 2 节点配置:

vim /etc/elasticsearch/es-data2.yml

# ======================== Elasticsearch Configuration =========================
#
cluster.name: elk-cluster
node.name: node-data2
node.attr.rack: r1

# ----------------------------------- Paths ------------------------------------
#设置 data 存放的路径为 /data2/elasticsearch/data
path.data: /data2/elasticsearch/data
#设置 logs 日志的路径为 /data2/elasticsearch/logs
path.logs: /data2/elasticsearch/logs

# ---------------------------------- Network -----------------------------------
#本机地址
network.host: 192.168.6.108
#开启监听的端口为 9202
http.port: 9202
#tcp 通讯端口
transport.tcp.port: 9332
#是否作为主机
node.master: false
#是否作为数据节点
node.data: true
node.max_local_storage_nodes: 3

#在删除索引时,是否需要明确指定名称. 该值为 false 时,则可通过正则或_all 删除:action.destructive_requires_name: true

# --------------------------------- Discovery ----------------------------------
#集群信息,默认的通讯接口是 9300
discovery.zen.ping.unicast.hosts: ["192.168.6.108:9330", "192.168.6.108:9331","192.168.6.108:9332"]

discovery.zen.ping_timeout: 60s

#这个关闭了自动创建索引。为的也是安全考虑,否则即使是内网,也有很多扫描程序,一旦开启,扫描程序会自动给你创建很多索引。action.auto_create_index: false

# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:

#设置集群中 N 个节点启动时进行数据恢复,默认为 1。gateway.recover_after_nodes: 2
#设置初始化数据恢复进程的超时时间,默认是 5 分钟。gateway.recover_after_time: 3m
gateway.expected_nodes: 3

# ---------------------------------- Various -----------------------------------
#开启跨域访问支持,默认为 false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/

使用外网搭建集群时需注意:
network.host 需要修改为 0.0.0.0,同时要暴露你的外网地址,代码如下:

network.host: 0.0.0.0
network.publish_host: xx.xx.xx.xx

discovery.zen.ping.unicast.hosts 修改为各个服务器的外网地址和通讯端口即可。

2.4 安装 head 插件
head 插件能够生成集群的统计数据,并提供浏览器查询,同时还能对 elasticsearch 索引进行结构化查询。

cd /usr/local/es-master/
mkdir head &&cd head
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
#install node v7.x
curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
sudo yum install nodejs
npm config set registry=http://registry.npm.taobao.org
npm install    ## 运行缓慢
npm install -g grunt-cli
## 修改配置文件
[root@Elk_Server elasticsearch-head]# vim Gruntfile.js 
       connect: {
                        server: {
                                options: {
                                        port: 9100,
                                        hostname: '192.168.6.108',## 添加这行,冒号后面有空格
                                        base: '.',
                                        keepalive: true
                                }
                        }
                }

2.5 系统参数调整

## 修改 es 三个节点的 JVM 运行内存,这个可以根据需要更改,但是 -Xms 和 -Xmx 的值必须一样,不然启动报错
[root@Elk_Server]# vim /usr/local/es-master/config/jvm.options
[root@Elk_Server]# vim /usr/local/es-data1/config/jvm.options
[root@Elk_Server]# vim /usr/local/es-data2/config/jvm.options
-------------------------------------------------------------------------
-Xms2g
-Xmx2g

## 修改 Linux 最大打开文件数
vim /etc/security/limits.conf
* soft nofile 655350   ## 在末尾添加
* hard nofile 655350
## 这一步需要重启 linux 使配置生效
reboot
[root@Elk_Server~]# ulimit -n
655350

## 修改 sysctl.conf 文件
[root@Elk_Server ~]# vim /etc/sysctl.conf 
vm.max_map_count=655350
[root@Elk_Server ~]# sysctl -p

2.6 将 ES 的 head 插件启动

cd  /usr/local/es-master/head/elasticsearch-head && grunt server &

[3] 5946
## 会开启 9100 端口。

2.7 启动 Elasticsearch(ES 只能使用普通用户启动)

chown -R elasticsearch:elasticsearch /usr/local/es-*
chown -R elasticsearch:elasticsearch /data{,1,2}/elasticsearch
## 切换到普通用户启动 elasticsearch
su - elasticsearch
nohup  /usr/local/es-master/bin/elasticsearch &           # - d 或 & 以后台的方式进行启动 Elasticsearch
[1] 6202
## 启动成功是会开启 9200,9300 两个端口的。## 传输端口为 9300 接受 http 请求的端口为 9200
## 在浏览器打开可以利用 head 插件查看 elasticsearch 的集群及索引情况

2.8 主节点启动好后,用同样的方法启动子节点就可以了。
如果报错,解决方式:https://www.linuxidc.com/Linux/2019-08/159734.htm

2.9 验证启动

ps axu |grep elasticsearch

方法一:curl 'http://192.168.6.108:9200/_search?pretty'

-----

{
  "took" : 9,
  "timed_out" : false,
  "_shards" : {
    "total" : 0,
    "successful" : 0,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : 0.0,
    "hits" : []}
}

方法二:// 或者通过浏览器访问:http://192.168.6.108:9200/
# 检查 es 版本信息
curl -u <user>:<passwd> http://192.168.6.108:9200

#此时观察 ES 集群状态:curl http://192.168.6.108:9200/_cluster/health?pretty

#观察集群内各索引状态:curl http://192.168.6.108:9200/_cat/indices?pretty

#查询 elasticsearch 节点状态:
curl -XGET http://192.168.6.108:9200/_cat/shards |grep UNASSIGNED

#查看节点列表
http://IP:9200/_cat/nodes?v
curl 'IP:9200/_cat/nodes?v'

#列出所有索引及存储大小
http://IP:9200/_cat/indices?v
curl 'IP:9200/_cat/indices?v'-- 查询所有索引及数据大小

#创建索引
创建索引名为 XX, 默认会有 5 个分片,1 个索引
curl -XPUT 'IP:9200/XX?pretty'

#添加一个类型
curl -XPUT 'IP:9200/XX/external/2?pretty' -d '{"gwyy":"John"}'

#更新一个类型
curl -XPOST 'IP:9200/XX/external/1/_update?pretty' -d '{"doc": {"name":"Jaf"}
}'

#删除指定索引
curl -XDELETE 'IP:9200/_index?pretty'

三、安装 Logstash:

Logstash 的功能如下:
ELK 日志分析系统安装和部署

其实它就是一个收集器而已,我们需要为它指定 Input 和 Output(当然 Input 和 Output 可以为多个)。由于我们需要把 Java 代码中 Log4j 的日志输出到 ElasticSearch 中,因此这里的 Input 就是 Log4j,而 Output 就是 ElasticSearch。

3.1 安装 Logstash

tar zxvf logstash-6.3.2.tar.gz -C /usr/local/
mv /usr/local/logstash-6.3.2 /usr/local/logstash
ln -s /usr/local/logstash/bin/logstash /usr/bin/
mkdir -p /data/logs/logstash

3.2 验证安装是否成功, 从下图中可以看到,当前开启的是 9600 端口

logstash -e 'input {stdin {} } output {elasticsearch { hosts => ["192.168.6.108:9200"] } stdout {codec => rubydebug}}'
### 等待片刻后出现“The stdin plugin is now waiting for input:”,输入“test”回车,返回下面标准的输出。-----

[2018-07-31T07:34:23,968][INFO][logstash.agent] Successfully started Logstash API endpoint {:port=>9600}
test
{
      "@version" => "1",
          "host" => "Elk_Server",
       "message" => "test",
    "@timestamp" => 2018-07-31T07:34:40.422Z
}

3.3 logstash 配置
## 接下来是重点,也是 ELK 的难点吧,就是将日志进行分析,使用正则匹配过滤日志中想要的内容。

[root@Elk_Server logstash]# cat  /data/logs/test.log
120.79.189.51 - - [10/Jun/2018:12:58:12 +0800] "POST /wp-cron.php?doing_wp_cron=1528606692.3628709316253662109375 HTTP/1.1" 499 0 "-" "WordPress/4.8; http://120.79.189.51"

## 这是日志中的一行,logstash 的正则匹配默认是匹配一行,以回车符作为分隔符。
## 当然如果日志是 json 格式的那么就没有需要处理直接输出即可。

# 我们到 config 目录中新建一个 logstash.conf 配置。[root@Elk_Server logstash]# vim /etc/logstash/conf.d/logstash.conf

input {
    file {
        path => "/data/logs/test.log"
        type => "test.log"
        start_position => "beginning"
    }
}
filter {
    grok {
        match => {"message" => "(?<ip_addr>\d+?\.\d+?\.\d+?\.\d+?)\s-\s-\s\[(?<log_date>\d+?/\w+?/\d+?):(?<log_time>\d+?:\d+?:\d+?)\s+"
        }

    }

}
output {stdout {codec => rubydebug}
}

## 这是 logstash 的日志分析文件,总共分为三个大部分,input、flter、output,其中 input 是输入日志,这里选择的是 file 文件,path 是文件的路径,type 是文件的类型,这个可以自定义,主要用来区分每个日志,start_position 是设定为 beginning 是指从文件的开头开始读取。
##flter 是处理日志的部分,使用 grok 这个强大的组件进行信息过滤,对于日志的正则匹配最总会以 json 的格式输出,所以正则匹配的格式是 (?< 字段名 > 正则表达式过滤将要匹配的内容) 在每个括号内创建过滤的内容,将不需要的内容放在括号外,可以一直做匹配知道日志结束,这里我只是简单匹配日志前面的 ip 地址和日期时间。
针对正则匹配字段详细说明:
## 正则匹配字段通过“(?< 字段名 > 正则表达式)”来定义,我们看到“(?<ip_addr>\d+?.\d+?.\d+?.\d+?”匹配了日志中的 IP 地址,然后将不需要的内容放在括号外面匹配,接着是日期和时间,使用同样的方式,然后不需要的内容放在外面因为这里我只匹配了前面的一点内容,如果有需要提取,可以一直匹配,知道这一行结束,logstash 默认只会匹配日志以行作为分割,下一行又是新的一次匹配了。
#output 是处理输出部分,这里我只是简单输出到终端,先实验正则匹配没问题后,将输出指向 elasticsearch。

[root@Elk_Server logstash]# logstash -r -f  /etc/logstash/conf.d/logstash.conf
..............
{
          "path" => "/data/logs/test.log",
          "host" => "Elk_Server",
          "type" => "test.log",
      "log_date" => "10/Jun/2018",
      "@version" => "1",
      "log_time" => "12:58:12",
    "@timestamp" => 2018-07-31T09:45:16.247Z,
       "ip_addr" => "120.79.189.51",
       "message" => "120.79.189.51 - - [10/Jun/2018:12:58:12 +0800] \"POST /wp-cron.php?doing_wp_cron=1528606692.3628709316253662109375 HTTP/1.1\"499 0 \"-\"\"WordPress/4.8; http://120.79.189.51\""
}

接下来将日志输出到 elasticsearch,修改 output 里面的内容即可。

output {
    elasticsearch {              ## 指定输出到 ES
        action => "index"      ## 建立索引
        hosts => "192.168.6.108:9200"       ##ES 地址端口
        index => "test_log-%{+yyyy.MM.dd}"    ## 索引的名称
    }
    stdout {codec => rubydebug}
}

3.4 验证配置,并报告错误

logstash -f /etc/logstash/conf.d/logstash.conf --config.test_and_exit
\\ 或者
logstash -t -f /etc/logstash/conf.d/logstash.conf

3.5 服务启动

nohup logstash -f /etc/logstash/conf.d/logstash.conf --config.reload.automatic -l /data/logs/logstash &
\\ 或者
nohup logstash -r -f /etc/logstash/conf.d/logstash.conf -l /data/logs/logstash &

–config.reload.automatic 选项启用自动配置重新加载,这样您每次修改配置文件时都不必停止并重新启动 Logstash。

3.6 结合 filebeat 案例
日志内容如下:

2018-12-20 17:40:50.665  INFO 1 --- [Thread-422] f.s.j.e.common.iml.AbstractJobWorker     : no task in app f.s.job.executor.social.users's job 0
2018-12-22 11:23:55.947  INFO -- [cluster-ClusterId{value='5xxx001145200', description='null'}-dds-xxxc9e41.mongodb.rds.aliyuncs.com:3717] org.mongodb.xxx.cluster               : Server xxx:3717 is no longer a member of the replica set.  Removing from client view of cluster.

filebeat 配置文件:

#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/log/*.log
  fields:
    app: tomcat
    type: all
  fields_under_root: true
  #multiline.pattern: '^\['
  multiline.pattern: '^\d+\-\d+\-\d+\s+\d+\:\d+\:\d+'
  multiline.negate: true
  multiline.match: after
  multiline.max_lines: 200
  multiline.timeout: 10s
  #tags: ["filebeat"]
  #exclude_lines: ['^\d+\-\d+\-\d+\s+\d+\:\d+\:\d+\s+DEBUG']
  #include_lines: ['^ERR', '^WARN']

#----------------------------- Logstash output --------------------------------
output.logstash:
#  enabled: true
  hosts: ["127.0.0.1:5044"]
#  index => "filebeat-%{+YYYY.MM.dd}"
#  worker: 4
#  bulk_max_size: 1024
#  compression_level: 6
#  loadbalance: false
#  backoff.max: 120s

logstash 配置文件:

[root@Elk_Server logstash]# vim /etc/logstash/conf.d/logstash.conf

input {
  beats {
    host => '0.0.0.0'
    port => "5044"
  }
}

filter {
  grok {
    match => { "message" => 
      ["%{TIMESTAMP_ISO8601:date}\s+(?:%{LOGLEVEL:loglevel}|%{LOGLEVEL:loglevel}\s+\d) \-+ \[%{NOTSPACE:servicename}\] %{JAVALOGMESSAGE:message}",
      "%{TIMESTAMP_ISO8601:date}\s+(?:%{LOGLEVEL:loglevel}|%{LOGLEVEL:loglevel}\s+\d) \-+ \[%{NOTSPACE:servicename}\{%{DATA:description}\}-%{DATA:db}\] %{JAVALOGMESSAGE:message}"] 
  }
    overwrite => ["message"]
  }

  #geoip {
  #  source => "remote_addr"
  #  target => "geoip"
  #  database => "/opt/GeoLite2-City.mmdb"
  #  add_field => ["[geoip][coordinates]", "%{[geoip][longitude]}"] 
  #  add_field => ["[geoip][coordinates]", "%{[geoip][latitude]}"]
  #}
  date {
    locale => "en"
    match => ["date", "dd/MMM/yyyy:HH:mm:ss Z"]
  }
}

output {
  elasticsearch {hosts => [ "192.168.6.108:9200"]
    index => "logstash-%{type}-%{+YYYY.MM.dd}"
  }
#  stdout {codec => rubydebug}
}

四、安装 Kibana

4.1 安装 Kibana

tar zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local/
mv /usr/local/kibana-6.3.2-linux-x86_64 /usr/local/kibana

4.2 配置 Kibana

cd /usr/local/kibana/
vim config/kibana.yml
#把以下注释放开,使配置起作用。-----
 server.port: 5601
 server.host: "192.168.6.108"
 elasticsearch.url: "http://192.168.6.108:9200"
 kibana.index: ".kibana"

4.3 启动 Kibana 并进行测试访问, 从日志中可以看出,当前开了 5601 端口

./bin/kibana
#后台启动  
nohup /usr/local/kibana/bin/kibana &  
-----
  log   [03:30:39.833] [info][status][plugin:kibana@6.2.4] Status changed from uninitialized to green - Ready
  log   [03:30:39.882] [info][status][plugin:elasticsearch@6.2.4] Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [03:30:40.026] [info][status][plugin:timelion@6.2.4] Status changed from uninitialized to green - Ready
  log   [03:30:40.033] [info][status][plugin:console@6.2.4] Status changed from uninitialized to green - Ready
  log   [03:30:40.037] [info][status][plugin:metrics@6.2.4] Status changed from uninitialized to green - Ready
  log   [03:30:40.061] [info][listening] Server running at http://192.168.30.211:5601
  log   [03:30:40.117] [info][status][plugin:elasticsearch@6.2.4] Status changed from yellow to green - Ready

4.4 查看启动没有报错,可以通过 192.168.6.108:5601 在浏览器进行访问了。

添加索引

①点击 Discover 出现以下界面,在 logstash 日志分析文件里面有建立了一个索引,索引的名称是 test_log-${日期}这样的形式,它是 Elasticsearch 中的一个索引名称开头。Kibana 会自动检测在 Elasticsearch 中是否存在该索引名称。

②按照注释配置, 然后点击 Next step, 在第二页 选择 @timestamp 点击 create 创建
ELK 日志分析系统安装和部署

③创建完成之后, 可以看到以下一个界面, 红框内是 自动生成的域, 也可以理解为 跟数据库中的字段类似, 其中有一个 message 字段, 就是我们想要的日志信息。
ELK 日志分析系统安装和部署

④再次点击 Discover 出现以下界面, 可以看到默认搜索的是最后 15 分钟的日志, 可以通过点击设置搜索的时间范围.
ELK 日志分析系统安装和部署

⑤可以点击右侧域的 add 设置需要显示的字段
ELK 日志分析系统安装和部署
添加完成之后, 日志显示如下:
ELK 日志分析系统安装和部署

⑥也可以查看请求体和响应体
ELK 日志分析系统安装和部署

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计16023字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7999310
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示

亚马逊云崩完,微软云崩!当全球第二大云“摔了一跤”:Azure 宕机背后的配置风险与警示 首先来回顾一下 10...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...