SSH Exporter

English | 中文

介绍

SSH Exporter 是一个基于 Prometheus 规范的监控工具,通过 SSH 协议远程收集目标服务器的系统性能数据,如 CPU 使用率、内存使用情况、磁盘和网络 I/O 等,并将这些数据暴露为 Prometheus 格式的 metrics,以便被 Prometheus Server 抓取和存储。

功能特性

  • 远程监控:通过 SSH 协议连接到远程服务器,无需在被监控服务器上安装额外的 agent。
  • 全面的系统监控:支持监控 CPU、内存、磁盘和网络等多个方面的性能指标。
  • 动态配置:支持从 YAML 配置文件中读取监控目标和参数,便于动态管理监控节点。
  • 异步收集:使用线程池异步收集数据,提高数据收集效率。
  • 错误处理与重试机制:对于 SSH 连接失败的情况,提供自动重试机制,确保数据收集的可靠性。
  • 多语言环境支持:在解析某些命令输出时,根据系统语言自动适配,支持中文和英文环境。

使用方法

1. 配置

首先,需要编辑 config.yml 文件,配置需要监控的节点和监控指标。例如:

nodes:
- ip: 192.168.1.101
port: 22
username: <username>
password: <password>
- ip: 192.168.1.102
port: 22
username: <username>
password: <password> metrics:
- ssh_cpu_utilization
- ssh_cpu_utilization_user
- ssh_cpu_utilization_system
- ssh_cpu_utilization_top5
- ssh_cpu_percentage_wait
- ssh_cpu_percentage_idle
- ssh_cpu_count
- ssh_memory_utilization
- ssh_memory_utilization_top5
- ssh_memory_utilization_swap
- ssh_memory_available_bytes
- ssh_memory_available_swap_bytes
- ssh_disk_utilization
- ssh_disk_used_bytes
- ssh_disk_available_bytes
- ssh_disk_read_bytes_total
- ssh_disk_write_bytes_total
- ssh_network_receive_bytes_total
- ssh_network_transmit_bytes_total

2. 运行

直接运行 ssh_exporter.py 脚本即可启动 SSH Exporter 服务。服务将监听默认的 9122 端口,等待 Prometheus Server 的抓取请求。

python3 ssh_exporter.py

支持的Python版本:python>=3.8

3. Prometheus 配置

在 Prometheus 的配置文件中添加一个新的 job,指定 SSH Exporter 的地址,以便 Prometheus 可以抓取数据。

scrape_configs:
- job_name: 'ssh-exporter'
static_configs:
- targets: ['localhost:9122']

注意事项

  • 安全性:请确保 SSH 凭证(用户名和密码)的安全,避免泄露。
  • 网络配置:确保 Prometheus Server 可以访问运行 SSH Exporter 的服务器。
  • 性能影响:频繁的 SSH 连接和数据收集可能会对远程服务器造成一定的性能影响,请根据实际需求调整数据收集频率。

开发与维护

  • 问题反馈:请在 GitHub 仓库中提交 issues。
  • 贡献代码:欢迎提交 PR,共同完善 SSH Exporter。

SSH Exporter:基于Prometheus的远程系统性能监控神器的更多相关文章

  1. 理解OpenShift(7):基于 Prometheus 的集群监控

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  2. 基于Prometheus和Grafana的监控平台 - 运维告警

    通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...

  3. 基于Prometheus和Grafana的监控平台 - 环境搭建

    相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据. ...

  4. 基于邮件系统的远程实时监控系统的实现 Python版

    人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...

  5. 基于Prometheus+Grafana+AlertManager的监控系统

    一.Prometheus 1.1 简介 Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 . 1.2 下载&安装 ...

  6. 基于Android的远程视频监控系统(含源码)

    基本过程是android作为socket客户端将采集到的每一帧图像数据发送出去,PC作为服务器接收并显示每一帧图像实现远程监控.图片如下(后来PC端加了个拍照功能)... (PS.刚学android和 ...

  7. K8S Canal基于Prometheus进行实时指标监控

    文章来源于本人的印象笔记,如出现格式问题可访问该链接查看原文 部署canal的prometheus监控到k8s中 1.grafana的docker部署方式:https://grafana.com/gr ...

  8. OneAPM Cloud Test——系统性能监控神器

    2015 年 8 月,OneAPM 推出了一款系统性能监控产品--Cloud Test,产品上线以来以「两低一高」的特点迅速成为市场增长率最快的一匹黑马.「两低一高」,即低使用成本.低学习成本以及高服 ...

  9. 基于 prometheus 的微服务指标监控

    基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...

  10. 基于prometheus监控k8s集群

    本文建立在你已经会安装prometheus服务的基础之上,如果你还不会安装,请参考:prometheus多维度监控容器 如果你还没有安装库k8s集群,情参考: 从零开始搭建基于calico的kuben ...

随机推荐

  1. Nacos 版本不一致报错: Request nacos server failed

    在做微服务开发中,测试环境使用Nacos没有问题,但是生产环境服务启动一直报错: com.alibaba.nacos.api.exception.NacosException: Request nac ...

  2. 滚动条小实验 BOM时间操作

      <div class="top">我是吸顶div</div>     <p class="back">返回顶部</ ...

  3. ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)

    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式. 点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式. 1.Cardinal ...

  4. kettle从入门到精通 第二十七课 邮件发送

    1.我们平常在做数据同步的时候,担心转换或者job没有正常运行,需要加上监控机制,这个时候就会用到邮件功能. 下图是一个简单的测试邮件发送功能的转换.在kettle.properties文件中设置邮件 ...

  5. OOP第一阶段题集总结

    一.前言 知识点:数组,字符串的使用,链表,hashmap,泛型的使用,正则表达式的使用,类的设计,类与类之间的关系,单一职责. 题量:题目数量为5+4+3,数量适中,其中都是前几题较简单,最后一题较 ...

  6. 高并发缓存中间件Redis

    https://tech.meituan.com/2020/07/01/kv-squirrel-cellar.html 美团万亿级 KV 存储架构与实践 阿里云 redis文档 https://hel ...

  7. 构建SaaS能力,加速数字化转型!猪齿鱼将在华为云快成长直播间开讲!

    时代的浪潮驱动着企业数字化转型.伴随着新基建.云计算成为国家战略的重要环节之一,"千行百业"开始专注于数字化转型,企业纷纷使用软件提升研发.销售.市场.消费者等不同场景下的效率,S ...

  8. vue2 混入 (mixin) 带来的小惊喜

    最近在review自己写的代码时发现,在很多的地方都用了以下的代码块 1 async initCode() { 2 const resSource = await this.$API.syscode. ...

  9. 在线Token、随机密码生成工具

    在线生成自定义长度,包含大写或小写字母.数字或符号的随机字符串.无论你需要生成API访问令牌.账户激活令牌,还是随机密码字符串,它都能帮你快速完成. 在线Token.随机密码生成工具

  10. 11-CSS定位

    01 CSS定位概念理解 01 标准流布局概念的理解 02 position属性 02 相对定位 依然在标准流中 应用场景: 在不影响其它元素的情况下,对当前元素进行微调 <!DOCTYPE h ...