使用Prometheus进行服务器监控

本文介绍了如何在各种环境中使用Prometheus进行服务器监控,包括在Linux和Windows上安装Prometheus和Grafana,以及解决遇到的端口和权限问题。通过配置和导入仪表板,实现服务器资源的实时可视化监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

公司服务器很多,最近要求每台服务器都要安装服务器监控,我就顺理成章的当了一回运维。坑很多,客户那边有些机器不提供root权限,有些又开不了端口,只能自行想办法解决。不过话说回来看,这玩意还是挺实用的,可对服务器的资源,如CPU、内存、磁盘等进行实时监控,好工具用起来。

步骤

参考地址:https://www.cnblogs.com/fatyao/p/11007357.html

参考地址:https://devopscube.com/monitor-linux-servers-prometheus-node-exporter/

安装Prometheus
  • 下载文件并解压

https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz

tar -xvf prometheus-2.8.1.linux-amd64.tar.gz
  • 添加用户
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
  • 授权
chown -R prometheus:prometheus /develop/server/prometheus-2.8.1.linux-amd64/
  • 创建运行数据目录
mkdir -p /develop/software/prometheus-data
chown -R prometheus:prometheus /develop/software/prometheus-data/
  • 设置系统配置文件
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target


[Service]
Type=simple
User=prometheus

# --storage.tsdb.path是可选项,默认数据目录在运行目录的./data目录中
ExecStart=/develop/server/prometheus-2.8.1.linux-amd64/prometheus --c
### 配置 Prometheus 添加服务器监控指标和目标 为了使 Prometheus 能够监控服务器资源,在配置过程中需要修改 `prometheus.yml` 文件来指定新的监控目标以及确保相应的 exporter 已经安装并正在运行于目标节点上。 #### 修改 prometheus.yml 文件 当向 Prometheus 中添加新服务器作为监控对象时,需编辑其配置文件 `prometheus.yml` 并按照 YAML 的语法结构正确设置。具体来说,是在 scrape_configs 下定义 job_name 和 static_configs 来指向待监测的服务地址[^3]: ```yaml scrape_configs: - job_name: 'node_exporter' static_configs: - targets: ['localhost:9100'] ``` 这段配置意味着 Prometheus 将会定期抓取位于 localhost 上端口为 9100 的 node_exporter 提供的数据。对于远程机器,则应替换为目标主机 IP 地址及其对应的 Exporter 端口号。 #### 安装 Node Exporter 或其他特定类型的 Exporter 除了调整 Prometheus 主程序的配置外,还需要在每一个希望被监控的目标节点上部署合适的 Exporter。例如 Linux 主机通常会选择 Node Exporter 来暴露系统级别的性能数据给 Prometheus 抓取[^2]。可以通过 Docker 方式快速启动 Node Exporter 实例,并将其映射到宿主机上的某个固定端口以便 Prometheus 可访问。 ```bash docker run -d --name=node-exporter \ -p 9100:9100 \ quay.io/prometheus/node-exporter ``` 此命令将会拉取官方镜像并在后台持续运行一个名为 "node-exporter" 的容器实例,同时开放本地 9100 端口用于接收来自外部系统的 HTTP 请求。 通过上述操作之后,Prometheus 即可开始收集所设定范围内各台设备的相关信息了。当然实际环境中可能还会涉及到更多复杂的场景比如安全认证机制、网络隔离策略等因素的影响,因此建议根据实际情况灵活处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值