<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      快速搭建企業(yè)級(jí)監(jiān)控系統(tǒng):Prometheus + Grafana 全攻略

      一站式掌握云原生監(jiān)控體系搭建,從零到一構(gòu)建生產(chǎn)級(jí)監(jiān)控平臺(tái)

      引言

      在微服務(wù)和云原生時(shí)代,系統(tǒng)監(jiān)控已成為保障業(yè)務(wù)穩(wěn)定運(yùn)行的基石。今天我們將手把手教你如何基于 Prometheus 和 Grafana 構(gòu)建一套功能完備的企業(yè)級(jí)監(jiān)控系統(tǒng),涵蓋Linux服務(wù)器、MySQL、Redis、Docker容器和JVM微服務(wù)等核心組件的監(jiān)控。

      一、監(jiān)控系統(tǒng)架構(gòu)概述

      核心組件介紹

      Prometheus:開源的監(jiān)控解決方案,采用 Pull 模式采集指標(biāo),內(nèi)置時(shí)序數(shù)據(jù)庫,支持強(qiáng)大的 PromQL 查詢語言。用于監(jiān)控主服務(wù)器,負(fù)責(zé)數(shù)據(jù)采集和存儲(chǔ);

      Grafana:功能強(qiáng)大的數(shù)據(jù)可視化工具,支持多種數(shù)據(jù)源,可創(chuàng)建豐富的監(jiān)控儀表盤。

      Exporters:數(shù)據(jù)采集代理,負(fù)責(zé)暴露各組件監(jiān)控指標(biāo):

      • node_exporter:收集Host硬件和操作系統(tǒng)信息
      • mysqld_exporter:MySQL 數(shù)據(jù)庫監(jiān)控
      • redis_exporter:Redis 監(jiān)控
      • cadvisor:Docker容器監(jiān)控
      • jmx_exporter:JVM 應(yīng)用監(jiān)控

      核心組件頁面展示

      Prometheus:

      image

       Grafana

      image

      imageimage

      二、環(huán)境準(zhǔn)備與部署

      1. 部署 Prometheus Server

      # 創(chuàng)建配置目錄
      mkdir -p /home/dockerdata/prometheus/
      
      # 啟動(dòng)Prometheus
      docker run -d --name prometheus --net=host -p 9090:9090 \
        -v /home/dockerdata/prometheus/:/etc/prometheus/ \
        prom/prometheus
      

      2. 部署 Grafana

      # 創(chuàng)建數(shù)據(jù)目錄
      mkdir -p /home/dockerdata/grafana/{conf,data,log,plugins}
      
      # 啟動(dòng)Grafana
      # 考慮到一旦docker容器停止,其存儲(chǔ)的數(shù)據(jù)就會(huì)丟失,因此還需要進(jìn)行數(shù)據(jù)的持久化工作
      # 需要把容器內(nèi)的 /etc/grafana、/var/lib/grafana、/var/log/grafana 三個(gè)目錄掛載到宿主機(jī)上,以確保數(shù)據(jù)不隨容器的停止而消失
      docker run -d --name grafana -p 3000:3000 \
        -v /home/dockerdata/grafana/conf:/etc/grafana \
        -v /home/dockerdata/grafana/data:/var/lib/grafana \
        -v /home/dockerdata/grafana/log:/var/log/grafana \
        -v /home/dockerdata/grafana/plugins:/var/lib/grafana/plugins \
        grafana/grafana
      
      # 復(fù)制默認(rèn)配置
      docker cp grafana:/etc/grafana/. /home/dockerdata/grafana/conf
      docker cp grafana:/var/lib/grafana/. /home/dockerdata/grafana/data
      docker cp grafana:/var/log/grafana/. /home/dockerdata/grafana/log
      
      # 修改宿主機(jī)新建目錄的所有者為 grafana
      # 新增用戶grafana
      useradd grafana
      
      # 修改uid為472
      vi /etc/passwd
      ...
      grafana:x:472:472::/home/grafana:/bin/bash
      
      # 修改gid為0
      vi /etc/group
      ...
      grafana:x:0:
      
      # 修改 grafana 目錄所有者為 grafana
      chown -R grafana:grafana  grafana

      關(guān)鍵點(diǎn):必須創(chuàng)建 grafana 用戶并正確設(shè)置目錄權(quán)限,否則會(huì)出現(xiàn)權(quán)限錯(cuò)誤。

      三、各類監(jiān)控組件部署

      1. 主機(jī)監(jiān)控 - node_exporter

      # 二進(jìn)制部署(推薦用于主機(jī)監(jiān)控)
      nohup ./node_exporter --web.listen-address=":9100" &

      2. MySQL 監(jiān)控 - mysqld_exporter

      # 創(chuàng)建systemd服務(wù)
      vim /usr/lib/systemd/system/mysqld_exporter.service
      
      # 輸入服務(wù)內(nèi)容:
      ./mysqld_exporter --web.listen-address=:9038 --config.my-cnf=./my.cnf &

      PS:mysqld_exporter用docker安裝會(huì)報(bào)my.cnf文件找不到錯(cuò)誤,應(yīng)該是啟動(dòng)命令需要指定掛載my.cnf文件;

      3. Redis 監(jiān)控 - redis_exporter

      docker run -d --name redis_exporter -p 9121:9121 \
        oliver006/redis_exporter \
        --redis.addr redis://your-redis-host:6379 \
        --redis.password 'your-password'

      4. 容器監(jiān)控 - cadvisor

      docker run --name=cadvisor \
        --volume=/:/rootfs:ro \
        --volume=/var/run:/var/run:rw \
        --volume=/sys:/sys:ro \
        --volume=/var/lib/docker/:/var/lib/docker:ro \
        --volume=/dev/disk/:/dev/disk:ro \
        --publish=8080:8080 \
        --detach=true \
        google/cadvisor

      5. JVM 監(jiān)控 - jmx_exporter

      # 下載JMX exporter
      wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.15.0/jmx_prometheus_javaagent-0.15.0.jar
      
      # 啟動(dòng)Java應(yīng)用時(shí)添加javaagent參數(shù)
      java -javaagent:/path/to/jmx_prometheus_javaagent-0.15.0.jar=9041:/path/to/jmx_exporter.yml \
        -jar your-application.jar

      四、配置整合

      1. Prometheus 配置

      編輯 /home/dockerdata/prometheus/prometheus.yml

      global:
        scrape_interval: 15s
        evaluation_interval: 15s
      
      rule_files:
        # - "first_rules.yml"
      
      scrape_configs:
        - job_name: 'prometheus'
          static_configs:
            - targets: ['localhost:9090']
      
        - job_name: 'node_exporter'
          static_configs:
            - targets: ['your-host-ip:9100']
          scrape_interval: 10s
      
        - job_name: 'mysql'
          static_configs:
            - targets: ['your-host-ip:9104']
      
        - job_name: 'redis'
          static_configs:
            - targets: ['your-host-ip:9121']
      
        - job_name: 'cadvisor'
          static_configs:
            - targets: ['your-host-ip:8080']
      
        - job_name: 'jvm'
          static_configs:
            - targets: ['your-app-ip:9041']

      2. 重啟 Prometheus 使配置生效

      docker restart prometheus

      五、Grafana 配置與儀表盤

      1. 數(shù)據(jù)源配置

      1. 訪問 http://your-host-ip:3000 登錄 Grafana(初始賬號(hào)/密碼:admin/admin)
      2. 添加 Prometheus 數(shù)據(jù)源
      3. 配置 URL:http://your-prometheus-host:9090

      2. 導(dǎo)入監(jiān)控儀表盤

      推薦使用的 Dashboard ID:

      監(jiān)控類型

      Dashboard ID

      特點(diǎn)

      Linux主機(jī)

      8919

      Node Exporter 中文版,監(jiān)控全面

      MySQL

      7362

      專業(yè)的數(shù)據(jù)庫性能監(jiān)控

      Redis

      763

      Redis 關(guān)鍵指標(biāo)監(jiān)控

      Docker容器

      11277

      容器資源使用情況

      JVM

      4701

      按服務(wù)名顯示,推薦使用

      JVM

      9568

      按IP端口顯示,簡(jiǎn)潔明了

      Spring Boot

      10280

      應(yīng)用級(jí)監(jiān)控,含日志變化

      導(dǎo)入方法:左側(cè)菜單 → Dashboards → Import → 輸入 ID → 選擇數(shù)據(jù)源 → Import

      六、告警配置

      1. 配置郵件告警

      編輯 Grafana 配置文件 grafana.ini

      [smtp]
      enabled = true
      host = smtp.qq.com:465
      user = your-email@qq.com
      password = your-smtp-password
      from_address = your-email@qq.com
      from_name = Grafana
      
      [alerting]
      enabled = true

      2. 配置告警規(guī)則

      在 Dashboard 面板中配置告警:

      1. 進(jìn)入需要告警的面板
      2. 點(diǎn)擊面板標(biāo)題 → Edit
      3. 選擇 Alert 標(biāo)簽頁 → Create Alert
      4. 設(shè)置告警條件、評(píng)估時(shí)間等
      5. 配置通知渠道

      七、常見問題排查

      1. Grafana 權(quán)限錯(cuò)誤

      # 錯(cuò)誤信息:
      logger=migrator level=error msg="alert migration failure" error="failed to check table existence: unable to open database file: permission denied"
      
      # 解決方案:
      執(zhí)行上述新增用戶grafana命令

      2. 時(shí)間同步問題

      # 第一種方法:?jiǎn)?dòng)時(shí)進(jìn)行映射
      docker run -d -p 8080:80 -v /etc/localtime:/etc/localtime nginx
      
      # 第二種:復(fù)制時(shí)區(qū)信息到容器
      # 如果本機(jī)時(shí)區(qū)正確直接:
      docker cp /etc/localtime nginx:/etc/localtime
      docker cp /etc/localtime [容器ID或名字]:/etc/localtime
      # 如果本機(jī)時(shí)區(qū)不正確:
      docker cp /usr/share/zoneinfo/Asia/Shanghai nginx:/etc/localtime

      3. 磁盤空間影響

      現(xiàn)象:磁盤占滿后,監(jiān)控?cái)?shù)據(jù)出現(xiàn)斷層,服務(wù)健康檢查失敗
      解決:及時(shí)清理磁盤空間,監(jiān)控系統(tǒng)會(huì)自動(dòng)恢復(fù)

      image

      image

      八、生產(chǎn)環(huán)境建議

      1. 數(shù)據(jù)持久化:所有組件都要配置數(shù)據(jù)持久化,防止容器重啟數(shù)據(jù)丟失
      2. 資源限制:為容器設(shè)置合理的 CPU、內(nèi)存限制
      3. 監(jiān)控告警:設(shè)置磁盤使用率、容器狀態(tài)等基礎(chǔ)告警
      4. 備份策略:定期備份 Grafana 儀表盤配置和 Prometheus 數(shù)據(jù)
      5. 版本管理:保持組件版本兼容性,定期升級(jí)

      結(jié)語

      通過本文的詳細(xì)講解,相信你已經(jīng)能夠搭建一套完整的監(jiān)控系統(tǒng)。監(jiān)控體系的建設(shè)不是一蹴而就的,需要在實(shí)際使用中不斷優(yōu)化調(diào)整。建議先從核心業(yè)務(wù)指標(biāo)開始,逐步完善監(jiān)控覆蓋范圍,讓監(jiān)控真正成為保障系統(tǒng)穩(wěn)定性的"眼睛"。


      實(shí)用提示

      • 所有組件啟動(dòng)后,通過 Prometheus 的 Targets 頁面(Status → Targets)檢查采集狀態(tài)
      • Grafana 圖表配置時(shí)注意使用正確的字段(如 ES 數(shù)據(jù)源使用 @timestamp 而非 timestamp
      • 告警配置后要進(jìn)行測(cè)試,確保通知渠道暢通

      希望這份全攻略能幫助你快速構(gòu)建可靠的監(jiān)控體系!

       

      posted @ 2025-10-20 21:21  暹羅軟件開發(fā)  閱讀(57)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 男人的天堂av一二三区| 成人啪精品视频网站午夜| 美女午夜福利视频一区二区| 精品无码一区二区三区水蜜桃| 婷婷色综合成人成人网小说| 国产日产亚洲系列最新| 国产高清国产精品国产专区| 久久午夜无码鲁丝片直播午夜精品| 亚洲国内精品一区二区| 国产又黄又爽又不遮挡视频| 亚洲综合色在线视频WWW| 国产在线中文字幕精品| 国产精品久久久午夜夜伦鲁鲁| 国内熟妇人妻色在线视频| 廊坊市| 精品人妻av综合一区二区| 中文字幕久久国产精品| 亚洲国产在一区二区三区| 99精品国产精品一区二区| 欧美日产国产精品日产| 黄色三级亚洲男人的天堂| 久久天天躁狠狠躁夜夜av不卡 | 青青青久热国产精品视频| 日韩人妻无码一区二区三区99| 国精偷拍一区二区三区| 色偷一区国产精品| 夜色福利站WWW国产在线视频| 国产精品va在线观看无码不卡| 亚洲综合伊人久久综合| 无码免费大香伊蕉在人线国产| 国产精品无码成人午夜电影| 国产99在线 | 亚洲| 无套内谢少妇一二三四| 亚洲日韩国产成网在线观看| 国产成人高清亚洲一区91| 亚洲蜜臀av乱码久久| 秋霞A级毛片在线看| 欧美亚洲国产成人一区二区三区| 无套内谢少妇毛片aaaa片免费| 精品国产午夜福利理论片| 四虎影视一区二区精品|