
# 创建配置文件
在企业数据集成过程中，面临多源异构数据（如数据库、日志、消息队列）清洗与汇聚的复杂需求，编写Logstash配置文件不仅语法门槛高、调试困难，还极易因明文存储数据库密码等凭据导致安全风险。为此，CSS服务的Logstash提供了可视化配置中心，支持通过系统与自定义模板快速生成ETL逻辑，内置敏感信息脱敏功能保障凭据安全，并允许用户针对不同业务场景精细化调整管道并发与缓冲参数，从而实现安全、高效且易于管理的数据管道构建。
#### 功能介绍
一个Logstash配置文件本质上定义了一个Pipeline（管道）。数据流经管道经历三个阶段：
1. Input（输入）：从数据源拉取数据。
2. Filter（过滤/转换）：通过解析、清洗、转换等方式处理数据（最消耗CPU的阶段）。
3. Output（输出）：将数据推送到目的端，如Elasticsearch。
以上3个插件的详细说明请参见官方文档[Logstash Plugins](https://www.elastic.co/docs/reference/logstash/plugins)。
#### 约束限制
- Logstash集群最多支持创建50个配置文件。
- 同一时间处于"校验中"状态的配置文件不能超过5个。
- 单个配置文件大小不能超过100KB。
 
#### 前提条件
- 已准备好数据源（如Elasticsearch、MySQL、Kafka）和目的端（如Elasticsearch）的连接信息，包括IP地址、端口号、账号密码等。
- 确保Logstash集群所在的VPC和安全组规则允许与数据源及目的端通信。
 
#### 创建配置文件
1. 进入配置中心页面。
   1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
   
   2. 在左侧导航栏，选择"集群管理 \> Logstash"。
   
   3. 在集群列表，单击目标集群名称，进入集群详情页。
   
   4. 选择"配置中心"页签。
    
2. 在配置中心页面，单击右侧"创建"，进入创建配置文件页面。
3. 编辑配置内容，定义数据如何采集和处理。
   表1创建配置文件的参数说明 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 名称     | 自定义配置文件名称。 只能包含字母、数字、中划线或下划线，且必须以字母开头。必须大于等于4个字符。 建议命名包含业务含义，方便后续管理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 配置文件内容 | 定义Input、Filter、Output逻辑。 支持使用配置文件模板：展开"系统模板"或"自定义模板"，根据模板描述选择预置方案，单击操作列的"应用"自动填充代码。 - 系统模板是CSS服务预置的配置文件模板，支持Redis、Elasticsearch、OpenSearch、JDBC、Kafka、Beats等多种输入源模板。具体请参见[配置文件模板参考](https://support.huaweicloud.com/usermanual-css/css_01_0105.html)。  - 自定义模板是用户在使用过程中添加的配置文件模板。   配置文件大小不能超过100KB。 |
   | 隐藏内容列表 | 敏感信息脱敏配置。配置隐藏字符串列表，例如输入配置文件中出现的密码或密钥，按回车确认。配置后，返回信息会将本列表中的字符串隐藏为"\*\*\*"。 列表最大支持20条，单个字符串最大长度是512字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 描述     | 添加配置文件的描述信息，方便识别。 支持0\~128个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      
   
4. 编辑完成后，单击"下一页"进入管道参数配置。
5. 配置管道参数，根据数据量级和可靠性要求调整管道运行参数。
   表2配置管道的参数说明 
   | 参数                      | 性能分类  | 默认值           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|:---|:---|
   | pipeline.workers        | 并发控制  | CPU核数         | 工作线程数，定义并行执行管道的Filters和Outputs阶段的工作线程数。 - I/O密集型（如简单转发）：可设为CPU核数。  - CPU密集型（复杂正则解析）：建议设为CPU核数或略小。   建议不超过单节点的CPU核数。过大可能导致上下文切换开销，反而降低性能。 |
   | pipeline.batch.size     | 吞吐量   | 125           | 单批次处理事件数，定义单个工作线程在尝试执行其Filters和Outputs之前从Inputs收集的最大事件数。 对于大量小文档，增加该值（如 500\~3000）可显著提升吞吐量，但受限于JVM堆内存，过大会导致OOM（内存溢出）。                                                                                                                                                                                                                                                                      |
   | pipeline.batch.delay    | 延迟控制  | 50            | 批处理等待时间，定义创建管道事件批时，在将过小的批调度到管道工作线程之前，等待每个事件的时间。 单位：ms（毫秒） 当业务对实时性要求高时可调小此值。                                                                                                                                                                                                                                                                   |
   | queue.type              | 数据可靠性 | memory        | 队列类型，定义用于事件缓冲的内部队列模型。 - memory：高性能。数据在内存中，进程崩溃会丢数据。  - persisted：高可靠。数据落盘，防止数据丢失，支持断点续传。但需注意数据落盘可能导致磁盘空间不足。                             |
   | queue.checkpoint.writes | 检查点   | 1024（建议保持默认值） | 写入多少个事件强制执行一次磁盘Checkpoint，表示强制执行检查点之前写入的最大事件数。 当"queue.type"配置为"persisted"时，才需要配置该参数。                                                                                                                                                                                                                                                                                                      |
   | queue.max_bytes         | 磁盘队列  | 1024（建议保持默认值） | 持久化队列最大容量。 - 当"queue.type"配置为"persisted"时，才需要配置该参数。  - 请确保磁盘空间充足，超过限制后Logstash将停止接收新数据。   单位：MB                                             |
      
   
6. 配置完成后，单击"创建"。
7. 返回配置文件列表，确认新建配置文件的"状态"变为"可用"，表示创建成功。
 
#### 管理配置文件
在配置文件列表，支持对创建的配置文件进行修改、设为模板、删除等全生命周期管理。
表3管理配置文件 
| 功能   | 使用限制                                                                                                                                                                                                                                                                                                              | 操作指导                                                                                                                                        |
|:---|:---|:---|
| 修改   | 如果有正在运行的管道任务使用了该配置文件，则必须先停止任务才能修改配置文件。                                                                                                                                                                                                                                                                            | 在配置文件列表，单击操作列的"编辑"，在编辑配置文件页面修改配置，以适应新的业务需求或修复配置错误。                                                                                          |
| 设为模板 | 无                                                                                                                                                                                                                                                                                                                 | 在配置文件列表，单击操作列的"添加到自定义模板"，在弹窗中设置模板名称、描述和配置文件内容，单击"确定"添加到自定义模板列表中，方便在多个项目中复用，提高配置效率。                                                          |
| 备份   | 无                                                                                                                                                                                                                                                                                                                 | 在配置文件列表，单击右侧的![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002515924144.png)，批量导出配置文件到本地，以防止意外丢失或损坏，确保配置文件的安全性。 |
| 删除   | - 如果有正在运行的管道任务使用了该配置文件，则必须先停止任务才能删除配置文件。  - 配置文件删除后，不可恢复，请谨慎操作。   | 在配置文件列表，单击操作列的"删除"，在弹窗中输入**DELETE**，单击"确定"，删除配置文件，释放存储空间。                                                                                   |
   
