環境說明
夜鶯官網:首頁 - 快貓星云Flashcat
夜鶯安裝程序下載地址:快貓星云下載中心
夜鶯v7.7.2鏡像(X86架構):??https://download.csdn.net/download/jjk_02027/90851161
夜鶯ibex v1.2.0鏡像(X86架構)?https://download.csdn.net/download/jjk_02027/90851170
夜鶯Categraf鏡像(X86架構)?https://download.csdn.net/download/jjk_02027/90851177
上面三個鏡像提供給那些不能自已從外網鏡像倉庫下載的讀者
夜鶯一般會啟6個容器(另外三個分別是:mysql、redis、prometheus,這三個一般不需要升級故不提供鏡像下載地址)?
本文對快貓星云的夜鶯-NightingaleV6 升級到 V7進行詳細深入的講解
寫作靈感
書寫原因:n9e(nightingale)官方升級說明比較少,運維人員升級過程中容易碰到問題增加時間成本
夜鶯-NightingaleV6 升級到 V7(離線升級)
老版本升級 - 快貓星云Flashcat
下載鏡像
下載上面環境說明章節提到的三個鏡像:可從使用docker desktop下載,也可從作者上面提供的鏈接下載
下面以作者之前下載mysql鏡像的圖片舉例(從docker desktop下載):
-)Window桌面程序:Docker Desktop
-)下載鏡像
-)安裝鏡像導出插件
-)將鏡像文件保存到window本地(圖略)
上傳鏡像
把鏡像上傳到夜鶯服務器
導入鏡像
docker load -i flashcatcloud_nightingale_7_7_2.tar
docker load -i flashcatcloud_ibex_v1_2_0-amd64.tar
docker load -i flashcatcloud_categraf_latest.tar
備份數據?
進入mysql容器,然后到數據目錄執行下面的命令(一般數據目錄是映射到了本地磁盤的),會備份到本地磁盤對應的mysql數據目錄。
mysqldump -uroot -p12** --databases ibex > ibex.sql
mysqldump -uroot -p12** n9e_v6 > n9e_v6.sql
修改docker-compose.yaml
修改docker-compose.yaml中?夜鶯nightingale、夜鶯ibex、夜鶯Categraf三個鏡像的名稱和版本號
備份initsql目錄后清空目錄
# 備份initsql目錄
cp -r /app/docker/nightingale/docker/initsql initsql_bak2025****
# 清空initsql目錄,防止數據被清空(初始化腳本會重建表)
# 也可修復docker-compose.yaml文件中mysql容器配置中的sh腳本,取消數據庫初始化動作
rm -rf /app/docker/nightingale/docker/initsql/*
?停服務
[docker@GZCRM-PM153136 ~]$ cd /app/docker/nightingale/docker
[docker@GZCRM-PM153136 docker]$ ls
build.sh docker-compose.yaml Dockerfile Dockerfile.goreleaser.arm64 ibexetc initsql mysqldata mysql.yaml categraf Dockerfile.goreleaser experience_pg_vm images iptables.txt mysqletc prometc
[docker@GZ***-PM153*** docker]$ docker-compose down -v
[+] Running 6/6? Container categraf Removed 0.1s ? Container n9e Removed 10.1s ? Container prometheus Removed 0.1s ? Container ibex Removed 0.0s ? Container redis Removed 0.1s ? Container mysql Removed 1.6s
[docker@GZ***-PM153*** docker]$
啟動服務?
[docker@GZ***-PM153*** docker]$ docker-compose up -d
[+] Running 9/9
? Container prometheus Started 0.2s
? Container mysql Started 0.2s
? Container redis Started 0.2s
? Container ibex Started 0.2s
? Container n9e Started 0.3s
? Container categraf Started 0.4s
[docker@GZ***-PM153*** docker]$
升級驗證
1、檢查升級后的版本
前端版本:v7.7.0
后端版本:v7.7.2
2、檢查數據
檢查原告警規則是否存在?
附件一:常見問題
Q1:啟動報go腳本執行./wait失敗或都不到命令?
答:修改docker-compose.yaml 把sh腳本行中wait前的./去掉
Q2:?報找不到關系task_***
答:升級作者本文中提到的ibex和categraf到本文的版本
附件二:夜鶯監控軟件簡介
?夜鶯監控軟件(Nightingale)是一款集數據采集、可視化、監控告警和數據分析于一體的開源云原生觀測分析工具?。它采用All-in-One設計理念,與云原生生態緊密集成,為企業提供即插即用的監控分析和告警能力?。夜鶯監控最初由滴滴孵化并開源,后捐贈給中國計算機學會(CCF)進行托管和維護?。
功能特點
- ?數據采集?:夜鶯可以對接多種數據源,如Prometheus、VictoriaMetrics、ElasticSearch等,實現指標和日志的監控?。
- ?可視化?:提供ad-hoc查詢、指標視圖、儀表盤等功能,雖然不如Grafana深入,但仍具備基本的數據展示能力?。
- ?告警引擎?:夜鶯的告警引擎支持多種數據源的接入,用戶可以靈活設置告警規則,包括級別抑制、生效時間配置、事件relabel、告警屏蔽、告警訂閱以及告警自愈等功能?。
- ?數據分析?:夜鶯提供數據分析功能,幫助用戶深入理解監控數據,支持權限管理,確保數據安全?。
架構設計
夜鶯采用多機房部署方案,支持將告警引擎下沉至各個機房,確保在網絡鏈路中斷的情況下,邊緣機房的告警功能仍能保持正常?。此外,夜鶯支持多種采集器和數據源,如Categraf、Telegraf、Grafana-agent等,兼容性好,能夠滿足復雜環境下的監控需求?。
用戶評價和社區支持
夜鶯監控在GitHub上獲得了大量Star和Fork,社區活躍度高,已經服務了上千家企業。其開箱即用的特性和靈活的告警規則配置使其在運維圈內廣受歡迎?。夜鶯的開發團隊由原Open-Falcon項目核心研發人員組成,具有豐富的開發經驗和實戰背景?。
?
附件三:夜鶯監控開源版和企業版區別
開源版和企業版的區別在于企業版具備高級功能與售后支持
夜鶯監控開源版與企業版的核心區別在于:?企業版提供了更多適用于大型企業的功能模塊(如北極星、滅火圖、事件墻等)以及售后技術支持,而開源版則適合中小型企業在業務復雜度較低時使用?。具體差異如下:
-
?功能擴展?:
企業版包含開源版未具備的高級功能,例如:- 北極星(具體功能未詳細說明,可能涉及監控導航或架構管理)
- 滅火圖(可能指故障快速定位的可視化工具)
- 事件墻(用于集中展示和管理監控事件)
- 日志分析(深入處理日志數據的能力)
- 值班中心(排班管理與告警分配)
- 操作審計(記錄系統操作日志以確保合規性)
-
?服務支持?:
企業版用戶可獲得額外的售后咨詢和實施服務,而開源版需依賴社區或自行維護。 -
?適用場景?:
開源版適合服務器規模較小、業務相對簡單的企業,而企業版更偏向于應對復雜的大型企業需求,尤其在降本增效的趨勢下,企業需根據實際體量選擇版本。