首页 > 其他分享 >基于Prometheus和Grafana的现代服务器监控体系构建

基于Prometheus和Grafana的现代服务器监控体系构建

时间:2024-08-30 09:22:30浏览次数:10  
标签:node tar prometheus Grafana Prometheus 监控 服务器

构建一个基于 Prometheus 和 Grafana 的现代服务器监控体系,可以帮助你实时监控服务器的性能指标、识别问题并进行预警。以下是一个完整的构建指南,涵盖从安装、配置到实现监控的主要步骤。

步骤 1:安装 Prometheus

Prometheus 是一个开源的监控系统,专为高效的数据收集和存储设计。

  1. 下载 Prometheus

    wget https://github.com/prometheus/prometheus/releases/download/v2.48.1/prometheus-2.48.1.linux-amd64.tar.gz
    
  2. 解压和安装

    tar xvfz prometheus-*.tar.gz
    cd prometheus-*
    
  3. 配置 Prometheus
    编辑 prometheus.yml 配置文件,定义要监控的目标,如服务器或应用。

    scrape_configs:
      - job_name: 'node_exporter'
        static_configs:
          - targets: ['localhost:9100']
    
  4. 运行 Prometheus

    ./prometheus --config.file=prometheus.yml
    
  5. 访问 Prometheus
    打开浏览器,访问 http://<your-server-ip>:9090

步骤 2:安装 Node Exporter

Node Exporter 是一个用于收集 Linux 系统指标的 Prometheus exporter。

  1. 下载 Node Exporter

    wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
    
  2. 解压和安装

    tar xvfz node_exporter-*.tar.gz
    cd node_exporter-*
    
  3. 运行 Node Exporter

    ./node_exporter &
    
  4. 添加 Node Exporter 到 Prometheus
    prometheus.yml 中添加 Node Exporter 作为一个监控目标。

    - job_name: 'node_exporter'
      static_configs:
        - targets: ['localhost:9100']
    
  5. 重启 Prometheus

    pkill prometheus
    ./prometheus --config.file=prometheus.yml
    

步骤 3:安装 Grafana

Grafana 是一个开源的分析和监控平台,可以从 Prometheus 中获取数据并生成可视化的监控面板。

  1. 下载并安装 Grafana

    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-11.1.0.linux-amd64.tar.gz
    tar -zxvf grafana-11.1.0.linux-amd64.tar.gz
    cd grafana-11.1.0/
    
  2. 运行 Grafana

    ./bin/grafana-server web
    
  3. 访问 Grafana
    打开浏览器,访问 http://<your-server-ip>:3000,使用默认用户名 admin 和密码 admin 登录。

  4. 配置数据源

    • 在 Grafana 中添加 Prometheus 作为数据源。
    • 导航到 Configuration -> Data Sources -> Add data source
    • 选择 Prometheus 并输入 URL(通常为 http://localhost:9090)。

步骤 4:创建监控仪表盘

  1. 创建一个新的 Dashboard

    • 在 Grafana 中,点击 + -> Dashboard
    • 选择 Add new panel,选择数据源为 Prometheus。
  2. 配置图表

    • 选择 Metric,例如 node_cpu_seconds_total
    • 配置图表的展示方式,如折线图、饼图等。
  3. 保存 Dashboard

    • 保存并命名你的 Dashboard,以便后续使用。

步骤 5:设置告警规则

Prometheus 支持告警功能,你可以配置告警规则,当某些条件满足时触发告警。

  1. 配置告警规则
    prometheus.yml 中添加告警规则文件。

    rule_files:
      - "alert.rules.yml"
    
  2. 创建告警规则文件

    groups:
    - name: example
      rules:
      - alert: HighCPUUsage
        expr: node_cpu_seconds_total > 0.9
        for: 1m
        labels:
          severity: critical
        annotations:
          summary: "High CPU usage detected"
          description: "CPU usage is over 90% for more than 1 minute."
    
  3. 启动 Alertmanager
    Alertmanager 用于处理 Prometheus 的告警。

    • 下载并运行 Alertmanager。
    • 配置 Alertmanager 与 Prometheus 的集成。

步骤 6:优化和扩展

  • 扩展监控范围:通过部署更多的 Exporter,如 cAdvisor 监控容器,Blackbox Exporter 监控网络和 HTTP 服务。
  • 使用自动化工具:使用 Ansible 或 Terraform 管理 Prometheus 和 Grafana 的部署。

总结

通过以上步骤,你可以构建一个强大的服务器监控体系,能够实时监控服务器的性能、预警异常,并通过 Grafana 提供直观的可视化展示。这种架构在 DevOps 和运维中非常常见,能够帮助团队更好地管理和维护系统。

标签:node,tar,prometheus,Grafana,Prometheus,监控,服务器
From: https://blog.csdn.net/yxyc666/article/details/141705312

相关文章

  • 面试必备!15个SSH服务器经典问题,助你轻松过关斩将!
    SSH(SecureShell)是Linux系统中最常用的远程管理工具之一,掌握它是每个运维工程师的必备技能。在面试中,关于SSH服务器的相关问题经常会被问到。本文将列出15个常见的SSH服务器面试题,并提供简要解答,帮助你在面试中脱颖而出。什么是SSH?为什么要使用SSH而不是Telnet?在ssh......
  • 阿里云服务器部署Sonic总结
    1.购买阿里云服务器访问阿里云官网,选择合适的云服务器购买购买成功后创建ECS云服务器下载AlibabaCloudClient创建AccessKey并保存打开AlibabaCloudClient,添加账号2.安装docker选择操作—>启动远程连接(SSH)snapinstalldockerdocker-vdocker-compose-v3.......
  • Dell服务器导出日志
    iDRAC接口为网口准备工作:注:此文档适用于iDRAC接口为网口且与电源接口同侧的Dell服务器,如:R740带网口的笔记本电脑网线跳线操作方法:网线一端连接笔记本电脑,另一端连接服务器的iDRAC接口;查看笔记本电脑是否自动获取到192.168.0.*的ip地址,未获取到需设置同段的固定ip地址,如:1......
  • 由简到繁,常见服务器结构优化演变
            虽然,单服结构简单,但并不一定能满足需求。服务器结构设计,很多一开始是很简单的,慢慢变得越来越复杂。        个人比较反感,一上来就很复杂的做法,业务是慢慢变复杂的,服务器也应该是如此。至于,一开始简单到什么程度合适?这也得视情况而定。       ......
  • Prometheus 告警恢复时,怎么获取恢复时的值?
    Prometheus告警事件中的$value表示当前告警触发时的值,但是在告警恢复时,Resolved事件中的$value仍然是最新告警时的值,并非是恢复时的值,这是什么原因和原理?是否有办法来解决呢?不废话,先说原理。原理告警规则是配置在prometheus.yaml中的,由Prometheus负责做规则判定。Pro......
  • EventSource事件流(允许网页与服务器之间建立一个持久的连接,服务器可以通过这个连接向
     EventSource是JavaScript中用于处理服务器发送事件(Server-SentEvents,SSE)的接口。它允许网页与服务器之间建立一个持久的连接,服务器可以通过这个连接向客户端推送更新。EventSource通常用于需要实时更新数据的场景,比如实时通知、股票价格更新等。 基本用法//创建一......
  • 监控Nginx负载均衡后端服务器状态的策略与实践
    在Nginx负载均衡的部署中,监控后端服务器的状态对于确保高可用性和服务连续性至关重要。通过检测后端服务器的状态,可以及时发现问题并采取措施,如故障转移或服务重启。本文将详细介绍如何检测Nginx负载均衡后端服务器的状态,包括监控方法、工具使用、配置实现以及自动化告警。......
  • SQL Server 链接服务器(Linked Servers)
    通过T-SQL语句来添加、删除或修改链接服务器配置进行跨数据库、跨实例或甚至跨数据库系统的数据集成和查询 SELECT*FROMsysservers可以查出当前SQLServer实例上配置的所有链接服务器的列表及其相关信息 sp_addlinkedserver[@server=]N'server'[......
  • Traccar服务器端前后端部署流程
    Traccar官方文档地址:BuildfromSource-Traccar由于官方文档本地部署步骤并不详细且无法复现,本文档从环境配置到运行代码一步一步进行操作教学:第一步:下载git打开该链接下载gitGit-DownloadingPackage(git-scm.com)下载安装包后打开按默认选项安装  ......
  • 服务器出现 HTTP 错误代码,及解决方法
    HTTP400-请求无效HTTP401.1-未授权:登录失败HTTP401.2-未授权:服务器配置问题导致登录失败HTTP401.3-ACL禁止访问资源HTTP401.4-未授权:授权被筛选器拒绝HTTP401.5-未授权:ISAPI或CGI授权失败HTTP403-禁止访问HTTP403-对Internet服务管理器的......