若依cloud -【 100 ~ 】

100 分布式日志介绍 | RuoYi

分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用,每个应用都部署在单独的一台机器里边,应用对应的日志的也单独存储在一台机器里边。

为了能够同时查看这四台机器日志,需要把这些日志进行收集汇总、集中化管理。然后使用一个控制台统一管理,我们就可以查询到所有的日志。

技术支撑:ELK = Elasticsearch + Logstash + Kibana。

  1. Elasticsearch:搜索引擎
  2. Kibana:免费的web界面,可以界面中查看日志。
  3. Logstash:每个应用里都要安装一个Logstas,用于收集各个微服务模块的日

工作原理:

  1. 3个微服务ABC
  2. ABC通过Logstash把日志发送到Elasticsearch里面
  3. 通过Kiana进行日志的图形化搜索

101 分布式日志(ELK)的安装与下载 | RuoYi

提示

如果觉得官网下载慢,可以使用我分享的网盘地址: https://pan.baidu.com/s/1E9J52g6uW_VFWY34fHL6zA 提取码: vneh

1、Elasticsearch

(1)安装

  • 解压到相应目录
bash 复制代码
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /usr/local
  • 修改配置
bash 复制代码
cd /usr/local/elasticsearch-7.10.2/config/
vim elasticsearch.yml
bash 复制代码
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用户直接操作):
bash 复制代码
# 创建用户
useradd es
# 分配权限
chown -R es:es /usr/local/elasticsearch-7.10.2

(2)启动

  • 切换用户成es用户进行操作
bash 复制代码
su - es
# 前台启动
/usr/local/elasticsearch-7.10.2/bin/elasticsearch
# 关闭防火墙
systemctl stop firewalld 
  • 后台启动
bash 复制代码
# 后台启动
/usr/local/elasticsearch-7.10.2/bin/elasticsearch -d 
# 关闭防火墙
systemctl stop firewalld 

在浏览器打开9200端口地址: (http://120.78.129.95:9200/),如果出现了下面的信息,就表示已经成功启动了 :

2、Logstash

(1)安装

  • 解压到相应目录
bash 复制代码
tar -zxvf logstash-7.10.2.tar.gz -C /usr/local
  • 新增配置文件(日志收集配置)
bash 复制代码
cd /usr/local/logstash-7.10.2/bin
vim logstash-elasticsearch.conf
bash 复制代码
input {
	stdin {}
}
output {
	elasticsearch {
        # 日志转发到es
        # es的ip和端口
		hosts => '120.78.129.95:9200'
	}
	stdout {
        # 日志使用默认的
		codec => rubydebug
	}
}

(2)启动

bash 复制代码
cd bin
# 执行以下命令后会卡住,可以暂时不用管,继续去安装Kibana
./logstash -f logstash-elasticsearch.conf

3、kibana

(1)安装

  • 解压到相应目录
bash 复制代码
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
  • 修改配置
bash 复制代码
cd /usr/local/kibana-7.10.2/config
vim kibana.yml
bash 复制代码
# 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用户
bash 复制代码
chown -R es:es /usr/local/kibana-7.10.2/

(2)启动

  • 切换用户成es用户进行操作
bash 复制代码
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)),如果出现了下面的信息,就表示已经成功启动了

3、注意:正常情况下,ES应该是单独的一台机器,Kibana是单独的一台机器,而Logstash跟着服务去走的(一起在一台机器)。

相关推荐
JK Chen13 小时前
基于 TAPD 进行项目管理
其他
职坐标在线1 天前
职坐标IT教育物联网全栈开发实战:传感器到云平台全链路
其他
橙子家2 天前
灰度发布简介
其他
草莓熊Lotso3 天前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
数字体验运营官3 天前
Baklib内容中台AI重构智能服务
其他·用户体验
Toby_0094 天前
tpc udp http
其他·golang
fishwheel5 天前
Life:Internship finding
其他
草莓熊Lotso8 天前
【C语言预处理详解(下)】--#和##运算符,命名约定,命令行定义 ,#undef,条件编译,头文件的包含,嵌套文件包含,其他预处理指令
c语言·开发语言·经验分享·笔记·其他
职坐标在线9 天前
职坐标AI算法实战:TensorFlow/PyTorch深度模型
其他
JiNan.YouQuan.Soft9 天前
FreeCAD源码分析: 串行化工具
其他