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提供了三个逻辑运算符:与运算(&&)、或运算(||)和非运算(!)。下面对这些逻辑运算符进行详细介绍,并提供示…...

启智平台新建一个调试任务后,如何配环境,并提交镜像
1. 选一个基础版的镜像,我选的是第一个 2. 点击“调试”,进入调试页面 3. 输入bash,再输入pip list 就可以看到镜像自带的conda中已经安装的包 !注意,这里一进入到调试页面,不要输入su,一定要…...

模糊测试面面观 | 车联网场景模糊测试解决方案
随着国际国内汽车信息安全标准的出台、用户安全意识的不断提高以及针对智能网联汽车安全攻击的不断规模化复杂化和深入,智能网联汽车系统及车联网安全形势严峻。 然而大部分车型在信息安全防护方面水平偏低,车内相关的联网部件及控制部件防护可靠性不高&…...

超声波清洗机有没有平价又好用的推荐、平价好用超声波清洗机总结
超声波清洗机以其高效、环保、节能等优点在日常生活中得到了广泛应用。无论是在珠宝首饰、眼镜等小物品的清洁方面,还是在医疗领域的清洁消毒方面,超声波清洗机都发挥着不可替代的作用。在购买超声波清洗机时,需要根据自己的具体需求选择合适…...

工控机通过485modbus转profinet网关与温度智能表通讯配置案例
在这个案例中,通过485modbus转profinet网关(XD-MDPN100)可以实现工控机与温度智能表之间的双向通信。工控机通过modbus协议将温度数据发送到网关,网关将数据转换为profinet协议后发送给温度智能表进行显示和控制。 通过485modbus转…...

【网络】计算机网络基础概念入门
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁&#…...

Node.js的crypto模块 加密
Node.js的crypto模块提供了许多加密和解密功能,包括对称加密、非对称加密、哈希函数等。在本篇文章中,我们将详细介绍Node.js的crypto模块的API、代码注释和举例。 加密和解密 对称加密 对称加密算法使用相同的密钥进行加密和解密,例如AES…...

react+hooks使用
参考视频:https://www.bilibili.com/video/BV1ZB4y1Z7o8/?p3&spm_id_frompageDriver&vd_source5c584bd3b474d579d0bbbffdf0437c70 1.快速搭建开发环境 create-react-app是一个快速 创建react开发环境的工具,底层由webpack构建,封装…...

wsl2安装fsl
按照教程安装完毕之后,终端输入命令glxgears判断vcxsrv是否可用若有三个轮子即可用, 然后将三个齿轮关闭,并将vcxsrv挂起,使用Ubuntu终端输入 sudo gedit /etc/profile 打开写字板,(此时写字板是会出现在vc…...

mac电脑zsh: command not found: adb
“zsh: command not found: adb” 的解决方法: 前提 已经成功安装了 Android Studio. 打开 iTerm 终端依次输入下面命令: echo export ANDROID_HOME/Users/$USER/Library/Android/sdk >> ~/.zshrc echo export PATH${PATH}:$ANDROID_HOME/tool…...

GitHub下载太慢的解决方案
修改hosts文件: windows的hosts文件在 C:\Windows\System32\drivers\etc\hosts cmd管理员运行命令notepad C:\Windows\System32\drivers\etc\hosts 然后cmd命令重启网络ipconfig /flushdns windows修改hosts Ubuntu22.04修改hosts sudo vim /etc/hosts # This fil…...