ELK + Filebeat 分布式日志管理平台部署
ELK + Filebeat 分布式日志管理平台部署
- 1、前言
- 1.1日志分析的作用
- 1.2需要收集的日志
- 1.3完整日志系统的基本特征
- 2、ELK概述
- 2.1ELK简介
- 2.2为什么要用ELK?
- 2.3ELK的组件
- 3、ELK组件详解
- 3.1Logstash
- 3.1.1简介
- 3.1.2Logstash命令常用选项
- 3.1.3Logstash 的输入和输出流
- 3.1.4Logstash配置文件
- 3.2ElasticSearch
- 3.3Kiabana
- 3.4Filebeat
- 3.4.1简介
- 3.4.2filebeat 结合 logstash 带来好处:
- 3.5缓存/消息队列(redis、kafka、RabbitMQ等)
- 3.6Fluentd
- 4、ELK的工作原理
- 5、部署ELK(Logstash作为日志收集器)
- ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)
- ELK Logstash 部署(在 Apache 节点上操作)
- ELK Kiabana 部署(在 Node1 节点上操作)
- Filebeat+ELK 部署
1、前言
在运维中,日志是非常重要的工具,用于记录系统、应用程序或设备的运行状态、事件和异常情况。
1.1日志分析的作用
(1)故障排除和问题诊断
日志是排查故障和诊断问题的关键信息源。
通过分析日志文件,可以查找和定位系统故障、错误和异常,帮助运维人员迅速找出问题的根本原因,并采取正确的修复措施。
(2)性能分析和优化
通过监视和分析系统日志,可以了解系统的性能瓶颈、资源消耗情况和关键指标。
运维人员可以根据日志中的数据,优化系统配置、调整资源分配,以提高系统的性能和响应能力。
(3)安全监控和威胁检测
日志可以帮助监控系统的安全性,并检测潜在的安全威胁。
通过分析日志,可以发现异常登录、未授权访问、恶意行为等安全问题,并及时采取措施进行应对和防范。
(4)运营分析和规划
通过日志分析,可以更好地了解用户需求,进行容量规划,制定有效的运维策略和决策。
(5)合规性和审计
通过记录和保留日志,可以应对合规性规定,并提供必要的审计跟踪,以满足法规和行业标准的要求。
因此,对于任何系统或应用程序,设置合适的日志记录和日志分析机制是非常重要的一环。
1.2需要收集的日志
系统日志:为监控做准备,要收集tomcat系统日志,tomcat所在节点的日志。
服务日志:比如数据库mysql,收集慢查询日志、错误日志、普通日志,要收集tomcat服务日志。
业务日志(业务日志必须收集):业务口子日志在log4j,log4j是由java环境开发的,跑在tomcat上。
1.3完整日志系统的基本特征
- 收集:能够采集多种来源的日志数据
- 传输:能够稳定的把日志数据解析过滤并传输到存储系统
- 存储:存储日志数据
- 分析:支持UI分析
- 警告:能够提供错误报告,监控机制
2、ELK概述

2.1ELK简介
ELK平台是一套完整的日志集中处理解决方案。
将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。
2.2为什么要用ELK?
集中化管理日志后,日志的统计和检索的效率降低。
ELK 提供了一个完整的日志管理和分析解决方案,能够帮助用户更好地理解数据、监控系统性能并进行故障排除。
2.3ELK的组件

基础组件:Elasticsearch、Logstash、Kibana
扩展组件:Filebeat、Fluentd
3、ELK组件详解
3.1Logstash
3.1.1简介
Logstash 实现了数据的收集和处理。

Logstash 是一个可扩展的数据收集、转换和传输工具。
它可以从各种来源(如日志文件、消息队列、数据库等)收集数据,并将其转换为统一的格式,然后发送到 Elasticsearch 进行存储和分析。
Logstash 提供了丰富的输入插件font>和输出插件,可以与各种数据源和目标进行集成。
它还具有强大的过滤功能,可以对数据进行处理、过滤和转换,以满足不同的业务需求。
3.1.2Logstash命令常用选项
#Logstash 命令常用选项-f:通过这个选项可以指定 Logstash 的配置文件,根据配置文件配置 Logstash 的输入和输出流-e:从命令行中获取,输入、输出后面跟着字符串,该字符串可以被当作 Logstash 的配置(如果是空,则默认使用 stdin 作为输入,stdout 作为输出)-t:测试配置文件是否正确,然后退出。
3.1.3Logstash 的输入和输出流
1、定义输入和输出流
#输入采用标准输入
#输出采用标准输出(类似管道)
#新版本默认使用 rubydebug 格式输出
logstash -e 'input { stdin{} } output { stdout{} }'
2、使用 rubydebug 输出详细格式显示
#codec 为一种编解码器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
3.1.4Logstash配置文件
Logstash 配置文件基本由三部分组成:input、output 以及 filter。
filter部分选择性添加,可以没有。
input部分:
表示从数据源采集数据。
常见的数据源如Kafka、日志文件等。
file beats kafka redis stdin
#基本格式
input {...}
filter部分:
数据处理层,包括对数据进行格式化处理、数据类型转换、数据过滤等,支持正则表达式。
#基本格式
filter {...}

ouput部分:
表示将Logstash收集的数据经由过滤器处理之后输出到Elasticsearch。
elasticsearch stdout
#基本格式
output {...}
在每个部分中,也可以指定多个访问方式
#举个例子,若要指定两个日志来源文件,则格式如下:
input {file { path =>"/var/log/messages" type =>"syslog"}file { path =>"/var/log/httpd/access.log" type =>"apache"}
}
3.2ElasticSearch
Elasticsearch 提供了强大的搜索和分析引擎。
Elasticsearch 是一个分布式、实时的搜索和分析引擎。
它基于 Lucene 搜索引擎库构建,具有分布式搜索、实时数据分析、高性能和高可伸缩性的特点。
Elasticsearch 可以存储和索引大规模的数据(比如日志),并提供快速的全文搜索、条件过滤、聚合和分析功能。
3.3Kiabana
Kibana 提供了可视化和交互式分析的界面。
Kibana 是一个针对Elasticsearch的开源数据分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。
使用Kibana,可以通过各种图表进行高级数据分析及展示,创建自定义仪表盘font>来展示关键指标和监控警报。
3.4Filebeat
3.4.1简介
轻量级的开源日志文件数据搜集器。
通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储。
性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。
常应用于 EFLK 架构当中。
3.4.2filebeat 结合 logstash 带来好处:
(1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch
持续写入数据的压力;
(2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取;
(3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件;
(4)使用条件数据流逻辑组成更复杂的处理管道。
3.5缓存/消息队列(redis、kafka、RabbitMQ等)
对高并发日志数据进行流量削峰和缓冲。 对高并发日志数据进行流量削峰和缓冲。
3.6Fluentd
Fluentd是一个流行的开源数据收集器。
由于 logstash 太重量级的缺点,Logstash 性能低、资源消耗比较多等问题,随后就有 Fluentd 的出现。
相比较 logstash,Fluentd 更易用、资源消耗更少、性能更高,在数据处理上更高效可靠,受到企业欢迎,成为 logstash 的一种替代方案,常应用于 EFK 架构当中。
在 Kubernetes 集群中也常使用 EFK 作为日志数据收集的方案。
在 Kubernetes 集群中一般是通过 DaemonSet 来运行 Fluentd,以便它在每个 Kubernetes 工作节点上都可以运行一个 Pod。
它通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,在该集群中对其进行索引和存储。
4、ELK的工作原理

(1)在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。
(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
(3)Elasticsearch 对格式化后的数据进行索引和存储。
(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。
综上所述:
logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
5、部署ELK(Logstash作为日志收集器)
ELK Elasticsearch 集群部署(在Node1、Node2节点上操作)
环境准备#关闭防火墙
systemctl stop firewalld
setenforce 0#设置Java环境
java -version



更改主机名、配置域名解析Node1节点(192.168.190.100):
hostnamectl set-hostname node1
su
echo "192.168.190.100 node1" >> /etc/hosts
echo "192.168.190.200 node2" >> /etc/hostsNode2节点(192.168.190.200):
hostnamectl set-hostname node2
su
echo "192.168.190.100 node1" >> /etc/hosts
echo "192.168.190.200 node2" >> /etc/hosts
Apache节点(192.168.190.101):
hostnamectl set-hostname apache
su




部署 Elasticsearch 软件安装elasticsearch—rpm包
#上传elasticsearch-6.7.2.rpm到/opt目录下
cd /opt
rpm -ivh elasticsearch-6.7.2.rpm


修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注释,指定集群名字
cluster.name: my-elk-cluster
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
node.name: node1
node.master: true #是否master节点,false为否
node.data: true #是否数据节点,false为否
--33--取消注释,指定数据存放路径
path.data: /var/lib/elasticsearch
--37--取消注释,指定日志存放路径
path.logs: /var/log/elasticsearch
--43--取消注释,避免es使用swap交换分区
bootstrap.memory_lock: true
--55--取消注释,设置监听地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注释,ES 服务的默认监听端口为9200
http.port: 9200 #指定es集群提供外部访问的接口
transport.tcp.port: 9300 #指定es集群内部通信接口
--68--取消注释,集群发现通过单播实现,指定要发现的节点
discovery.zen.ping.unicast.hosts: ["192.168.190.100:9300", "192.168.190.200:9300"]







es 性能调优参数 需重启生效
#优化最大内存大小和最大文件描述符的数量
vim /etc/security/limits.conf
......soft nofile 65536
hard nofile 65536
soft nproc 32000
hard nproc 32000
soft memlock unlimited
hard memlock unlimitedvim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity




优化elasticsearch用户拥有的内存权限
由于ES构建基于lucene, 而lucene设计强大之处在于lucene能够很好的利用操作系统内存来缓存索引数据,以提供快速的查询性能。lucene的索引文件segements是存储在单文件中的,并且不可变,对于OS来说,能够很友好地将索引文件保持在cache中,以便快速访问;因此,我们很有必要将一半的物理内存留给lucene ; 另一半的物理内存留给ES(JVM heap )。所以, 在ES内存设置方面,可以遵循以下原则:
1.当机器内存小于64G时,遵循通用的原则,50%给ES,50%留给操作系统,供lucene使用
2.当机器内存大于64G时,遵循原则:建议分配给ES分配 4~32G 的内存即可,其它内存留给操作系统,供lucene使用vim /etc/sysctl.conf
#一个进程可以拥有的最大内存映射区域数,参考数据(分配 2g/262144,4g/4194304,8g/8388608)
vm.max_map_count=262144sysctl -p
sysctl -a | grep vm.max_map_count




启动elasticsearch是否成功开启
systemctl start elasticsearch.service
systemctl status elasticsearch.service


查看节点信息
浏览器访问 http://192.168.190.100:9200 、 http://192.168.190.200:9200 查看节点 Node1、Node2 的信息。浏览器访问 http://192.168.190.100:9200/_cluster/health?pretty 、 http://192.168.190.200:9200/_cluster/health?pretty查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行。#使用上述方式查看群集的状态对用户并不友好,可以通过安装 Elasticsearch-head 插件,可以更方便地管理群集。



安装 Elasticsearch-head 插件
Elasticsearch 在 5.0 版本后,Elasticsearch-head 插件需要作为独立服务进行安装,需要使用npm工具(NodeJS的包管理工具)安装。
安装 Elasticsearch-head 需要提前安装好依赖软件 node 和 phantomjs。
node:是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
phantomjs:是一个基于 webkit 的JavaScriptAPI,可以理解为一个隐形的浏览器,任何基于 webkit 浏览器做的事情,它都可以做到。编译安装 node
#上传软件包 node-v8.2.1.tar.gz 到/opt
yum install gcc gcc-c++ make -ycd /opt
tar zxvf node-v8.2.1.tar.gzcd node-v8.2.1/
./configure
make && make install




安装 phantomjs
#上传软件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
cd /opt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd /opt/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin

安装 Elasticsearch-head 数据可视化工具
#上传软件包 elasticsearch-head-master.zip 到/opt
cd /opt
unzip elasticsearch-head-master.zip
cd /opt/elasticsearch-head/
npm install //安装依赖包


修改 Elasticsearch 主配置文件
vim /etc/elasticsearch/elasticsearch.yml
......
--末尾添加以下内容--
http.cors.enabled: true #开启跨域访问支持,默认为 false
http.cors.allow-origin: "*" #指定跨域访问允许的域名地址为所有systemctl restart elasticsearch


启动 elasticsearch-head 服务
#必须在解压后的 elasticsearch-head 目录下启动服务,进程会读取该目录下的 gruntfile.js 文件,否则可能启动失败。
cd /usr/local/src/elasticsearch-head/
npm run start &

通过 Elasticsearch-head 查看 Elasticsearch 信息
通过浏览器访问 http://192.168.190.100:9100/ 地址并连接群集。如果看到群集健康值为 green 绿色,代表群集很健康。

插入索引
#通过命令插入一个测试索引,索引为 index-demo,类型为 test。
curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
//输出结果如下:
{
"_index" : "index-demo",
"_type" : "test",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"created" : true
}浏览器访问 http://192.168.190.100:9100/ 查看索引信息,可以看见索引默认被分片5个,并且有一个副本。
点击“数据浏览”,会发现在node1上创建的索引为 index-demo,类型为 test 的相关信息。


ELK Logstash 部署(在 Apache 节点上操作)
更改主机名
hostnamectl set-hostname apache关闭防火墙
systemctl stop firewalld
setenforce 0

安装Apahce服务(httpd)
yum -y install httpd
systemctl start httpd


安装logstash
#上传软件包 logstash-6.7.2.rpm 到/opt目录下
cd /opt
rpm -ivh logstash-6.7.2.rpm
systemctl start logstash.service
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/


使用 Logstash 将信息写入 Elasticsearch 中
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.190.100:9200"] } }'


cd /etc/logstash/conf.d/
vim system.confinput {file{path =>"/var/log/messages"type =>"system"start_position =>"beginning"}
}
output {elasticsearch { hosts => ["192.168.190.100:9200","192.168.190.200:9200"] index =>"system-%{+YYYY.MM.dd}" }
}

chmod +r /var/log/messages #让 Logstash 可以读取日志

logstash -f system.conf浏览器访问 http://192.168.190.100:9100/ 查看索引信息


ELK Kiabana 部署(在 Node1 节点上操作)
安装 Kiabana
#上传软件包 kibana-6.7.2-x86_64.rpm 到/opt目录
cd /opt
rpm -ivh kibana-6.7.2-x86_64.rpm

设置 Kibana 的主配置文件
vim /etc/kibana/kibana.yml
--2--取消注释,Kiabana 服务的默认监听端口为5601
server.port: 5601
--7--取消注释,设置 Kiabana 的监听地址,0.0.0.0代表所有地址
server.host: "0.0.0.0"
--28--取消注释,配置es服务器的ip,如果是集群则配置该集群中master节点的ip
elasticsearch.url: ["http://192.168.80.10:9200","http://192.168.80.11:9200"]
--37--取消注释,设置在 elasticsearch 中添加.kibana索引
kibana.index: ".kibana"
--96--取消注释,配置kibana的日志文件路径(需手动创建),不然默认是messages里记录日志
logging.dest: /var/log/kibana.log



创建日志文件,启动 Kibana 服务
touch /var/log/kibana.log
chown kibana:kibana /var/log/kibana.logsystemctl start kibana.service
systemctl status kibana.servicenetstat -natp | grep 5601

将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示
vim /etc/logstash/conf.d/apache_log.conf
input {file{path => "/etc/httpd/logs/access_log"type => "access"start_position => "beginning"}file{path => "/etc/httpd/logs/error_log"type => "error"start_position => "beginning"}
}
output {if [type] == "access" {elasticsearch {hosts => ["192.168.190.100:9200","192.168.190.200:9200"]index => "apache_access-%{+YYYY.MM.dd}"}}if [type] == "error" {elasticsearch {hosts => ["192.168.190.100:9200","192.168.190.200:9200"]index => "apache_error-%{+YYYY.MM.dd}"}}
}

cd /etc/logstash/conf.d/
logstash -f apache_log.conf浏览器访问 http://192.168.190.100:9100 查看索引是否创建

Filebeat+ELK 部署
在 Node1 节点上操作
1.安装 Filebeat
#上传软件包 filebeat-6.7.2-linux-x86_64.tar.gz 到/opt目录
tar zxvf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64/ /usr/local/filebeat


设置 filebeat 的主配置文件
cd /usr/local/filebeatvim filebeat.yml
filebeat.inputs:type: log #指定 log 类型,从日志文件中读取消息
enabled: true
paths:/var/log/messages #指定监控的日志文件/var/log/*.log
tags: ["sys"] #设置索引标签
fields: #可以使用 fields 配置选项设置一些参数字段添加到 output 中service_name: filebeatlog_type: syslogfrom: 192.168.80.13

相关文章:
ELK + Filebeat 分布式日志管理平台部署
ELK Filebeat 分布式日志管理平台部署 1、前言1.1日志分析的作用1.2需要收集的日志1.3完整日志系统的基本特征 2、ELK概述2.1ELK简介2.2为什么要用ELK?2.3ELK的组件 3、ELK组件详解3.1Logstash3.1.1简介3.1.2Logstash命令常用选项3.1.3Logstash 的输入和输出流3.1.4Logstash配…...
Stable Diffusion原理
一、Diffusion扩散理论 1.1、 Diffusion Model(扩散模型) Diffusion扩散模型分为两个阶段:前向过程 反向过程 前向过程:不断往输入图片中添加高斯噪声来破坏图像反向过程:使用一系列马尔可夫链逐步将噪声还原为原始…...
2022年亚太杯APMCM数学建模大赛A题结晶器熔剂熔融结晶过程序列图像特征提取及建模分析求解全过程文档及程序
2022年亚太杯APMCM数学建模大赛 A题 结晶器熔剂熔融结晶过程序列图像特征提取及建模分析 原题再现: 连铸过程中的保护渣使钢水弯液面隔热,防止钢水在连铸过程中再次氧化,控制传热,为铸坯提供润滑,并吸收非金属夹杂物…...
金融网站如何做好安全防护措施?
联网的发展为当代很多行业的发展提供了一个更为广阔的平台,而对于中国的金融业来说,互联网金融这一新兴理念已经为 人们所接受,且发展迅速。我们也都知道金融行业对互联网技术是非常严格的,这对互联网的稳定性和可靠性提出了较高的…...
2023年中国恋爱社区未来发展趋势分析:多元化盈利模式实现可持续发展[图]
恋爱社区指满足情侣之间互动、记录及娱乐需求,以维护情侣恋爱关系的虚拟社区。恋爱社区行业主要以线上APP的虚拟形式为用户提供相关服务,其业务包括情侣记录、情侣互动、情侣娱乐、公共社区、线上购物、增值服务。 恋爱社区主要业务 资料来源࿱…...
Elasticsearch:生成式人工智能带来的社会转变
作者:JEFF VESTAL 了解 Elastic 如何走在大型语言模型革命的最前沿 – 通过提供实时信息并将 LLM 集成到数据分析的搜索、可观察性和安全系统中,帮助用户将 LLM 提升到新的高度。 iPhone 社会转变:新时代的黎明 曾几何时,不久前…...
服务器数据恢复-RAID5中磁盘被踢导致阵列崩溃的服务器数据恢复案例
服务器数据恢复环境: 一台3U的某品牌机架式服务器,Windows server操作系统,100块SAS硬盘组建RAID5阵列。 服务器故障: 服务器有一块硬盘盘的指示灯亮黄灯,这块盘被raid卡踢出后,raid阵列崩溃。 服务器数据…...
负荷不均衡问题分析处理流程
一、负荷不均衡分析 负荷不均衡判断标准:4G同覆盖扇区内存在无线利用率大于50%的小区,且两两小区间无线利用率差值大于30%,判定为4G负荷不均衡扇区;5G同覆盖扇区内存在无线利用率大于50%的小区,且两两小区间无线利用率…...
Spring篇---第四篇
系列文章目录 文章目录 系列文章目录一、说说你对Spring的IOC是怎么理解的?二、解释一下spring bean的生命周期三、解释Spring支持的几种bean的作用域?一、说说你对Spring的IOC是怎么理解的? (1)IOC就是控制反转,是指创建对象的控制权的转移。以前创建对象的主动权和时机…...
算法通过村第十五关-超大规模|白银笔记|经典问题
文章目录 前言从40个亿中产生一个不存在的整数位图存储数据的原理使用10MB来存储如何确定分块的区间 用2GB内存在20亿的整数中找到出现次数最多的数从100亿个URL中查找的问题40亿个非负整数中找出两次的数。总结 前言 提示:人生之中总有空白,但有时&…...
Mini小主机All-in-one搭建教程6-安装苹果MacOS系统
笔者使用的ESXI7.0 Update 3 抱着试试的态度想安装一下苹果的MacOS系统 主要步骤有2个 1.解锁unlocker虚拟机系统 2.安装苹果MacOS系统 需要下载的文件 unlocker 这一步是最耗时间的,要找到匹配自己系统的unlocker文件。 https://github.com/THDCOM/ESXiUnloc…...
Android中使用Glide加载圆形图像或给图片设置指定圆角
一、Glide加载圆形头像 效果 R.mipmap.head_icon是默认圆形头像 ImageView mImage findViewById(R.id.image);RequestOptions options new RequestOptions().placeholder(R.mipmap.head_icon).circleCropTransform(); Glide.with(this).load("图像Uri").apply(o…...
Nginx 代理
目录 正向代理 反向代理 负载均衡 负载均衡的工作原理 优势和好处 算法和策略 应用领域 Nginx 的反向代理 应用场景 在网络通信中,代理服务器扮演着重要的角色,其中正向代理和反向代理是两种常见的代理服务器模式。它们在网络安全、性能优化和…...
uniapp(uncloud) 使用生态开发接口详情4(wangeditor 富文本, 云对象, postman 网络请求)
wangeditor 官网: https://www.wangeditor.com/v4/pages/01-%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8/01-%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html 这里用vue2版本,用wangeditor 4 终端命令: npm i wangeditor --save 开始使用 在项目pages > sy_news > add.vue 页面中…...
Halcon 中查看算子和函数的执行时间
1、在Halcol主窗口的底栏中的第一个图标显示算子或函数的执行时间,如下图: 2、在Halcon的菜单栏中选择【窗口】,在下拉框中选择【打开输出控制台】,进行查看算子或函数的执行时间,如下图:...
Python中的With ...as... 作用
Python中的with … as …作用: 1、通过with语句可以得到一个上下文管理器 2、执行对象 3、加载__enter__方法 4、加载__exit__方法 5、执行__enter__方法 6、as 可以得到enter的返回值 7、拿到对象执行相关操作 8、执行完了之后调用__exit__方法 9、如果遇到异常&a…...
腾讯云国际站服务器如何打开音频设备?
在使用腾讯云服务器进行音频处理或直播等活动时,或许需求翻开服务器的音频设备。本文将详细介绍如安在腾讯云服务器上翻开音频设备。 在腾讯云服务器上翻开音频设备的过程如下: 登录腾讯云服务器办理控制台 1.首先,需求登录腾讯云服务器的办理…...
k8s day05
上周内容回顾: - 基于kubeadm部署k8s集群 ***** - Pod的基础管理 ***** 是K8S集群中最小的部署单元。 ---> 网络基础容器(pause:v3.1),提供网络 ---> 初始化容器(initContainer),做初始化的准备工作…...
微信小程序里报名链接怎么做
微信小程序是一种便捷、实用的应用程序,它依托于微信平台,无需下载安装即可使用。在小程序中,我们可以制作报名链接,以便用户直接在微信中进行报名操作,提高服务效率。下面我们将探讨如何制作微信小程序里的报名链接为…...
Kotlin中的逻辑运算符
在Kotlin中,逻辑运算符用于对布尔值进行逻辑运算。Kotlin提供了三个逻辑运算符:与运算(&&)、或运算(||)和非运算(!)。下面对这些逻辑运算符进行详细介绍,并提供示…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
