news 2026/6/10 18:30:19

`logstash-input-ssh` 并非 Logstash 官方维护的插件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
`logstash-input-ssh` 并非 Logstash 官方维护的插件

你遇到的核心问题是logstash-input-ssh并非 Logstash 官方维护的插件,也不在默认的插件仓库中,所以执行安装命令时会提示“插件不存在”。此外,还有 JAVA_HOME 配置的警告需要处理,以下是分步骤的解决方案:

一、先解决核心问题:安装 SSH 输入功能的替代方案

Logstash 没有官方的logstash-input-ssh插件,要实现从 SSH 远程获取数据(如日志、命令输出),有两种主流且稳定的方案,按推荐优先级排序:

方案1:使用社区维护的 SSH 输入插件(需手动下载安装)

部分社区开发者将 SSH 输入功能封装为插件,托管在 GitHub 上,需手动下载并安装:

  1. 下载插件源码(以主流的社区插件为例):
    # 进入 Logstash 插件目录cd/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/# 克隆插件源码(需先安装 git:dnf install git -y / yum install git -y)gitclone https://github.com/ssoroka/logstash-input-ssh.git# 进入插件目录cdlogstash-input-ssh
  2. 构建并安装插件
    # 使用 Logstash 自带的 ruby 环境构建插件/usr/share/logstash/bin/ruby -S gem build logstash-input-ssh.gemspec# 安装构建后的 gem 包(替换文件名中的版本号为实际生成的版本)/usr/share/logstash/bin/logstash-plugininstall./logstash-input-ssh-1.0.0.gem

    注意:若该仓库不可用,可搜索 GitHub 上其他logstash-input-ssh社区插件,步骤一致。

方案2:用logstash-exec+ SSH 命令(更稳定,推荐)

如果社区插件存在兼容性问题,可使用 Logstash 的exec输入插件配合ssh命令,实现远程获取数据的功能,这是生产环境中更常用的方式:

  1. 无需安装额外插件exec是 Logstash 内置插件),直接在 Logstash 配置文件中编写逻辑:
    input { exec { # 每隔60秒执行一次 SSH 命令,获取远程服务器的日志(示例:获取/var/log/messages最后10行) command => "ssh -o StrictHostKeyChecking=no root@远程IP 'tail -10 /var/log/messages'" interval => 60 # 执行间隔(秒),可根据需求调整 tags => ["ssh_input"] # 打标签,方便后续过滤 } } output { # 输出到 Elasticsearch(示例,可替换为file、stdout等) elasticsearch { hosts => ["http://es-ip:9200"] index => "ssh-log-%{+YYYY.MM.dd}" } # 同时输出到控制台,便于调试 stdout { codec => rubydebug } }
  2. 配置 SSH 免密登录(避免每次执行命令输入密码):
    # 在 Logstash 服务器生成 SSH 密钥ssh-keygen -t rsa -b2048-N""-f ~/.ssh/id_rsa# 将公钥复制到远程服务器ssh-copy-id root@远程IP

    优势:无需依赖第三方插件,稳定性高,可灵活执行任意 SSH 命令获取数据。

二、处理 JAVA_HOME 警告问题

虽然这不是插件安装失败的原因,但为了避免后续版本升级出现问题,建议按提示修改配置:

  1. 查看 Logstash 自带的 JDK 路径
    ls/usr/share/logstash/jdk/# 通常会显示自带的 JDK 目录,如 jdk-17.x.x
  2. 配置 LS_JAVA_HOME 环境变量
    # 编辑 Logstash 启动配置文件vi/etc/profile.d/logstash.sh# 添加以下内容(替换为实际的自带 JDK 路径)exportLS_JAVA_HOME=/usr/share/logstash/jdk/jdk-17.0.8exportPATH=$LS_JAVA_HOME/bin:$PATH# 生效配置source/etc/profile.d/logstash.sh
  3. 移除原有的 JAVA_HOME 配置(若有):
    # 编辑 /etc/profile,注释或删除 JAVA_HOME 相关行vi/etc/profile# 生效配置source/etc/profile

三、验证插件安装/配置是否生效

  1. 若使用社区插件
    # 查看已安装的插件/usr/share/logstash/bin/logstash-plugin list|grepssh# 若显示 logstash-input-ssh,说明安装成功
  2. 若使用 exec + SSH 方案
    # 启动 Logstash 并指定配置文件/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/ssh_input.conf# 查看是否有数据输出到控制台或 Elasticsearch

总结

  1. 核心解决方案:放弃安装不存在的logstash-input-ssh官方插件,优先使用exec输入插件 + SSH 命令的方式实现功能(稳定且无需第三方依赖),或选择社区维护的 SSH 插件手动安装。
  2. 次要优化:将JAVA_HOME替换为LS_JAVA_HOME,使用 Logstash 自带的 JDK,消除版本警告。
  3. 关键配置:配置 SSH 免密登录,避免 exec 执行命令时需要手动输入密码。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:19:38

数字人创作新纪元:Linly-Talker集成LLM+TTS技术揭秘

数字人创作新纪元:Linly-Talker集成LLMTTS技术揭秘 在直播带货的深夜,一个声音温柔、口型精准同步的虚拟主播仍在讲解新款护肤品;在企业客服后台,一位“数字员工”正用熟悉的高管声线回答投资者提问;而在远程课堂里&am…

作者头像 李华
网站建设 2026/6/10 14:16:55

基于YOLOv10的车辆类型检测系统(YOLOv10深度学习+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 项目背景: 车辆种类检测是智能交通系统的重要组成部分,广泛应用于交通监控、自动驾驶、车辆统计等领域。传统的车辆检测方法依赖于人工观察或简单的图像处理技术,难以应对复杂的交通场景。基于深度学习的目标检测技术可以自动识…

作者头像 李华
网站建设 2026/6/9 16:56:26

自监督学习落地中的故障排查:AI应用架构师的3个方法

自监督学习落地中的故障排查:AI应用架构师的3个方法 1. 标题 (Title) 自监督学习落地总“掉坑”?AI架构师亲授3招故障排查方法论从理论到生产:解决自监督学习落地难题的3个核心排查方法别让故障卡壳项目!AI架构师必备&#xff1…

作者头像 李华
网站建设 2026/6/10 14:19:09

【Open-AutoGLM架构升级指南】:支撑全球20+国家低延迟推理的关键设计

第一章:Open-AutoGLM 全球化适配规划为支持 Open-AutoGLM 在多语言、多区域环境下的高效运行,全球化适配成为核心战略之一。系统需在架构设计层面实现语言、时区、字符编码和本地化规则的动态兼容,确保全球用户获得一致且符合本地习惯的交互体…

作者头像 李华
网站建设 2026/6/10 14:15:31

如何通过边缘计算降低Linly-Talker网络依赖?

如何通过边缘计算降低 Linly-Talker 网络依赖? 在智能客服、虚拟主播和数字员工逐渐走入现实的今天,一个看似流畅的对话背后,往往隐藏着对网络环境的极端依赖。你是否经历过这样的场景:用户刚说完问题,数字人却“卡”在…

作者头像 李华