首页 > 其他分享 >SSH Exporter:基于Prometheus的远程系统性能监控神器

SSH Exporter:基于Prometheus的远程系统性能监控神器

时间:2024-07-31 17:40:00浏览次数:7  
标签:Exporter utilization bytes Prometheus SSH ssh

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。

标签:Exporter,utilization,bytes,Prometheus,SSH,ssh
From: https://www.cnblogs.com/zyk01/p/18335098

相关文章

  • 如何在 Kubernetes 里部署 JMX Exporter
    本文会通过一个Java应用,演示PrometheusJMXExporter在Kubernetes里的部署和配置方式。为了更好地理解JMXExporter,我们将使用SpringBootJava应用程序并将所有JMX指标导出给Prometheus。在本指南结束时,您将学习:使用Java应用镜像启动JMXExporter将JMX指标导......
  • 浅谈取样器之SSH Command
    浅谈取样器之SSHCommandJMeter的SSHCommand取样器是一个强大的功能,允许用户在JMeter测试计划中执行远程SSH命令。这对于需要与Linux/Unix服务器交互以执行系统命令、脚本或者进行性能测试验证的场景尤为有用。通过这个取样器,您可以集成服务器端操作到您的负载测试中,进一......
  • Prometheus-alertmanager组件使用
    警报管理Alertmanager工作过程​Alertmanager处理从客户端(通常是Prometheus服务器或其它工具的警报)发来的警报,然后Alertmanager对警报进行去重、分组,然后路由到不同的接收器,如电子邮件、短信或SaaS服务(PagerDuty等)。还可以使用Alertmanager管理维护警报。先在Prometheu......
  • 创建sshd服务容器,并使宿主机与容器免密通信
    #docker创建私有网络,用于将来docker创建的容器指定静态ipdockernetworkcreate--driverbridge--subnet=192.168.1.0/24--gateway=192.168.1.1my_custom_network部署一个名为my_sshd_container12的Docker容器container_name="my_sshd_container12"ip=192.168.1.12doc......
  • pssh 服务
    pssh使用简介pssh提供OpenSSH和相关工具的并行版本。包括pssh,pscp,prsync,pnuke和pslurp。支持并行复制下载wgethttps://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz安装tarxfpssh-2.3.1.tar.gz......
  • openssh-install
    openssh安装一、服务端1、安装sshcentos中默认已经安装,ubuntu中需要自己安装yum-yinstallopenssh-server2、SSH配置Port22#默认端口ListenAddressIP#监听服务器端的IP,ss-ntl查看22端口绑定的iP地址LoginGraceTime2m......
  • 【待待待做】【攻防技术系列+隧道代理】SSH隧道:端口转发功能
    1.1ssh安全隧道(一):本地端口转发如下图,假如host3和host1、host2都同互相通信,但是host1和host2之间不能通信,如何从host1连接上host2?对于实现ssh连接来说,实现方式很简单,从host1ssh到host3,再ssh到host2,也就是将host3作为跳板的方式。但是如果不是ssh,而是http的80端口呢?如何让host......
  • Jenkins之插件Publish Over SSH
    1、安装插件PublishOverSSH 2、配置ssh:  进行测试: 3、配置job: 如果需要展示复制过程: 则需要将如下打开: 另外的,如果需要将下面test目录下面的index.html文件copy到远程host主机,配置如下:[root@node1test1]#lltotal12-rw-r--r--.1rootroot5Jul......
  • 【待做】【攻防技术系列+网络协议】SSH攻防一体命令备忘清单
    一、关于SSHSSH(缩写为“SecureShell”或“SecureSocketShell”)是一种网络协议,用于通过不安全的网络安全地访问网络服务。它包括实现SSH的一套实用工具,例如:ssh-keygen:用于为SSH创建新的身份验证密钥对;SCP(安全复制协议):用于在网络上的主机之间复制文件;SFTP(安全文件传输协......
  • 记一次用户因安全加固后导致SSH登录不上问题
    背景:用户请了安全厂家对大约5台机器(Ubuntu系统)进行了安全加固后无法通过堡垒机等SSH访问链接到机器上,给出以下SSH不上主机图片 处理过程:在向用户拿到root账号密码信息后,通过VNC能够正常登录,则说明root密码是正确的,但进行ssh建立链接时,依然提示账号密码有误链接不上,于是查看/v......