保姆级教程:从零搭建Grafana看板,用Node Exporter监控你的第一台Linux服务器 保姆级教程从零搭建Grafana看板用Node Exporter监控你的第一台Linux服务器当你第一次面对Linux服务器监控时是否曾被各种专业术语和复杂工具链吓退别担心这篇教程将手把手带你完成从零到一的完整监控系统搭建。我们将使用最流行的开源组合——Node Exporter采集数据、Prometheus存储指标、Grafana展示看板最终打造一个包含CPU、内存、磁盘、网络四大核心指标的实时监控仪表盘。1. 环境准备与组件安装1.1 基础环境检查在开始之前请确保你的Linux服务器满足以下条件操作系统Ubuntu 20.04/CentOS 7用户权限具有sudo权限的普通用户网络配置开放9100Node Exporter、9090Prometheus、3000Grafana端口通过以下命令快速检查系统版本lsb_release -a # Ubuntu cat /etc/redhat-release # CentOS1.2 安装Node ExporterNode Exporter是Prometheus官方提供的硬件和系统指标采集器通过以下步骤安装下载最新版本以1.3.1为例wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz解压并安装tar xvfz node_exporter-*.*-amd64.tar.gz sudo mv node_exporter-*.*-amd64/node_exporter /usr/local/bin/创建系统服务以systemd为例sudo tee /etc/systemd/system/node_exporter.service EOF [Unit] DescriptionNode Exporter Afternetwork.target [Service] Usernode_exporter Groupnode_exporter ExecStart/usr/local/bin/node_exporter [Install] WantedBymulti-user.target EOF启动服务sudo systemctl daemon-reload sudo systemctl start node_exporter sudo systemctl enable node_exporter验证服务是否正常运行curl http://localhost:9100/metrics | head2. Prometheus配置与数据抓取2.1 安装PrometheusPrometheus将作为我们的监控数据存储和查询引擎下载并解压wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz tar xvfz prometheus-*.tar.gz cd prometheus-*修改配置文件prometheus.yml添加Node Exporter监控目标scrape_configs: - job_name: node static_configs: - targets: [localhost:9100]启动Prometheus./prometheus --config.fileprometheus.yml2.2 关键指标理解在浏览器访问http://服务器IP:9090进入Prometheus Web UI。以下是几个核心指标的查询示例指标类型PromQL查询说明CPU使用率100 - (avg by (instance) (rate(node_cpu_seconds_total{modeidle}[1m])) * 100)1分钟平均CPU利用率内存使用node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes已用内存字节数磁盘空间node_filesystem_avail_bytes{fstype~ext4xfs}3. Grafana看板搭建3.1 安装与基础配置Grafana将为我们提供强大的数据可视化能力安装Grafana以Ubuntu为例sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - echo deb https://packages.grafana.com/oss/deb stable main | sudo tee -a /etc/apt/sources.list.d/grafana.list sudo apt-get update sudo apt-get install grafana启动服务sudo systemctl start grafana-server sudo systemctl enable grafana-server3.2 导入专业仪表盘Grafana社区提供了大量专业仪表盘模板推荐使用ID为1860的Node Exporter全指标看板登录Grafana默认地址http://服务器IP:3000初始账号admin/admin左侧菜单选择Create → Import输入仪表盘ID1860点击Load选择Prometheus数据源点击Import3.3 自定义核心面板如果你想从头创建自己的看板以下是四个必备面板的配置方法CPU使用率面板配置新建Panel → 选择Time series可视化在Metrics浏览器输入100 - (avg by (instance) (rate(node_cpu_seconds_total{modeidle}[1m])) * 100)设置单位Percent (0-100)添加阈值线Warning70, Critical90内存使用环形图配置node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes提示搭配node_memory_MemTotal_bytes作为总量参考可以自动计算百分比4. 告警配置与优化建议4.1 关键告警规则在Prometheus中配置alert.rules文件添加以下告警规则groups: - name: node_alerts rules: - alert: HighCPUUsage expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{modeidle}[5m])) * 100) 85 for: 10m labels: severity: warning annotations: summary: High CPU usage on {{ $labels.instance }} - alert: MemoryRunningOut expr: (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 15 for: 15m labels: severity: critical4.2 性能优化技巧采集频率调整对于开发环境可以适当降低采集频率减轻负载global: scrape_interval: 60s指标过滤只收集必要指标减少资源消耗./node_exporter --collector.disable-defaults --collector.cpu --collector.meminfo长期存储方案当数据量增大时考虑添加以下配置remote_write: - url: http://remote-storage:8086/write5. 进阶监控场景扩展5.1 多节点监控当需要监控多台服务器时只需在Prometheus配置中添加多个targetscrape_configs: - job_name: node static_configs: - targets: [server1:9100, server2:9100, server3:9100]5.2 容器监控集成如果你同时运行Docker容器可以添加cAdvisor组件docker run \ --volume/:/rootfs:ro \ --volume/var/run:/var/run:ro \ --volume/sys:/sys:ro \ --volume/var/lib/docker/:/var/lib/docker:ro \ --publish8080:8080 \ --detachtrue \ --namecadvisor \ google/cadvisor:latest然后在Prometheus配置中添加新job- job_name: cadvisor static_configs: - targets: [localhost:8080]5.3 日志监控联动结合Loki实现日志与指标的关联分析安装Loki日志系统在Grafana中添加Loki数据源创建复合看板同时展示指标和关联日志# 示例Loki查询 {containermyapp} | error经过这些步骤你的监控系统已经具备生产环境使用的基本条件。在实际使用中建议定期检查以下重点指标磁盘空间增长率预测内存泄漏趋势分析网络流量异常波动CPU负载与IO等待关联分析