厦门北京网站建设公司,浏览器一打开就是2345网址导航,百度无广告搜索引擎,衡水专业网站制作100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用#xff0c;每个应用都部署在单独的一台机器里边#xff0c;应用对应的日志的也单独存…100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用每个应用都部署在单独的一台机器里边应用对应的日志的也单独存储在一台机器里边。 为了能够同时查看这四台机器日志需要把这些日志进行收集汇总、集中化管理。然后使用一个控制台统一管理我们就可以查询到所有的日志。 技术支撑ELK Elasticsearch Logstash Kibana。
Elasticsearch搜索引擎Kibana免费的web界面可以界面中查看日志。Logstash每个应用里都要安装一个Logstas用于收集各个微服务模块的日 工作原理 3个微服务ABCABC通过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.ymlnode.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.confinput {stdin {}
}
output {elasticsearch {# 日志转发到es# es的ip和端口hosts 120.78.129.95:9200}stdout {# 日志使用默认的codec rubydebug}
}
2启动
# 复制配置文件
cp logstash-elasticsearch.conf /usr/local/logstash-7.10.2/bin
# 进入bin目录
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.959200为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/ )如果出现了下面的信息就表示已经成功启动了 3、注意正常情况下ES应该是单独的一台机器Kibana是单独的一台机器而Logstash跟着服务去走的一起在一台机器。
102 Kibana中文页面配置 | RuoYi
在config/kibana.yml添加并重启测试http://192.168.32.35:5601
i18n.locale: zh-CN
103 分布式日志收集 | RuoYi 对应服务器安装logstash(实际上每台服务器的都需要安装logstash)配置过滤规则自定义日志收集规则例如新建logstash-apache.conf/usr/local/logstash-7.10.2/bin/logstash-apache.conf
input {file {# 从这个路径里面扫描” sys开头.log结尾 ”的# 去” /log/** ”里面收集path /home/ruoyi/logs/sys-*.logstart_position beginningsincedb_path /dev/nullcodec multiline {# 时间格式# 按照时间格式去给它做对应的编排pattern ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}negate trueauto_flush_interval 3what previous}}
}# 过滤条件过滤匹配一下对应的文件
# 可以自己加多个文件这里就sys-info、sys-error这两个文件
filter {# path包含infoif [path] ~ info {# 读取sys-info文件mutate { replace { type sys-info } }grok {match { message %{COMBINEDAPACHELOG} }}date {match [ timestamp , dd/MMM/yyyy:HH:mm:ss Z ]}# path包含error# 读取 sys-error 文件} else if [path] ~ error {mutate { replace { type sys-error } }} else {# 否则的话就是随机的mutate { replace { type random_logs } }}
}output {elasticsearch {hosts 120.78.129.95:9200}stdout { codec rubydebug }
}把一些日志文件放到扫描目录 /home/ruoyi/logs 启动logstashlogstash根据匹配过滤规则开始加载如果匹配成功那么logstash就会把对应的日志文件sys-xxx.logs的数据给上报到这个ES里面去
# -f后面跟着配置规则文件的名称可以是多个
./logstash -f logstash-apache.conf通过kibana菜单 》Discover子菜单 》创建索引模式可视化检索各个服务日志数据。并且可以搜索页面会对应地高亮那些搜索关键字。并可以展示哪个时间有有多少数量的日志
结论相当于logstash收集日志并传到ES里边然后再通过kibana就能直接查询了。所以把所有的日志都统计过来了以后同时有kibana控制台去找的话就很清晰、方便去定位问题。