Logstash使用指南

介绍

Logstash是一个开源数据收集引擎,具有实时管道功能。它可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。尽管Logstash的早期目标是搜集日志,现在它的功能已完全不只于此。任何事件类型都可以加入分析,通过输入、过滤器和输出插件进行转换。与此同时,还提供了很多原生编解码工具简化消息处理。Logstash通过海量数据处理和多种多样的数据格式支持延伸了我们对数据的洞察力。集中、转换和存储数据是Logstash的典型用法。具体介绍如下:

  1. 输入:采集各种样式、大小和来源的数据。数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
  2. 过滤器:实时解析和转换数据。数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响。
  3. 输出:选择存储,导出数据。尽管Elasticsearch是首选输出方向,能够为搜索和分析带来无限可能,但它并非唯一选择。 Logstash 提供众多输出选择,可以将数据发送到要指定的地方,并且能够灵活地解锁众多下游用例。

总之,Logstash是一个功能强大的数据收集引擎,可以帮助用户从各种来源采集、转换和存储数据,为数据分析提供有力支持。

在这里插入图片描述

主要优势

Logstash的主要优势在于其强大的数据处理能力,具体体现在以下几个方面:

  1. 插件化:Logstash支持丰富的插件,包括输入、过滤器和输出插件,可以灵活地适配不同的数据源和目标。
  2. 可扩展性:Logstash具有高度的可扩展性,可以通过添加插件和配置来满足不断变化的需求。
  3. 实时性:Logstash具有实时性,可以快速地处理和转发数据,适用于对实时性要求较高的场景。
  4. 稳定性:Logstash经过多年的发展和维护,具有较高的稳定性和可靠性,可以保证长时间稳定运行。
  5. 开源性:Logstash是开源的,可以免费使用和修改,同时社区活跃,有大量的插件和解决方案可供选择。

综上所述,Logstash的主要优势在于其强大的数据处理能力、插件化、可扩展性、实时性和稳定性,适用于各种需要对数据进行采集、解析、转换和发送的场景。

插件列表

Input插件 :用于从不同的数据源获取数据,如文件、TCP/UDP、HTTP、Kafka等。
Filter插件 :用于对数据进行过滤和处理,如解析、转换、删除字段等。
Output插件 :用于将处理后的数据发送到不同的目标,如Elasticsearch、Kafka、文件、HTTP等。

grok :用于将非结构化日志转换为结构化日志,使得日志更容易被分析和搜索。
date :用于日期转换,将日期类型的字符串生成为一个新的字段,用以替代默认的@timestamp字段。这个插件可以解决日志本身产生的时间与Kibana收集时间不一致的问题。
mutate :这是一个非常灵活的插件,可以对日志进行各种转换和操作,例如添加字段、删除字段、转换字段类型等。
geoip :可以将IP地址转换为地理位置信息,对日志进行更深入的分析和可视化。
useragent :可以提取出用户代理字符串中的有用信息,如浏览器类型、操作系统等,有助于对用户行为进行分析。
gsub :用于字符串替换,可以在日志中搜索并替换指定的字符串。
split :用于拆分日志记录,将一条日志记录拆分成多条记录,可以用于处理多行日志。
clone :可以复制日志事件,以便在同一个pipeline中进行多次处理。
jdbc :用于将数据从关系数据库导入到Logstash中,可以用于处理数据库中的日志数据。
elasticsearch :这是一个输出插件,可以将日志发送到Elasticsearch中进行存储和分析。

这些插件都是Logstash中常用的插件,可以根据实际需求选择使用。

应用场景

Logstash的应用实例非常广泛,以下是一些常见的应用实例:

  1. 实时日志分析:Logstash可以用于实时分析应用程序日志、系统日志等各类日志,帮助开发人员和运维人员及时发现和解决问题。
  2. 安全性监控:Logstash可以用于监控系统的安全性,例如监控异常登录、异常操作等行为,及时发现并阻止潜在的安全威胁。
  3. 性能监控:Logstash可以用于监控应用程序的性能和系统资源的使用情况,例如CPU、内存、磁盘等资源的使用情况,帮助开发人员及时发现并解决性能问题。
  4. 审计和合规性:Logstash可以用于记录系统的操作和事件,帮助企业满足审计和合规性要求。
  5. 数据收集和汇总:Logstash可以用于收集和汇总分布式系统中各种数据源的数据,例如服务器、网络设备、应用程序等的数据,方便集中管理和分析。

Logstash的应用实例非常广泛,可以用于实时分析、安全性监控、性能监控、审计和合规性等多个方面,帮助企业及时发现问题并采取相应的措施。

Logstash性能监控

Logstash的监控可以通过以下几种方式进行:

  1. Logstash提供的监控API:Logstash默认提供了监控API,可以通过这些API获取Logstash的指标,例如节点信息、插件信息、节点统计信息和热线程等。这些API可以直接使用,不需要任何额外的配置。
  2. X-Pack监控:X-Pack是Elasticsearch的一个插件,提供了很多额外的功能,其中包括监控功能。如果使用X-Pack,可以将数据发送到监控集群,并通过X-Pack中的监控UI来查看指标和深入了解Logstash的部署情况。
  3. 使用插件:Logstash还提供了很多插件,例如Metricbeat,可以用于对Logstash进行监控。这些插件可以提供更详细的信息和更丰富的功能。

Logstash的监控可以通过多种方式进行,其中最简单的方式是使用Logstash提供的默认监控API。如果需要更详细的信息和更丰富的功能,可以选择使用X-Pack或其他插件来进行监控。

安装步骤

Logstash的安装步骤如下:

  1. 首先,需要下载Logstash的安装包,可以在Elasticsearch官网上下载最新版本的Logstash安装包。
  2. 下载完成后,解压安装包到指定目录。
  3. 解压完成后,进入Logstash的安装目录,运行Logstash的启动命令。启动命令位于安装路径的bin目录中,需要按如下方式提供参数:./logstash -e"input {stdin {}} output {stdout{}}"。
  4. 启动时应注意:-e 参数后要使用双引号。 如果在命令行启动日志中看到 “Successfully started Logstash API end-point l:port= >9600”,就证明启动成功。

配置参数

Logstash主要有两种类型的配置文件:

  1. pipeline配置文件,用于定义Logstash处理管道。
  2. Logstash本身的配置文件,用于指定控制Logstash启动和运行的参数。

Logstash本身的配置文件位于安装路径的config目录下,包括以下几个:

  • logstash.yml:用于控制Logstash本身的启动和运行。在通过命令行启动Logstash时手动指定的参数值会覆盖此文件中的同名参数值。
  • pipelines.yml:用于指定在一个Logstash实例中运行多个管道的框架和指令配置。
  • jvm.options:JVM配置。
  • log4j2.properties:log4j2库的默认配置。
  • startup.options:Logstash本身不会读取该配置文件。但是在通过Debian包或者RPM包安装Logstash时,$LS_HOME/bin/system-install程序会读取该文件中的配置来为Logstash创建systemd(或者upstart)启动脚本。如果修改了该配置文件,需要重新运行system-install来使新的配置生效。

安装过程中可能遇到的问题及解决方案:

版本不同 ,自身所带的插件也不同。例如6.x版本本身不带logstash-input-jdbc插件,需要手动安装。
下载问题 :在下载Logstash的安装包时,可能会遇到下载速度慢、下载中断或下载错误等问题。此时,可以尝试更换下载源或使用加速器等工具来解决下载问题。
安装问题 :在安装Logstash时,可能会遇到安装失败、插件冲突等问题。此时,可以尝试手动安装缺失的插件、修改配置文件或重新安装Logstash来解决安装问题。
配置问题 :在配置Logstash时,可能会遇到配置错误、配置文件丢失等问题。此时,可以尝试检查配置文件的语法、路径和文件权限,或者重新创建配置文件来解决配置问题。
插件问题 :Logstash的插件可能会存在兼容性问题或安装错误。此时,可以尝试更新插件版本、禁用冲突的插件或手动安装缺失的插件来解决插件问题。
环境问题 :Logstash的运行需要Java环境的支持,如果Java环境未正确安装或配置,可能会导致Logstash无法正常运行。此时,可以尝试检查Java环境的安装和配置情况,并确保Logstash可以正确地访问Java运行时环境。

总之,Logstash的安装可能会遇到各种问题,需要根据实际情况进行排查和解决。同时,建议在安装前仔细阅读Logstash的官方文档和教程,以避免遇到不必要的安装问题。

Java使用案例

下面是一个简单的Java服务使用Logstash的示例:

首先,需要添加Logstash的Java客户端库,例如Logstash-Java,可以通过Maven或Gradle等工具来添加依赖。

接下来,需要创建一个Logger对象,并使用Logstash的Appender将日志输出到Logstash。示例代码如下:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;public class LogstashExample {private static final Logger logger = LogManager.getLogger(LogstashExample.class);public static void main(String[] args) {LoggerContext ctx = (LoggerContext) LogManager.getContext(false);Configuration config = ctx.getConfiguration();Appender appender = config.getAppender("Logstash");Layout<?> layout = appender.getLayout();String pattern = ((PatternLayout) layout).getPattern();logger.info("Sending log message to Logstash via TCP connection");logger.error("This is an error message");}
}

在上面的示例中,我们首先获取Logger对象,然后获取LoggerContext对象,通过LoggerContext获取Configuration对象,再通过Configuration获取Logstash的Appender对象和Layout对象。最后,我们使用Layout对象中的格式化字符串将日志消息输出到Logstash。

需要注意的是,上面的示例中使用了TCP连接方式将日志消息输出到Logstash。如果使用UDP连接方式,需要修改Appender的Type属性为"UDP"。同时,还需要在Logstash的配置文件中配置相应的Input插件来接收日志消息。

Kafka消费配置案例

以下是一个使用Logstash从Kafka接收消息的配置案例:

首先,需要在Logstash的配置文件中添加一个Kafka input插件来接收消息。在Logstash的配置目录下创建一个新的配置文件,例如kafka.conf,并将以下内容添加到该文件中:

input {kafka {bootstrap_servers => "localhost:9092"topics => ["my_topic"]group_id => "my_group"auto_offset_reset => "earliest"consumer_threads => 1decorate_events => true}
}output {stdout { codec => json_lines }
}

在上面的配置中,我们使用了一个Kafka input插件来从Kafka接收消息。在Kafka配置中,我们指定了Kafka的bootstrap_servers地址和端口号,以及要监听的topic名称。在这里,我们将topic名称设置为“my_topic”。同时,我们还指定了group_id和auto_offset_reset等参数来配置Kafka消费者的行为。在这里,我们将group_id设置为“my_group”,auto_offset_reset设置为“earliest”,这意味着如果从Kafka中没有找到之前的消费记录,将从最早的消息开始消费。

在输出部分,我们使用了一个stdout插件来将接收到的消息输出到控制台。这里使用json_lines编码格式输出消息。

保存配置文件后,启动Logstash并指定该配置文件:

/path/to/logstash/bin/logstash -f /path/to/kafka.conf

Logstash将启动并连接到Kafka集群,开始接收并处理从Kafka发送的消息。在这里,我们将消息输出到控制台,以便进行调试和测试。在实际使用中,可以将输出插件替换为其他插件,例如Elasticsearch插件,将消息存储到Elasticsearch中进行后续分析和处理。

参数信息

Kafka input插件中的各个参数的作用如下:

  • bootstrap_servers:指定Kafka集群的地址和端口号,用于建立与Kafka集群的连接。

  • topics:指定要监听的Kafka topic名称,可以是一个或多个topic。

  • group_id:消费者分组的ID,不同的组之间消费是相互不受影响的,相互隔离。

  • auto_offset_reset:指定消费组在启动时如何设置消费偏移量,有earliestlatest两种选项,分别表示从最早的消息开始消费或从最新的消息开始消费。

  • consumer_threads:消费者线程数,可以加速消息的消费速度。

  • decorate_events:是否给事件添加额外的字段信息,默认值为true

  • client_id:指定消费者客户端的ID,用于标识消费者。

  • key_deserializer_classvalue_deserializer_class:指定消息键和消息值的反序列化类,用于将消息键和消息值从字节流转换为Java对象。

  • max_poll_records:每次从Kafka拉取的最大记录数,默认值为500。

  • max_poll_interval_ms:两次拉取消息之间的最大时间间隔,默认值为300000毫秒(5分钟)。

  • session_timeout_ms:消费者会话的超时时间,默认值为10000毫秒(10秒)。

  • heartbeat_interval_ms:消费者向协调器发送心跳的时间间隔,默认值为3000毫秒(3秒)。

  • ssl_key_passwordssl_keystore_locationssl_keystore_passwordssl_truststore_locationssl_truststore_password:这些参数用于配置SSL/TLS加密,可以保护Kafka连接的安全性。

  • sasl_kerberos_service_namesasl_mechanismsasl_jaas_config:这些参数用于配置Kerberos认证,可以提供更强大的身份验证和安全性。

  • security_protocol:指定Kafka连接使用的安全协议,可以是PLAINTEXTSSLSASL_PLAINTEXTSASL_SSL

  • connections_max_idle_ms:指定连接在空闲多长时间后被关闭,可以帮助释放资源并提高性能。

  • request_timeout_ms:指定请求的超时时间,可以避免长时间等待Kafka响应而导致的性能问题。

  • isolation_level:指定消费者的隔离级别,可以是read_committedread_uncommitted,用于控制消费者在读取消息时是否可以看到其他消费者已提交的事务。

  • enable_auto_commitauto_commit_interval_ms:指定是否启用自动提交和自动提交的时间间隔,可以帮助减少消费者的负载并提高性能。

这些参数可以根据实际情况进行调整,以优化Kafka input插件的性能和稳定性。

需要注意的是,这些高级配置选项需要更高的配置和管理成本,并且在使用时需要谨慎考虑其必要性和成本效益。同时,在配置这些高级选项时需要注意参数之间的依赖关系和可能的影响,以确保系统的稳定性和性能。建议在生产环境中进行充分的测试和调整,以确保配置的正确性和效果。

需要注意的是,以上参数的默认值可能并不适用于所有场景,建议根据实际情况进行调整。同时,在调整参数时需要注意参数之间的依赖关系,以确保参数的调整不会对其他部分的性能造成负面影响。建议在生产环境中进行充分的测试和调整,以确保系统的稳定性和性能。

写入Elasticsearch配置案例

以下是一个将消息写入Elasticsearch的配置案例,使用Logstash的Elasticsearch output插件:

input {kafka {bootstrap_servers => "localhost:9092"topics => ["my_topic"]group_id => "my_group"auto_offset_reset => "earliest"consumer_threads => 1decorate_events => true}
}output {elasticsearch {hosts => ["localhost:9200"]index => "my_index"document_id => "%{[@metadata][kafka][offset]}"manage_template => falseidle_timeout => "30s"}
}

在上面的配置中,我们使用了一个Kafka input插件来从Kafka接收消息,并将其发送到Elasticsearch。在输出部分,我们使用了一个elasticsearch插件来将消息写入Elasticsearch。在这里,我们指定了Elasticsearch的主机地址和端口号,以及要写入的index名称。同时,我们还指定了document_id,这是每个消息在Elasticsearch中的唯一标识符。在这里,我们使用[@metadata][kafka][offset]作为document_id,这意味着每个消息都将具有不同的document_id。此外,我们还指定了manage_template参数为false,表示不管理Elasticsearch的模板。最后,我们指定了idle_timeout参数以控制输出插件的超时时间。

保存配置文件后,启动Logstash并指定该配置文件:

/path/to/logstash/bin/logstash -f /path/to/kafka.conf

Logstash将启动并连接到Kafka集群,开始接收并处理从Kafka发送的消息。在处理过程中,Logstash将消息写入Elasticsearch中。

写入配置参数

当将数据写入Elasticsearch时,Logstash提供了许多配置参数来控制写入行为。以下是一些常用的配置参数:

  • index: 指定要将数据写入的Elasticsearch索引名称。
  • document_id: 指定每个文档的唯一标识符,可以是静态值或使用动态字段作为标识符。
  • manage_template: 指定是否要管理Elasticsearch模板。如果设置为true,则Logstash将根据配置创建或更新索引映射。
  • idle_timeout: 指定输出插件的超时时间,以防止长时间未发送数据导致的空闲连接。
  • ssl_certificate_verify: 指定是否验证Elasticsearch服务器的SSL证书。
  • ssl_certificate_path: 指定SSL证书的路径,用于验证Elasticsearch服务器的身份。
  • ssl_key_path: 指定SSL密钥的路径,用于加密与Elasticsearch服务器的通信。
  • ssl_ca_certificate_path: 指定CA证书的路径,用于验证Elasticsearch服务器的身份。

这些参数可以帮助您控制写入Elasticsearch的行为,并根据需要进行调整。请根据您的具体需求和Elasticsearch环境进行适当的配置。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker (镜像分层、阿里云镜像推送/拉去)-day02

一、镜像概念 Docker 镜像是 Docker 容器的基础&#xff0c;它提供了一种可重复使用的、跨平台的部署方式&#xff0c;使得应用程序的部署和运行变得简单和高效。 把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),打包好…

C语言练习记录(蓝桥杯练习)(小蓝数点)

目录 小蓝数点 第一题程序的输出结果是&#xff1f;: 第二题下面代码的执行结果是什么&#xff1f;: 第三题下面代码的执行结果是什么&#xff1f;: 第四题关于关系操作符说法错误的是&#xff1f;: 第五题对于下面代码段&#xff0c;y的值为&#xff1f; 第六题sum 21 …

Java 数据结构篇-用链表、数组实现栈

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 栈的说明 2.0 用链表来实现栈 2.1 实现栈 - 入栈方法&#xff08;push&#xff09; 2.2 实现栈 - 出栈&#xff08;pop&#xff09; 2.3 实现栈 - 查看栈顶元素…

国产linux单用户模式破解无密码登陆 (麒麟系统用户登录密码遗忘解决办法)

笔者手里有一批国产linu系统&#xff0c;目前开始用在日常的工作生产环境中&#xff0c;我这个老程序猿勉为其难的充当运维的或网管的角色。 国产linux系统常见的为麒麟Linux&#xff0c;统信UOS等&#xff0c;基本都是基于debian再开发的linux。 问题描述&#xff1a; 因为…

基于AT89C51单片机的倒数计时器设计

1&#xff0e;设计任务 利用AT89C51单片机为核心控制元件,设计一个简易的数字电压表&#xff0c;设计的系统实用性强、操作简单&#xff0c;实现了智能化、数字化。 本设计采用单片机为主控芯片&#xff0c;结合周边电路组成LED彩灯的闪烁控制系统器&#xff0c;用来控制红色…

用于缓存一些固定名称的小组件

项目中&#xff0c;用于缓存姓名、地名、单位名称等一些较固定名称的id-name小组件。用于减少一些表的关连操作和冗余字段。优化代码结构。扩展也方便&#xff0c;写不同的枚举就行了。 具体用法&#xff1a; {NameCacheUser.USER.getName(userId);NameCacheUser.ACCOUNT.getN…

excel合并单元格教程

在表格里&#xff0c;总是会遇到一级表格、二级表格的区别&#xff0c;这时候一级表格会需要合并成一个大格子&#xff0c;那么excel如何合并单元格呢&#xff0c;其实使用快捷键或者功能键就可以了。 excel如何合并单元格&#xff1a; 1、首先我们用鼠标选中所有要合并的单元…

最大公约数的C语言实现xdoj31

时间限制: 1 S 内存限制: 1000 Kb 问题描述: 最大公约数&#xff08;GCD&#xff09;指某几个整数共有因子中最大的一个&#xff0c;最大公约数具有如下性质&#xff0c; gcd(a,0)a gcd(a,1)1 因此当两个数中有一个为0时&#xff0c;gcd是不为0的那个整数&#xff…

XXL-Job详解(一):组件架构

目录 XXL-Job特性系统组成架构图调度模块剖析任务 “运行模式” 剖析执行器 XXL-Job XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。 特性 1、简单&#…

java+springboot实验室管理系统的设计与实现ssm+jsp

课题研究内容&#xff1a; &#xff08;1&#xff09; 系统需求分析&#xff08;构成模块&#xff0c;系统流程&#xff0c;功能结构图&#xff0c;系统需求&#xff09; &#xff08;2&#xff09; 实验室课程安排功能模块&#xff08;课程的录入和调补&#xff09; &#xff…

wyler水平仪维修WYLER倾角仪维修CH-8405

瑞士WYLER电子水平仪维修&#xff1b;BIueCLINO倾斜度测量仪维修&#xff1b;wyler电子倾角仪维修。 水平仪常见故障及处理方法 1、 仪表通电不工作。 A、检查仪表220V电源端子接线是否正确 B、检查仪表电容是否熔断&#xff1b; C、拧下仪表后的固定螺钉&#xff0c;将表…

王道数据结构课后代码题p40 4.在带头结点的单链表L中删除一个最小值结点的高效算法(假设最小值唯一) (c语言代码实现)

本题代码为 void deletemin(linklist* L)//找到最小值并删除 {lnode* p (*L)->next, * pre *L;lnode* s p,*sprepre;while (p ! NULL)//找到最小值{if (p->data < s->data){s p;spre pre;}p p->next;pre pre->next;}p s->next;spre->next p;…

有IP没有域名可以申请证书吗?

一、IP证书是什么&#xff1f; ip证书是用于公网ip地址的SSL证书&#xff0c;与我们通常所讲的SSL证书并无本质上的区别&#xff0c;但由于SSL证书通常颁发给域名&#xff0c;而组织机构需要公共ip地址的SSL证书&#xff0c;这类SSL证书就是我们所说的ip证书。ip证书具有安全、…

仅仅通过提示词,GPT-4可以被引导成为多个领域的特定专家

The Power of Prompting&#xff1a;提示的力量&#xff0c;仅通过提示&#xff0c;GPT-4可以被引导成为多个领域的特定专家。微软研究院发布了一项研究&#xff0c;展示了在仅使用提策略的情况下让GPT 4在医学基准测试中表现得像一个专家。研究显示&#xff0c;GPT-4在相同的基…

上海毅速丨新材料将推动3D打印在压铸行业的应用

压铸是一种应用广泛的制造工艺&#xff0c;它的制造原理是将液态或半液态金属&#xff0c;在高压作用下&#xff0c;以高速度填充压铸模具型腔&#xff0c;并在压力下快速凝固而获得铸件的一种方法。压铸模的设计和制造需要考虑到多方面的因素&#xff0c;如模具材料、结构、冷…

设计模式详解(二):抽象工厂——Abstract Factory

目录导航 抽象工厂及其作用工厂方法的好处工厂方法的实现关系图实现步骤 工厂方法的适用场景工厂方法举例 抽象工厂及其作用 工厂方法是一种创建型设计模式。所谓创建型设计模式是说针对创建对象方面的设计模式。在面向对象的编程语言里&#xff0c;我们通过对象间的相互协作&…

SAP SD 创建交货单 报错 VL461 VL248

因为生产环境已经被改好了&#xff0c;无法跟踪 所以换到测试环境重现一把&#xff0c;如何追根究底 对比正常订单发现 计划行 VBEP-LMENG,VBEP-BMENG这两个字段上的值跟 订单数量不一致。 尝试修改2者的数据跟订单数据一致&#xff0c;则可以正常创建交货单 实际原因是&a…

【每日一坑】KiCAD导Gerber 文件

第一&#xff0c;软件版本 第二、操作选择注意点 第三&#xff0c;那个坑。。。 不知道什么原因&#xff0c;这第二个框里会选其他不必要得一些东西&#xff0c;导致最终光绘是废的&#xff1b; 一定切记只选edge.cut就好了。 最后&#xff0c;上Gerber图&#xff0c;还有一点…

机器学习入门(第六天)——支持向量机(升维打击)

Support vector machines 知识树 Knowledge tree 苹果表示重点 间隔&#xff1a;使用了几何间隔&#xff0c;保证w b的度量&#xff0c;感知机则是函数间隔 间隔最大化思想&#xff1a;则是支持向量机的独有&#xff0c;这使得它找到最优超平面 核函数&#xff1a;面试当中可…

防火墙补充NAT

目录 1.iptables保存规则 2.自定义链 3.NAT NAT的实现分为下面类型&#xff1a; SNAT实验操作 DNAT实验操作 1.iptables保存规则 永久保存方法一&#xff1a; iptables -save > /data/iptables_rule //输出重定向备份 iptables -restore < /data/iptables_r…