【Prometheus】Prometheus如何監控Haproxy

在這里插入圖片描述

?? 歡迎大家來到景天科技苑??

🎈🎈 養成好習慣,先贊后看哦~🎈🎈

🏆 作者簡介:景天科技苑
🏆《頭銜》:大廠架構師,華為云開發者社區專家博主,阿里云開發者社區專家博主,CSDN全棧領域優質創作者,掘金優秀博主,51CTO博客專家等。
🏆《博客》:Python全棧,前后端開發,小程序開發,人工智能,js逆向,App逆向,網絡系統安全,數據分析,Django,fastapi,flask等框架,云原生k8s,Prometheus監控,linux,shell腳本等實操經驗,網站搭建,數據庫等分享。

所屬的專欄:Prometheus監控系統零基礎到進階
景天的主頁:景天科技苑

在這里插入圖片描述

文章目錄

  • Prometheus如何監控Haproxy
    • 1、監控案例介紹
      • 1.1 監控場景描述
      • 1.2 監控環境規劃
    • 2、Prometheus監控Haproxy
      • 2.1 安裝并配置Haproxy
      • 2.2 配置Prometheus,將Haproxy納入監控
      • 2.3 Haproxy常用指標
      • 2.4 Haproxy告警規則文件
      • 2.5 Grafana導入Haproxy圖形

Prometheus如何監控Haproxy

1、監控案例介紹

1.1 監控場景描述

在前?的章節中,我們已經學習了如何使用 Prometheus 結合node_exporter 來監控系統資源的CPU、內存、磁盤、網絡等,
同時我們還通過“監控的方法論”找出了不同資源的重要的指標,并編寫PromQL查詢表達式和告警規則。
但是,系統資源的監控只是監控的一部分。因此我們還需要關注運行在這些節點上的應用程序。
接下來,我們將深入探討如何通過應用程序暴露的指標來直接監控它們,或者通過 Exporter 來間接收集不同應用的指標數據。
同時我們還會逐一介紹每個應用的關鍵性能指標,并講解如何利用PromQL 對這些指標進行查詢。
此外,我們對應的PromQL制作為告警規則,以便在系統出現異常時,能第一時間進行通知。
我們先看下監控案例的場景
在這里插入圖片描述

有些應用程序自帶metrics,像Haprox,RabitMQ,kubernetes等,
有些需要我們借助exporter進行暴露metrics,很多應用都有對應的exporter
有些需要服務發現,
有些需要push數據給網關,
還有些黑盒監控,如何通過http探測網站,通過tcp去探測相關服務
我們針對不同類型,都有詳細講解如何監控。
1、應用自帶Metrics如何監控:
2、應用無法自帶Metrics,借助Exporter如何監控;
3、黑盒監控BlackBox;
4、PushGateway如何使用;
掌握這些監控的資源的重要指標,以及PromQL的查詢表達式編寫,PromQL告警規則文件;

告警:
AlertManager

圖形:
Grafana

1.2 監控環境規劃

在這里插入圖片描述

2、Prometheus監控Haproxy

從 HAProxy 2.0 版本開始,HAProxy 內置了對 Prometheus 的支持。
這意味著 HAProxy 能夠直接提供兼容Prometheus的指標格式,無需依賴任何額外的 exporter 。(安裝Haproxy、然后修改stats,配置對外輸出metrics接口)

2.1 安裝并配置Haproxy

1、使用yum安裝Haproxy,centos7默認安裝的是1.5版本,無法安裝2.0以上的版本。我們使用功能rocketlinux9.5系統可以yum安裝

yum install haproxy -y

在這里插入圖片描述

看下systemd配置文件
在這里插入圖片描述

2、配置Haproxy的stats功能
先將源文件備份

cat /etc/haproxy/haproxy.cfg
globalmaxconn 100000 # Haproxy支持最大的會話數,如果default沒有配置則使用global# uid 99# gid 99user haproxygroup haproxydaemonlog 127.0.0.1 local2 infopidfile /var/lib/haproxy/haproxy.pidstats socket /var/lib/haproxy/haproxy.sock mode 600 level admin # 定義sock位置及權限
defaultsoption http-keep-aliveoption forwardformaxconn 5000 # Haproxy支持的最大會話數,默認是100000retries 3 # 連接后端服務器失敗的次數如果超過這里設置的值,haproxy會將對應的后端服務器標記為不可用mode httptimeout connect 300stimeout client 300stimeout server 300s
# 打開負載均衡的狀態頁面
frontend statsbind *:9999stats enablestats uri /haproxy-statusstats auth jingtian:123456# Prometheus metrics 的路徑http-request use-service prometheus-exporter if { path /metrics }# 允許每秒通過haproxy的新會話數限制為 100 個。如果超過這個數值,額外的新會話將被延遲或拒絕rate-limit sessions 100
# 定義負載均衡配置
frontend javabind *:80mode httprate-limit sessions 100default_backend javaserver
backend javaserverbalance roundrobinserver web1 127.0.0.1:8080 checkserver web2 127.0.0.1:8080 check
# 定義負載均衡配置
frontend webbind *:81mode httprate-limit sessions 200default_backend webservers
backend webserversbalance roundrobin# 后端支持最大的并發連接數(會話數)fullconn 1000server web3 10.10.0.30:9090 checkserver web4 127.0.0.1:8080 check

在這里插入圖片描述

3、啟動Haproxy

systemctl enable haproxy.service --now

查看運行狀態
在這里插入圖片描述

我們看到haproxy開啟了兩個負載均衡組,分別為80和81兩個端口號
一個haproxy可以有很多個負載均衡組
在這里插入圖片描述

4、檢查Haproxy的狀態頁面
http://10.10.0.31:9999/haproxy-status
剛進去需要先登錄
在這里插入圖片描述

5、檢查Haproxy的metrics接口是否能暴露指標
http://10.10.0.31:9999/metrics
在這里插入圖片描述

能訪問這個metrics獲取數據,依托于這個配置
在這里插入圖片描述

2.2 配置Prometheus,將Haproxy納入監控

1、編輯Prometheus配置文件,將Haproxy服務納入監控
vim prometheus.yml

  - job_name: "haproxy"static_configs:- targets: ["jingtian02:9999"]

在這里插入圖片描述

2、重新加載Prometheus配置文件

curl -X POST http://localhost:9090/-/reload

3、檢查Prometheus的Status->Targets頁面,驗證Haproxy是否已經成功納入監控中
在這里插入圖片描述

在prometheus查詢中,輸入haproxy,可以查到相關指標
在這里插入圖片描述

并且可以查詢到結果
在這里插入圖片描述

2.3 Haproxy常用指標

對于 HAProxy,通常會使用 RED 方法,監控:請求速率(Rate)、請求失敗數(Errors)、請求延遲(Duration)
但是Haproxy作為負載均衡,他又分為了前端和后端:
Frontend 在 HAProxy 中指的是客戶端連接到的部分,它負責接收來?客戶端的請求并將它們轉發到相應的 backend 集群。
通常監控 frontend 以下信息:

新建連接的速率
每秒的請求速率
當前活動連接數
響應時間
會話錯誤和拒絕

Backend 是由一個或多個服務器組成的集群,這些服務器用于處理frontend轉發過來的請求。通常監控 backend 以下信息:
會話數、當前活動連接
后端服務器的響應時間
后端服務器錯誤和超時等
后端服務器的健康狀態(比如是否在線、是否繁忙等)

1、haporxy fronted 連接與會話相關指標
在這里插入圖片描述

haproxy_frontend_limit_session_rate 這個是需要在配置haproxy的配置文件中配置的
在這里插入圖片描述
在這里插入圖片描述

案例1:查詢最近5分鐘,Haproxy前端新建連接數的速率

rate(haproxy_frontend_connections_total[5m])

在這里插入圖片描述

案例2:查詢最近5分鐘,Haproxy前端當前平均活躍的會話數,占總會話數上限的比率。 gauge類型的數據求一段時間的平均數可以用avg_over_time
計算公式:( 當前活躍的會話數 / 會話數的限制 * 100 )

avg_over_time(haproxy_frontend_current_sessions[5m]) / haproxy_frontend_limit_sessions * 100

在這里插入圖片描述

案例3:查詢最近5分鐘,haproxy前端平均每秒的新建最大的會話速率,占比總限制的新建會話比率。
計算公式:( 每秒新建的最大會話速率 / 每秒新建會話速率限制 * 100)

avg_over_time(haproxy_frontend_max_session_rate[5m]) / haproxy_frontend_limit_session_rate * 100

在這里插入圖片描述

2、haporxy fronted http請求與響應相關指標
在這里插入圖片描述

案例1:查詢 HAProxy 前端最近1分鐘的 HTTP 每秒請求速率。

rate (haproxy_frontend_http_requests_total[1m])

在這里插入圖片描述

案例2:查詢 HAProxy 前端最近1分鐘,最?的新建請求數量。

max_over_time(haproxy_frontend_http_requests_rate_max[1m])

在這里插入圖片描述

案例3:查詢 HAProxy 前端最近1分鐘,HTTP每秒的錯誤請求速率

rate(haproxy_frontend_request_errors_total[1m])

在這里插入圖片描述

案例4:查詢 最近5分鐘,HTTP 響應錯誤(4xx 和 5xx)占總請求比率,計算公式:(4xx|5xx的響應碼增長率 / 總的請求數 )
我們先看下響應狀態碼都是什么樣的
在這里插入圖片描述

然后看下4xx 5xx響應速率和最近5分鐘請求總數
在這里插入圖片描述

可以看到上面是多的一方,并且多了code,所以要去除code,并且使用功能group_left,哪邊是多的一方,group_哪邊
ignoring或group_left都必須放在 加減乘除 操作符的右側

rate(haproxy_frontend_http_responses_total{code=~"4xx|5xx"}[5m])
/ ignoring(code)group_left
rate(haproxy_frontend_http_requests_total[5m]) * 100

在這里插入圖片描述

3、HaproxyBackend 相關指標
在這里插入圖片描述

后端限制最大會話數
在這里插入圖片描述

案例1:計算最近5分鐘,當前后端平均每秒的活躍的會話數,占總會話數限制的比率。
計算公式:( 當前并發活躍的會話數 / 最大限制的會話數 * 100 )

avg_over_time(haproxy_backend_current_sessions[5m]) / haproxy_backend_limit_sessions * 100

在這里插入圖片描述

案例2:計算最近5分鐘,后端4xx響應的錯誤率:計算公式:( 后端4xx響應數 / 后端總請求數 * 100 )

rate(haproxy_backend_http_responses_total{code="4xx"}[5m]) / ignoring(code) rate(haproxy_backend_http_requests_total[5m]) * 100

在這里插入圖片描述

案例3:計算最近5分鐘,后端5xx響應的錯誤率:計算公式:( 后端5xx響應數 / 后端總請求數 * 100%)

rate(haproxy_backend_http_responses_total{code="5xx"}[5m]) / ignoring(code) rate(haproxy_backend_http_requests_total[5m]) * 100

在這里插入圖片描述

4、Haproxy監控狀態相關指標
在這里插入圖片描述

后端活躍的服務器數量
在這里插入圖片描述

只有一個后端服務不是失敗的,其他的都檢測失敗
在這里插入圖片描述

案例1:查詢Haroxy運行了多長時間,計算公式:( (當前時間 - haproxy運行時間) / 小時 )
time()得到的是當前的時間戳
在這里插入圖片描述

(time() - haproxy_process_start_time_seconds ) / 3600

在這里插入圖片描述

案例2:檢查后端的活躍服務器小于1

haproxy_backend_active_servers < 1

在這里插入圖片描述

案例3:查詢Haproxy后端服務器是否有檢測失敗的

haproxy_server_check_failures_total == 1

在這里插入圖片描述

2.4 Haproxy告警規則文件

1、編寫告警規則文件

cat /etc/prometheus/rules/haproxy_rules.yml
groups:
- name: "Haproxy告警規則"rules:- alert: Haproxy前端活躍會話數過高expr: |avg_over_time(haproxy_frontend_current_sessions[5m])/haproxy_frontend_limit_sessions * 100 > 80for: 5mlabels:severity: warningannotations:summary: "實例:{{ $labels.instance }} Haproxy前端活躍會話數占限制比率過高"description: "Haproxy前端'{{ $labels.proxy }}' 活躍會話數占限制的會話數比率超過了80%,當前值為{{ $value }}%。"- alert: Haproxy前端新建會話速率過高expr: |avg_over_time(haproxy_frontend_max_session_rate[5m])/haproxy_frontend_limit_session_rate * 100 > 80for: 5mlabels:severity: warningannotations:summary: "實例:{{ $labels.instance }} Haproxy前端新建會話速率占限制比率過高"description: "Haproxy前端'{{ $labels.proxy }}' 每秒新建的會話速率占限制比率已經超過80%,當前值為{{ $value }}%。"- alert: Haproxy前端HTTP響應4xx\5xx錯誤率過高expr: |rate(haproxy_frontend_http_responses_total{code=~"4xx|5xx"}[5m])/ignoring(code)group_leftrate(haproxy_frontend_http_requests_total[5m]) * 100 > 20for: 5mlabels:severity: criticalannotations:summary: "實例:{{ $labels.instance }} Haproxy前端HTTP響應錯誤率過高"description: "Haproxy前端'{{ $labels.proxy }}' 的 {{ $labels.code }}狀態碼占總請求的比率已經超過20%,當前錯誤率為{{ $value }}%。"- alert: Haproxy后端活躍會話數占限制比率過高expr: |avg_over_time(haproxy_backend_current_sessions[5m])/haproxy_backend_limit_sessions * 100 > 80for: 5mlabels:severity: warningannotations:summary: "實例:{{ $labels.instance }} Haproxy后端活躍會話數占限制比率過高"description: "Haproxy后端'{{ $labels.proxy }}' 活躍會話數占總會話數限制的比率超過了80%,當前值為{{ $value }}%。"- alert: Haproxy后端4xx錯誤率過高expr: |rate(haproxy_backend_http_responses_total{code="4xx"}[5m])/ignoring(code) rate(haproxy_backend_http_requests_total[5m]) * 100> 10for: 5mlabels:severity: warningannotations:summary: "實例:{{ $labels.instance }} Haproxy后端4xx錯誤率過高 "description: "Haproxy后端'{{ $labels.proxy }}' 的4xx響應錯誤率超過了10%,當前錯誤率為{{ $value }}%。"- alert: Haproxy后端5xx錯誤率過高expr: |rate(haproxy_backend_http_responses_total{code="5xx"}[5m])/ignoring(code) rate(haproxy_backend_http_requests_total[5m]) * 100> 10for: 5mlabels:severity: criticalannotations:summary: "實例:{{ $labels.instance }} Haproxy后端5xx錯誤率過高 "description: "Haproxy后端'{{ $labels.proxy }}' 的5xx響應錯誤率超過了10%,當前錯誤率為{{ $value }}%。"- alert: Haproxy后端無活躍服務器expr: haproxy_backend_active_servers < 1for: 5mlabels:severity: criticalannotations:summary: "實例:{{ $labels.instance }} 后端無活躍服務器"description: "Haproxy '{{ $labels.proxy }}' 后端活躍服務器數量小于1,這意味著整個后端服務不可用,立即檢查后端服務器狀態。"- alert: Haproxy后端服務器檢測失敗expr: haproxy_server_check_failures_total == 1for: 5mlabels:severity: warningannotations:summary: "實例:{{ $labels.instance }} 后端服務器檢測失敗"description: "Haproxy '{{ $labels.proxy }}' 后端的 '{{ $labels.server }}' 實例檢測失敗,可能存在連接問題或服務不穩定。"

在這里插入圖片描述

重新加載prometheus配置

curl -X POST http://localhost:9090/-/reload

查看告警
在這里插入圖片描述

2.5 Grafana導入Haproxy圖形

導入haproxy的Grafana模板。ID為 12693 這個模板提供了 HAProxy 性能和狀態的圖表,包括請求數、響應時間、錯誤計數等。

在Grafana 儀表盤-新建-導入
在這里插入圖片描述

輸入12693,點擊加載
在這里插入圖片描述

選擇數據源prometheus,點擊導入
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

如果想看下某個圖形,表達的是什么數據,可以點擊右上角三個點,點擊編輯

在這里插入圖片描述
在這里插入圖片描述

可以看到PromQL語句
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66892.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 控制打印機:從入門到實踐

在開發一些涉及打印功能的應用程序時&#xff0c;使用 C# 控制打印機是一項很實用的技能。這篇文章就來詳細介紹下如何在 C# 中實現對打印機的控制。 一、準備工作 安裝相關庫&#xff1a;在 C# 中操作打印機&#xff0c;我們可以借助System.Drawing.Printing命名空間&#x…

Go語言中的值類型和引用類型特點

一、值類型 值類型的數據直接包含值&#xff0c;當它們被賦值給一個新的變量或者作為參數傳遞給函數時&#xff0c;實際上是創建了原值的一個副本。這意味著對新變量的修改不會影響原始變量的值。 Go中的值類型包括&#xff1a; 基礎類型&#xff1a;int&#xff0c;float64…

GPT 結束語設計 以nanogpt為例

GPT 結束語設計 以nanogpt為例 目錄 GPT 結束語設計 以nanogpt為例 1、簡述 2、分詞設計 3、結束語斷點 1、簡述 在手搓gpt的時候&#xff0c;可能會遇到一些性能問題&#xff0c;即關于是否需要全部輸出或者怎么節約資源。 在輸出語句被max_new_tokens 限制&#xff0c…

《探秘:人工智能如何為鴻蒙Next元宇宙網絡傳輸與延遲問題破局》

在元宇宙的宏大愿景中&#xff0c;流暢的網絡傳輸和低延遲是保障用戶沉浸式體驗的關鍵。鴻蒙Next結合人工智能技術&#xff0c;為解決這些問題提供了一系列創新思路和方法。 智能網絡監測與預測 人工智能可以實時監測鴻蒙Next元宇宙中的網絡狀況&#xff0c;包括帶寬、延遲、…

深入MapReduce——計算模型設計

引入 通過引入篇&#xff0c;我們可以總結&#xff0c;MapReduce針對海量數據計算核心痛點的解法如下&#xff1a; 統一編程模型&#xff0c;降低用戶使用門檻分而治之&#xff0c;利用了并行處理提高計算效率移動計算&#xff0c;減少硬件瓶頸的限制 優秀的設計&#xff0c…

macOS安裝Gradle環境

文章目錄 說明安裝JDK安裝Gradle 說明 gradle8.5最高支持jdk21&#xff0c;如果使用jdk22建議使用gradle8.8以上版本 安裝JDK mac系統安裝最新&#xff08;截止2024.9.13&#xff09;Oracle JDK操作記錄 安裝Gradle 下載Gradle&#xff0c;解壓將其存放到資源java/env目錄…

五國十五校聯合巨獻!仿人機器人運動與操控:控制、規劃與學習的最新突破與挑戰

作者&#xff1a; Zhaoyuan Gu, Junheng Li, Wenlan Shen, Wenhao Yu, Zhaoming Xie, Stephen McCrory, Xianyi Cheng, Abdulaziz Shamsah, Robert Griffin, C. Karen Liu, Abderrahmane Kheddar, Xue Bin Peng, Yuke Zhu, Guanya Shi, Quan Nguyen, Gordon Cheng, Huijun Gao,…

CVPR 2024 無人機/遙感/衛星圖像方向總匯(航空圖像和交叉視角定位)

1、UAV、Remote Sensing、Satellite Image(無人機/遙感/衛星圖像) Unleashing Unlabeled Data: A Paradigm for Cross-View Geo-Localization ?codeRethinking Transformers Pre-training for Multi-Spectral Satellite Imagery ?codeAerial Lifting: Neural Urban Semantic …

【BQ3568HM開發板】如何在OpenHarmony上通過校園網的上網認證

引言 前面已經對BQ3568HM開發板進行了初步測試&#xff0c;后面我要實現MQTT的工作&#xff0c;但是遇到一個問題&#xff0c;就是開發板無法通過校園網的認證操作。未認證的話會&#xff0c;學校使用的深瀾軟件系統會屏蔽所有除了認證用的流量。好在我們學校使用的認證系統和…

(Java版本)基于JAVA的網絡通訊系統設計與實現-畢業設計

源碼 論文 下載地址&#xff1a; ????c??????c基于JAVA的網絡通訊系統設計與實現(源碼系統論文&#xff09;https://download.csdn.net/download/weixin_39682092/90299782https://download.csdn.net/download/weixin_39682092/90299782 第1章 緒論 1.1 課題選擇的…

kafka學習筆記4-TLS加密 —— 筑夢之路

1. 準備證書文件 mkdir /opt/kafka/pkicd !$# 生成CA證書 openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout ca.key -out ca.crt -subj "/CNKafka-CA"# 生成私鑰 openssl genrsa -out kafka.key 4096# 生成證書簽名請求 (CSR) openssl req -new -key …

Node.js NativeAddon 構建工具:node-gyp 安裝與配置完全指南

Node.js NativeAddon 構建工具&#xff1a;node-gyp 安裝與配置完全指南 node-gyp Node.js native addon build tool [這里是圖片001] 項目地址: https://gitcode.com/gh_mirrors/no/node-gyp 項目基礎介紹及主要編程語言 Node.js NativeAddon 構建工具&#xff08;node-gyp…

SpringCloud微服務Gateway網關簡單集成Sentinel

Sentinel是阿里巴巴開源的一款面向分布式服務架構的輕量級流量控制、熔斷降級組件。Sentinel以流量為切入點&#xff0c;從流量控制、熔斷降級、系統負載保護等多個維度來幫助保護服務的穩定性。 官方文檔&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html …

vscode環境中用倉頡語言開發時調出覆蓋率的方法

在vscode中倉頡語言想得到在idea中利用junit和jacoco的覆蓋率&#xff0c;需要如下幾個步驟&#xff1a; 1.在vscode中搭建倉頡語言開發環境&#xff1b; 2.在源代碼中右鍵運行[cangjie]coverage. 思路1&#xff1a;編寫了測試代碼的情況&#xff08;包管理工具&#xff09; …

pikachu靶場-敏感信息泄露概述

敏感信息泄露概述 由于后臺人員的疏忽或者不當的設計&#xff0c;導致不應該被前端用戶看到的數據被輕易的訪問到。 比如&#xff1a; ---通過訪問url下的目錄&#xff0c;可以直接列出目錄下的文件列表; ---輸入錯誤的url參數后報錯信息里面包含操作系統、中間件、開發語言的版…

安卓動態設置Unity圖形API

命令行方式 Unity圖像api設置為自動,安卓動態設置Vulkan、OpenGLES Unity設置 安卓設置 創建自定義活動并將其設置為應用程序入口點。 在自定義活動中,覆蓋字符串UnityPlayerActivity。updateunitycommandlineararguments (String cmdLine)方法。 在該方法中,將cmdLine…

CICD集合(五):Jenkins+Git+Allure實戰(自動化測試)

CICD集合(五):Jenkins+Git+Allure實戰(自動化測試) 前提: 已安裝好Jenkins安裝好git,maven,allure報告插件配置好Git,Maven,allure參考:CICD集合(一至四) https://blog.csdn.net/fen_fen/article/details/131476093 https://blog.csdn.net/fen_fen/article/details/1213…

時間類型數據處理:基于Python的datetime庫和pandas庫

一、datetime庫常用方法 日期的數據類型主要有兩種&#xff1a;一是包含時間的datetime類型&#xff0c;二是不包含時間的date類型。這里的時間指具體的時、分、秒、甚至毫秒。 1、自定義日期、時間、獲取本地時間、獲取本地日期、獲取年份、月份、月號、小時、分鐘、秒、星期…

低代碼可視化-轉盤小游戲可視化-代碼生成器

轉盤小程序是一種互動工具&#xff0c;它通過模擬真實的轉盤抽獎或決策體驗&#xff0c;為用戶提供了一種有趣且公平的選擇方式。以下是對轉盤小程序的詳細介紹&#xff1a; 轉盤小程序的應用場景 日常決策&#xff1a;轉盤小程序可以幫助用戶解決日常生活中的選擇困難問題&a…

MongoDB文檔查詢

一、實驗目的 1. 理解MongoDB文檔數據庫的基本概念和特性。 2. 掌握在MongoDB中創建集合和插入文檔數據的方法。 3. 學習使用MongoDB進行文檔查詢操作&#xff0c;包括查詢、過濾和排序等。 二、實驗環境準備 1. JAVA環境準備&#xff1a;確保Java Development Kit (J…