共计 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 的功能如下:
其实它就是一个收集器而已,我们需要为它指定 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 创建
③创建完成之后, 可以看到以下一个界面, 红框内是 自动生成的域, 也可以理解为 跟数据库中的字段类似, 其中有一个 message 字段, 就是我们想要的日志信息。
④再次点击 Discover 出现以下界面, 可以看到默认搜索的是最后 15 分钟的日志, 可以通过点击设置搜索的时间范围.
⑤可以点击右侧域的 add 设置需要显示的字段
添加完成之后, 日志显示如下:
⑥也可以查看请求体和响应体
: