当前位置: 首页 > news >正文

`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 执行命令时需要手动输入密码。
http://www.cnnetsun.cn/news/165184.html

相关文章:

  • Perl 5.8有哪些主要特性?现在还值得学吗?
  • 网络与信息安全工程师职业前景如何?薪资待遇怎样?
  • 【AI驱动社会变革】:基于Open-AutoGLM的10年效率增长预测
  • 大模型自动调参难题终结者?Open-AutoGLM第5代引擎带来的3个革命性变化
  • 从实验室到乡村课堂,Open-AutoGLM如何改变千万人命运?
  • Linly-Talker能否支持触觉反馈实现多感官交互?
  • 为什么顶尖团队都在布局Open-AutoGLM?一文看懂其与大模型的协同潜力
  • 等效氢气消耗最小的燃料电池混合动力能量管理策略 基于matlab平台开展,纯编程,.m文件 该...
  • GSV2221G@ACP#2221G产品规格详解及产品应用分享(1220总结)
  • 基于Web的学生学业质量分析系统-计算机毕业设计源码+LW文档分享
  • 从欧盟AI法案到中国生成式AI新规:Open-AutoGLM如何实现跨国合规?
  • 【Open-AutoGLM安全防线构建指南】:5步实现模型推理中的数据零泄露
  • Linly-Talker在智能家居控制中的语音交互演示
  • 复杂业务逻辑的分层测试策略拆解
  • Open-AutoGLM如何重塑隐私计算?:3大关键技术路径深度解析
  • 零基础图解教程:CV2库安装的每一步都带截图
  • 【Open-AutoGLM竞争格局深度解析】:揭秘未来三年行业洗牌关键趋势
  • 数字人语速控制技巧:Linly-Talker参数调节指南
  • 【Linux网络基础】TCP 数据包传输全流程深度解析
  • AI如何帮你快速掌握CSS nth-child选择器
  • 可控 AI 技术:企业在多模态时代如何治理 AI 行为(工程视角)
  • 快速验证:用AI 10分钟搭建文件转换微服务
  • 如何用AI快速解决Python库版本冲突问题
  • 5分钟搭建python八股文原型
  • DeskGo实战:打造个人效率工作台的5个案例
  • Java新手必看:5分钟学会File转MultipartFile
  • AI自动生成BAT清理脚本:告别手动写代码
  • 【稀缺技术曝光】:Open-AutoGLM内部协同算法首次公开,仅限本次解读
  • 数字人疲劳感规避:Linly-Talker表情多样性优化
  • CSS nth-child在电商网站商品列表中的实战应用