100 分布式日志介绍 | RuoYi
分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用,每个应用都部署在单独的一台机器里边,应用对应的日志的也单独存储在一台机器里边。
为了能够同时查看这四台机器日志,需要把这些日志进行收集汇总、集中化管理。然后使用一个控制台统一管理,我们就可以查询到所有的日志。
技术支撑:ELK = Elasticsearch + Logstash + Kibana。
- Elasticsearch:搜索引擎
- Kibana:免费的web界面,可以界面中查看日志。
- Logstash:每个应用里都要安装一个Logstas,用于收集各个微服务模块的日
工作原理:
- 3个微服务ABC
- ABC通过Logstash把日志发送到Elasticsearch里面
- 通过Kiana进行日志的图形化搜索
101 分布式日志(ELK)的安装与下载 | RuoYi
提示
如果觉得官网下载慢,可以使用我分享的网盘地址: https://pan.baidu.com/s/1E9J52g6uW_VFWY34fHL6zA 提取码: vneh
1、Elasticsearch
(1)安装
- 解压到相应目录
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /usr/local
- 修改配置
cd /usr/local/elasticsearch-7.10.2/config/
vim elasticsearch.yml
node.name: node-1
path.data: /usr/local/elasticsearch-7.10.2/data
path.logs: /usr/local/elasticsearch-7.10.2/logs
# 本机
network.host: 127.0.0.1
# host,这里允许所有的都可以访问
http.host: 0.0.0.0
# 端口
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
- 创建
es
用户 因为ElasticSearch
不支持Root
用户直接操作,因此我们需要创建一个es
用户(es的限制,不支持root用户直接操作):
# 创建用户
useradd es
# 分配权限
chown -R es:es /usr/local/elasticsearch-7.10.2
(2)启动
- 切换用户成es用户进行操作
su - es
# 前台启动
/usr/local/elasticsearch-7.10.2/bin/elasticsearch
# 关闭防火墙
systemctl stop firewalld
- 后台启动
# 后台启动
/usr/local/elasticsearch-7.10.2/bin/elasticsearch -d
# 关闭防火墙
systemctl stop firewalld
在浏览器打开9200
端口地址: (http://120.78.129.95:9200/ ),如果出现了下面的信息,就表示已经成功启动了 :
2、Logstash
(1)安装
- 解压到相应目录
tar -zxvf logstash-7.10.2.tar.gz -C /usr/local
- 新增配置文件(日志收集配置)
cd /usr/local/logstash-7.10.2/bin
vim logstash-elasticsearch.conf
input {stdin {}
}
output {elasticsearch {# 日志转发到es# es的ip和端口hosts => '120.78.129.95:9200'}stdout {# 日志使用默认的codec => rubydebug}
}
(2)启动
cd bin
# 执行以下命令后会卡住,可以暂时不用管,继续去安装Kibana
./logstash -f logstash-elasticsearch.conf
3、kibana
(1)安装
- 解压到相应目录
tar -zxvf kibana-7.10.2-linux-x86_64.tar.gz -C /usr/local
mv /usr/local/kibana-7.10.2-linux-x86_64 /usr/local/kibana-7.10.2
- 修改配置
cd /usr/local/kibana-7.10.2/config
vim kibana.yml
# kibana默认的端口是5601
server.port: 5601
# 允许所有的用户(ip)去访问
server.host: "0.0.0.0"
# 这里是个数组([元素]),因此可以在此配置多个
# es的ip地址120.78.129.95,9200为es的端口
elasticsearch.hosts: ["http://120.78.129.95:9200"]
kibana.index: ".kibana"
- 授权es用户
chown -R es:es /usr/local/kibana-7.10.2/
(2)启动
- 切换用户成es用户进行操作
su - es
/usr/local/kibana-7.10.2/bin/kibana
- 后台启动
/usr/local/kibana-7.10.2/bin/kibana &
在浏览器打开5601
端口地址: (http://120.78.129.95:5601/ (opens new window)),如果出现了下面的信息,就表示已经成功启动了