SSH Exporter:基于Prometheus的远程系统性能监控神器
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的远程系统性能监控神器的更多相关文章
- 理解OpenShift(7):基于 Prometheus 的集群监控
理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...
- 基于Prometheus和Grafana的监控平台 - 运维告警
通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...
- 基于Prometheus和Grafana的监控平台 - 环境搭建
相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据. ...
- 基于邮件系统的远程实时监控系统的实现 Python版
人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...
- 基于Prometheus+Grafana+AlertManager的监控系统
一.Prometheus 1.1 简介 Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 . 1.2 下载&安装 ...
- 基于Android的远程视频监控系统(含源码)
基本过程是android作为socket客户端将采集到的每一帧图像数据发送出去,PC作为服务器接收并显示每一帧图像实现远程监控.图片如下(后来PC端加了个拍照功能)... (PS.刚学android和 ...
- K8S Canal基于Prometheus进行实时指标监控
文章来源于本人的印象笔记,如出现格式问题可访问该链接查看原文 部署canal的prometheus监控到k8s中 1.grafana的docker部署方式:https://grafana.com/gr ...
- OneAPM Cloud Test——系统性能监控神器
2015 年 8 月,OneAPM 推出了一款系统性能监控产品--Cloud Test,产品上线以来以「两低一高」的特点迅速成为市场增长率最快的一匹黑马.「两低一高」,即低使用成本.低学习成本以及高服 ...
- 基于 prometheus 的微服务指标监控
基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...
- 基于prometheus监控k8s集群
本文建立在你已经会安装prometheus服务的基础之上,如果你还不会安装,请参考:prometheus多维度监控容器 如果你还没有安装库k8s集群,情参考: 从零开始搭建基于calico的kuben ...
随机推荐
- umount 报错umount: /new_room: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
挂载逻辑卷后,尝试更新逻辑卷的文件系统 [root@server lost+found]# umount /new_room/ umount: /new_room: target is busy. ( ...
- P7959 [COCI2014-2015#6] WTF 题解
P7959 [COCI2014-2015#6] WTF 题解 呃,是一道 DP 题 说实话,原题实际上是不要输出一种方法的--但是似乎放这道题的人想增加一点难度? 这里有两种做法,但都是 DP. 预备 ...
- 开机启动VM WARE 某台虚拟机
新建一个批处理,内容如下: set vm_root=C:\Program Files (x86)\VMware\VMware Workstation "%vm_root%\vmrun.exe ...
- 燕千云 YQCloud 数智化业务服务管理平台 发布1.13版本
2022年6月10日,燕千云 YQCloud 数智化业务服务管理平台发布1.13版本.本次燕千云1.13版本新增了远程桌面.知识库多人在线协作.移动端疫苗核酸信息管理.单据委托代理.技能管理.产品自助 ...
- MyBatis 关于查询语句上配置的详细内容
1. MyBatis 关于查询语句上配置的详细内容 @ 目录 1. MyBatis 关于查询语句上配置的详细内容 2. 准备工作 3. SQL查询结果,返回为POJO实体类型 4. SQL查询结果,返 ...
- aspose word与pdf互转
aspose word与pdf互转 package com.example.core.mydemo.aspose; import com.aspose.words.Document; import c ...
- mysql8新版本安装注意事项及解决本地系统账户Strart the server和SQLyog客户端连接报 plugin caching_sha2_password could not be loaded
mysql 安装包一路next安装, 到Apply Configuration,卡住在Start the server,原因是mysql8新版本的登录身份不对,需要进入服务,找到mysql80,然后属 ...
- 记录一次 OpenStack 集群在创建虚机后无法获取 IP 的问题
现象 所有的组件状态都是正常工作的,DHCP 服务正常工作,在个个虚拟网络设备端口抓包,发现 OpenVSwitch 上 DHCP 包可以通行,虚机获取 DHCP Discover 请求可以正常发出, ...
- Windows/Linux 通过 ssh 打开 远程服务器 GUI程序
背景 在 Windows + ssh(Cygwin) + Linux(运行在虚拟机中的Ubuntu) 是一个很舒服的方案,但是偶尔需要用到 图形界面. 如果需要通过ssh打开远程服务器端的程序,需要X ...
- 缩小50%,Mini版T3/A40i核心板,让您的设备更小巧!
小尺寸核心板给用户带来何种价值? 创龙科技常收到用户对于小尺寸核心板的需求反馈,尤其在电力数据采集器.电力DTU.电力通讯管理机.运动控制器.工业HMI.工业网关等工业设备中. 小尺寸核心板3大优势将 ...