前言
#可觀測性是大部分中小公司比較頭痛的問題,主要表現以下幾個方面:
- 需要不同的開源軟體來組裝以實現不同的功能,例如使用Skywalking 實現鏈路監控,使用ELK 實現日誌收集監控,使用Grafana Prometheus 來實現指標監控。
- 每個開源軟體背後都是獨立的一套體系,它們之前是相互獨立的(Grafana 全家桶已經實現組合)。
- 資料孤島,連結、日誌、指標各玩各的,沒有建立聯繫。目前市面上的解決方案不是商業化產品,就是自研。
本文的主角其實也沒有做大一統,目前階段依然是不同的開源元件實現不同的功能,只不過N9e可以在同一個主面板查看它們,但是數據之間的聯繫依然沒有實現。
那為什麼還要學研究N9e呢?
因為它正在朝這方面發展。
上面提到 Grafana 其實已經在做了,基於 Grafana Loki Tempo Prometheus 組合可以實現監控、指標、連結的連動,N9e 和 Grafana 有什麼不同呢?
用秦總的話說:Grafana比較擅長監控面板的管理,N9e比較擅長警告規則的管理。
N9e 可以將不同的告警規則發送到不同的業務組,不同的群體,避免在一個群裡產生大量的告警信息,久而久之就上演了狼來了的故事。
說了這麼多,N9e到底長啥樣?
下面是我部署好的一套系統。
可以看到,在該面板上,我們可以實作:
- 警報管理 ##時序指標查詢
- 日誌分析
- 連結追蹤
- 警告自癒
- 人員管理
- .....
系統架構
說一千到一萬,架構不懂都白乾。 現在我們來看看 N9e 的架構到底是什麼樣的,只有從架構邏輯上理清楚 N9e 是怎麼玩的,不論是對部署還是維護都大有裨益。 N9e 主要有中心匯聚式部署方案以及邊緣下沉式混雜部署方案,以下會分別做解釋。中心匯聚式部署方案
先上圖:- MySQL:用於存放設定資訊以及警告事件。
- Redis:用於儲存 JWT Token,機器元資訊等資料。
- TSDB:時序資料庫,存放監控指標。
- N9e:核心服務,處理 Web 請求、提供警告引擎
- LB:為多個 N9e 提供負載功能。
邊緣下沉式混雜部署方案
- 把時序資料庫TSDB、轉送網關、告警引擎都下沉到具體的Region,由Region 自己的來處理。不過 Region 仍然需要和中心集群建立心跳連接,用戶還是可以透過中心集群的監控面板查看其他 Region 的監控資訊。
- 對於已有 Prometheus 的情況,也可以直接將 Prometheus 作為資料來源存取即可。
!! #PS:對於這種方案,本身網路不好,還要打通網絡,可能還是會受網路問題影響。
單機部署
為什麼這裡要選擇單機部署呢?
其實我是想挨著部署各個元件,這樣對於理解整個 N9e 的運作模式有一定的幫助。
!! #Tips:我這裡使用的是Ubuntu 22.04.1 系統
安裝MySQL
#!!
!!
##Tips :為了快速我安裝的是Mariadb
# 更新镜像源 $ sudo apt-get update # 更新软件 $ sudo apt-get upgrade # 安装Mariabd $ sudo apt-get install mariadb-server-10.6
安裝完成後會自動啟動。然後為資料庫設定一個用戶密碼。
# 连接数据库 $ sudo mysql # 设置权限和密码 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234'; >flush privileges;
安裝 Redis
# 更新镜像源 $ sudo apt-get update # 更新软件 $ sudo apt-get upgrade # 安装Redis $ sudo apt install redis-server
預設會自動啟動。
- 安裝TSDB
- N9e 的TSDB 有多種選擇:
- Prometheus
- M3DB
這裡我選擇的是VictoriaMetrics。
# 下载二进制包 $ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz # 解压 $ tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz # 启动 $ nohup ./victoria-metrics-prod &>victoria.log &
觀察8428是否啟動。
安裝 N9e# 下载最新版本的二进制包 $ wget https://github.com/ccfos/nightingale/releases/download/v6.0.0-ga.3/n9e-v6.0.0-ga.3-linux-amd64.tar.gz # 解压 $ mkdir n9e $ tar xf n9e-v6.0.0-ga.3-linux-amd64.tar.gz -C n9e/ # 检验目录如下 $ ll total 35332 drwxrwxr-x7 jokerbai jokerbai 40964月 12 14:05 ./ drwxr-xr-x4 jokerbai jokerbai 40964月 12 14:05 ../ drwxrwxr-x3 jokerbai jokerbai 40964月 12 14:05 cli/ drwxrwxr-x 10 jokerbai jokerbai 40964月 12 14:05 docker/ drwxrwxr-x4 jokerbai jokerbai 40964月 12 14:09 etc/ drwxrwxr-x 20 jokerbai jokerbai 40964月 12 14:05 integrations/ -rwxr-xr-x1 jokerbai jokerbai 252805124月6 19:05 n9e* -rwxr-xr-x1 jokerbai jokerbai 108380164月6 19:05 n9e-cli* -rw-r--r--1 jokerbai jokerbai297844月6 19:04 n9e.sql drwxrwxr-x6 jokerbai jokerbai 40964月 12 14:05 pub/
然後匯入 N9e 的資料庫。
# 导入数据库 $ mysql -uroot -p <n9e.sql修改 N9e 的設定文件,在目前目錄 etc/config.toml 檔案中。
[[Pushgw.Writers]] # Url = "http://127.0.0.1:8480/insert/0/prometheus/api/v1/write" Url = "http://127.0.0.1:8428/api/v1/write"
然後啟動 N9e 服務。
# 启动服务 $ nohup ./n9e &>n9e.log & # 检测17000端口是否启动 $ ss -ntl | grep 17000 LISTEN 04096 *:17000*:*
在瀏覽器輸入http://127.0.0.1:17000,然後輸入使用者名稱root,密碼root.2020即可登入系統。
安裝 Categraf#Categraf 是監控採集 Agent,會將收集到的資訊推送到 TSDB。
# 下载 $ wget https://download.flashcat.cloud/categraf-v0.2.38-linux-amd64.tar.gz # 解压 $ tar xf categraf-v0.2.38-linux-amd64.tar.gz # 进入目录 $ cd categraf-v0.2.38-linux-amd64/修改設定文件,在 conf/config.toml 中,修改的部分如下:
[[writers]] url = "http://127.0.0.1:17000/prometheus/v1/write" [heartbeat] enable = true
然後啟動 Categraf。
$ nohup ./categraf &>categraf.log &
然後就可以在主介面看到基礎資訊。
新增資料來源#現在如果去查看時序資料指標,是查詢不到的,因為沒有新增資料來源。
在系統配置->資料來源處新增資料來源,如下:
然後就能看到對應的指標資料了。
也可以透過內建的儀表板查看主機的監控數據,如下:
總結#########這篇文章主要是帶搭建對夜鶯(Nightingale )有一個初步的印象,對它的整體架構做了簡單的介紹,然後帶大家從0 到1 安裝了一遍,旨在讓大家對夜鶯的組件有一個清晰的認識。 ######目前夜鶯已經更新迭代到 V6 版本,該版本有許多新的功能嘗試,例如接入 ELK,接入 Jaeger 等,後續將持續對這個系列進行更新。 ###以上是【夜鶯監控】初識夜鶯,還是強!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境