怎样使用命令行启动Logstash

在不同操作系统中,使用命令行启动 Logstash 的方式略有不同。以下是具体步骤和示例:

1. Linux/macOS 系统

前提条件

  • 已安装 Java(版本 8 或 11,Logstash 依赖 Java 运行环境)。
  • 已下载并解压 Logstash(或通过包管理器安装)。

启动步骤

  1. 进入 Logstash 目录
    bash
     
     
     
     
     
    1. cd /path/to/logstash
     
     
     

     
     
     
     


    例如,如果下载并解压到/opt/logstash-7.17.0,则执行:
    bash
     
     
     
     
     
    1. cd /opt/logstash-7.17.0
     
  2. 使用配置文件启动
    bash
     
     
     
     
     
    1. ./bin/logstash -f /path/to/your/config.conf
     


    • -f:指定配置文件路径(如/etc/logstash/conf.d/目录下的配置文件)。
    • 示例:使用当前目录下的logstash.conf配置文件:
      bash
       
       
       
       
       
      1. ./bin/logstash -f logstash.conf
       
  3. 后台运行(守护进程模式)
    bash
     
     
     
     
     
    1. nohup ./bin/logstash -f /path/to/your/config.conf &
     


    • 使用nohup&使 Logstash 在后台持续运行。

2. Windows 系统

前提条件

  • 已安装 Java(版本 8 或 11)。
  • 已下载并解压 Logstash。

启动步骤

  1. 打开命令提示符(CMD)或 PowerShell
    • Win + R,输入cmdpowershell并回车。
  2. 进入 Logstash 目录
    powershell
     
     
     
     
     
    1. cd C:\path\to\logstash
     


    例如:
    powershell
     
     
     
     
     
    1. cd C:\logstash-7.17.0
     
  3. 使用配置文件启动
    powershell
     
     
     
     
     
    1. .\bin\logstash.bat -f C:\path\to\your\config.conf
     


    • 示例:使用当前目录下的logstash.conf
      powershell
       
       
       
       
       
      1. .\bin\logstash.bat -f logstash.conf
       
  4. 后台运行(可选)
    • 可使用第三方工具(如nssm)将 Logstash 注册为 Windows 服务。

3. 常用启动参数

参数 说明
-f 指定配置文件路径(如-f /etc/logstash/conf.d/input.conf)。
-t 测试配置文件语法是否正确,不启动服务(如./bin/logstash -t -f ...)。
--config.test_and_exit 同上,测试配置后退出。
--path.data 指定数据存储路径(默认LOGSTASH_HOME/data)。
--debug 启用调试模式,输出详细日志。
--quiet 安静模式,减少日志输出。

4. 验证启动是否成功

  • 查看控制台输出
    • 启动成功后,Logstash 会显示类似以下信息:
      plaintext
       
       
       
       
       
      1. [INFO ] 2023-05-01T12:00:00.000Z logstash.runner - Logstash started successfully
       
  • 检查监听端口
    • 若配置了 HTTP 输入(如端口5044),可使用以下命令验证:
      bash
       
       
       
       
       
      1. netstat -tulpn | grep 5044 # Linux/macOS
       


      powershell
       
       
       
       
       
      1. Get-NetTCPConnection | Where-Object LocalPort -eq 5044 # Windows
       

5. 配置文件示例

假设logstash.conf内容如下:

 

conf
 
 
 
 
 
  1. input {
  2. file {
  3. path => "/var/log/syslog"
  4. start_position => "beginning"
  5. }
  6. }
  7. filter {
  8. grok {
  9. match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:host} %{DATA:program}(?:\[%{POSINT:pid}\])?: %{GREEDYDATA:message}" }
  10. }
  11. }
  12. output {
  13. stdout { codec => rubydebug }
  14. elasticsearch {
  15. hosts => ["localhost:9200"]
  16. index => "logstash-%{+YYYY.MM.dd}"
  17. }
  18. }
 

常见问题

  1. Java 版本不兼容
    • 确保 Java 版本为 8 或 11,可通过java -version检查。
  2. 权限问题
    • Linux 系统中,确保 Logstash 有读取日志文件的权限。
  3. 配置语法错误
    • 使用-t参数测试配置文件:
      bash
       
       
       
       
       
      1. ./bin/logstash -t -f /path/to/config.conf
       
  4. 端口被占用
    • 检查并关闭占用相同端口的其他服务。

 

通过以上步骤,你可以使用命令行启动 Logstash 并开始收集解析日志数据。根据实际需求调整配置文件即可。

文章链接: https://www.mfisp.com/36311.html

文章标题:怎样使用命令行启动Logstash

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    投稿分享

    如何使用Logstash收集和解析日志数据

    2025-5-9 13:55:57

    投稿分享

    服务器内存跑满有哪些解决方案

    2025-5-9 14:51:29

    0 条回复 A文章作者 M管理员
    如果喜欢,请评论一下~
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索

    梦飞科技 - 最新云主机促销服务器租用优惠

    可以介绍下你们的服务器产品么

    云服务器你们是怎么收费的呢

    租用vps现在有优惠活动吗