造訪該項目的主頁
選單:開始|它是如何運作的|常見問題|文檔|社區|貢獻|執照
重要的
人們沉迷於網路數據。一旦您在系統上使用它,就無法回頭!
Netdata是一個高效能、雲端原生、本地可觀察性平台,旨在以無與倫比的效率監控指標和日誌。它提供了一種更簡單、更快速且顯著更輕鬆的方法來對系統、容器和應用程式進行即時、低延遲監控。 Netdata 需要零配置即可啟動,提供開箱即用的強大且全面的監控體驗。
Netdata 也以其經濟高效的分散式設計而聞名。與集中資料的傳統監控解決方案不同, Netdata 分散式程式碼。 Netdata 不是將所有資料集中到幾個中央資料庫中,而是在邊緣處理數據,使其靠近源頭。智慧型開源 Netdata Agent 充當分散式資料庫,能夠以模組化、樂高式的簡單性建構複雜的可觀測性管道。
Netdata 為所有監控資料提供人工智慧見解,直接在邊緣訓練機器學習模型。這允許完全自動化和無監督的異常檢測,並且透過其直觀的 API 和 UI,用戶可以快速執行根本原因分析並解決問題,識別相關性並深入了解其基礎設施。
Netdata 基於三個核心部分建構:
Netdata Agent (通常簡稱「Netdata」):這個開源元件是 Netdata 生態系統的核心,負責處理可觀測資料的資料收集、儲存(嵌入式資料庫)、查詢、機器學習、匯出和警報。 Netdata 生態系提供的所有可觀測資料和功能均由 Netdata 代理程式管理。它在實體和虛擬伺服器、雲端環境、Kubernetes 叢集和邊緣/物聯網設備中運行,並經過精心優化,對生產系統和應用程式產生零影響。
Netdata Cloud :Netdata Cloud 增強了 Netdata 代理,提供了使用者管理、基於角色的存取控制、水平可擴展性、警報和通知管理、從任何地方存取等企業功能。 Netdata Cloud不集中或儲存可觀測性資料。
Netdata Cloud 是一款商業產品,可作為本機安裝或 SaaS 解決方案使用,並具有免費社群層。
Netdata UI :為所有儀表板、資料視覺化和配置提供支援的使用者介面。
雖然是閉源的,但它可以透過 Netdata Agent 和 Netdata Cloud 的公共 API 免費使用。它包含在 Netdata 提供的二進位套件中,其最新版本透過 CDN 公開提供。
即使在複雜的多雲或混合環境中,Netdata 也可以輕鬆從一台伺服器擴展到數千台伺服器,並且能夠保留資料多年。
從 800 多個整合中收集數據
作業系統指標、容器指標、虛擬機器、硬體感測器、應用程式指標、OpenMetrics 導出器、StatsD 和日誌。 OpenTelemetry 即將被納入(目前正在開發中)...
即時、低延遲、高解析度
所有資料每秒收集一次,並在資料收集後立即在 API 上提供以進行視覺化(1 秒延遲,資料收集到視覺化)。
全面人工智慧
針對收集的每個指標在邊緣訓練多個機器學習 (ML) 模型,並使用 AI 根據每個指標過去的行為檢測異常。
systemd-journald 日誌
包含有效地將純文字日誌(text、csv、logfmt、json)檔案轉換為結構化 systemd-journald 條目( log2journal
、 systemd-cat-native
)的工具,並直接查詢systemd-journal 文件,從而啟用強大的日誌可視化儀表板。 Netdata Agent 消除了集中日誌的需要,並提供了直接在邊緣處理日誌的所有功能。
像樂高積木一樣,可觀察性管道
Netdata 代理程式可以連結在一起(以父子關係),以在您的基礎架構內建立可觀察性集中點,從而允許您在多個層級上控制資料複製和保留。
全自動強大的視覺化
使用 NIDL(節點、實例、維度和標籤)資料模型,Netdata 代理程式可以建立完全自動化的儀表板,提供所有指標的相關視覺化,讓您可以第一眼了解任何資料集,還可以過濾、切片和直接在儀表板上將資料切分,無需學習查詢語言。
注意:Netdata UI 是封閉原始碼的,但可以免費與 Netdata Agents 和 Netdata Cloud 一起使用。
?開箱即用警報
附帶數百個開箱即用的警報,用於檢測常見問題和陷阱,揭示很容易被忽視的問題。它支援多種通知方法,讓您知道何時需要您的注意。
?低維護成本
各個方面都完全自動化:自動化儀表板、開箱即用的警報、自動檢測和自動發現指標、零接觸機器學習、輕鬆可擴展性和高可用性以及 CI/CD 友好。
開放且可擴展
Netdata 是一個模組化平台,可以以所有可能的方式進行擴展,而且它還可以與其他監控解決方案很好地整合。
Netdata 監控以下所有內容:
成分 | Linux | 自由BSD | macOS | 視窗 |
---|---|---|---|---|
系統資源 CPU、記憶體和系統共享資源 | 滿的 | 是的 | 是的 | 是的 |
貯存 磁碟、掛載點、檔案系統、RAID 陣列 | 滿的 | 是的 | 是的 | 是的 |
網路 網路介面、協定、防火牆等 | 滿的 | 是的 | 是的 | 是的 |
硬體和感測器 風扇、溫度、控制器、GPU 等 | 滿的 | 一些 | 一些 | 一些 |
作業系統服務 資源、績效和狀態 | 是的systemd | - | - | - |
流程 資源、效能、OOM 等 | 是的 | 是的 | 是的 | 是的 |
系統和應用程式日誌 | 是的systemd 日誌 | - | - | 是的Windows Event Log ,以及Event Tracing for Windows |
網路連線 每個 PID 的即時 TCP 和 UDP 套接字 | 是的 | - | - | - |
貨櫃 Docker/containerd、LXC/LXD、Kubernetes 等 | 是的 | - | - | - |
VM (來自主機) KVM、qemu、libvirt、Proxmox 等 | 是的cgroups | - | - | 是的Hyper-V |
綜合檢查 測試 API、TCP 連接埠、Ping、憑證等 | 是的 | 是的 | 是的 | 是的 |
打包應用程式 nginx、apache、postgres、redis、mongodb、 還有數百個 | 是的 | 是的 | 是的 | 是的 |
雲端提供者基礎設施 AWS、GCP、Azure 等 | 是的 | 是的 | 是的 | 是的 |
客製化應用程式 OpenMetrics、StatsD 以及即將推出的 OpenTelemetry | 是的 | 是的 | 是的 | 是的 |
當 Netdata Agent 在 Linux 上運行時,它會監視每個可用的核心功能,提供所有核心技術的全面覆蓋,並提供完整的企業硬體覆蓋,監視提供硬體錯誤報告的所有元件,例如PCI AER、RAM EDAC 、IPMI、SMART、NVMe 、風扇、電源供應器、電壓等。
2023 年 12 月 11 日:阿姆斯特丹大學發表了一項有關監控工具對基於 Docker 的系統的影響的研究,旨在回答 2 個問題:
監控對基於 Docker 的系統能效的影響
監控對基於 Docker 的系統有何影響?
Netdata 在能源效率方面表現出色: “...Netdata 是最節能的工具...” ,正如研究所說。
Netdata 在 CPU 使用率、RAM 使用率和執行時間方面表現出色,並且對網路流量的影響與 Prometheus 類似。
該研究沒有根據收集的指標數量對結果進行標準化。鑑於 Netdata 通常比其他工具收集更多的指標,因此 Netdata 成功地超越了其他工具,同時吸收了更多數量的指標。在這裡閱讀完整的研究。
在相同的工作負載下,Netdata 使用的CPU 減少了 35% , RAM 減少了 49% ,頻寬減少了 12% ,磁碟 I/O 減少了 98% ,並且在高分辨率指標儲存上磁碟空間效率提高了75% ,同時提供一年多的時間在相同磁碟佔用空間上的整體保留時間 Prometheus 提供 7 天的保留時間。閱讀我們部落格中的完整分析。
Netdata 積極支持雲端原生運算基金會 (CNCF),並且是基金會的成員
……由於您的愛❤️,它成為 CNCF 領域最受關注的項目之一!
下面是一個動畫圖像,但您可以即時看到 Netdata!
法蘭克福|紐約|亞特蘭大|舊金山|多倫多|新加坡|班加羅爾
它們是叢集網路資料代理父級。他們都有相同的數據。選擇離您較近的。
所有這些都以預設配置運行。我們只是將它們叢集起來以獲得多節點儀表板。
注意:這些演示包括 Netdata UI、
雖然它是閉源的,但可以免費與 Netdata Agents 和 Netdata Cloud 一起使用。
Netdata 可以安裝在所有 Linux、macOS、FreeBSD(很快就會安裝在 Windows)系統上。我們為最受歡迎的作業系統和套件管理器提供二進位套件。
在 Ubuntu、Debian CentOS、Fedora、Suse、Red Hat、Arch、Alpine、Gentoo 甚至 BusyBox 上安裝。
使用 Docker 安裝。
Netdata 是 DockerHub 上的經過驗證的發布者,我們的用戶享受免費、無限制的 DockerHub 拉取。
在 macOS 上安裝?
在 FreeBSD 和 pfSense 上安裝。
從來源安裝
對於 Kubernetes 部署,請查看此處。
另請參閱 Netdata 部署指南來決定如何將其部署在您的基礎架構中。
預設情況下,您將立即可以使用本機儀表板。 Netdata 在連接埠19999
為其儀表板啟動 Web 伺服器。開啟您選擇的 Web 瀏覽器並導航至http://NODE:19999
,將NODE
替換為您的代理程式的 IP 位址或主機名稱。如果安裝在本機上,您可以透過http://localhost:19999
存取它。
注意:我們提供的二進位套件會自動安裝 Netdata UI。 Netdata UI 是閉源的,但可以免費與 Netdata Agents 和 Netdata Cloud 一起使用。
Netdata 自動偵測並發現大多數作業系統資料來源和應用程式。然而,許多資料來源需要一些手動配置,通常是為了允許 Netdata 存取指標。
有關 800 多個可用收藏家的詳細列表,請查看本指南。
若要監控 Windows 伺服器和應用程序,請使用本指南。
請注意,Windows 上的 Netdata 正處於最終版本階段,因此在下一個 Netdata 版本中,Netdata 將原生支援 Windows。
若要監控 SNMP 設備,請查看本指南。
Netdata 隨附數百個預先設定警報,可在開始收集指標後立即自動檢查您的指標。
Netdata 可以向多個第三方系統發送警報通知,包括: email
、 Alerta
、 AWS SNS
、 Discord
、 Dynatrace
、 flock
、 gotify
、 IRC
、 Matrix
、 MessageBird
PushOver
Microsoft Teams
、 ntfy
、 OPSgenie
、 PagerDuty
、 Prowl
、 PushBullet
RocketChat
、 Slack
、 SMS tools
、 Syslog
、 Telegram
、 Twilio
。
預設情況下,如果系統上配置了 MTA,Netdata 將發送電子郵件通知。
(可選)配置一個或多個網路資料父級。 Netdata Parent 是一個 Netdata Agent,已設定為接受來自其他 Netdata 代理程式的流連線。
Netdata 家長提供:
基礎設施等級儀表板,位於http://parent.server.ip:19999/
。
每個 Netdata Agent 都有一個 API 偵聽每個伺服器的 TCP 連接埠 19999。當您使用 Web 瀏覽器(例如http://server.ip:19999/
)存取該連接埠時,將顯示 Netdata Agent UI。當網路資料代理程式也是父級時,父級的 UI 包括將指標串流傳輸到該父級的所有節點的資料。
提高所有節點的所有指標的保留率。
每個網路資料代理程式維護各自的指標資料庫。但家長可以獲得額外的資源來維護比單一網路資料代理更長的資料庫。
警報的集中配置和通知的發送。
使用 Netdata Parent,所有警報通知整合只能在 Parent 上設定一次,並且可以在 Netdata Agent 上停用。
您也可以使用 Netdata Parent 來:
卸載您的生產系統(父母為所有孩子運行機器學習、警報、查詢等)
保護您的生產系統(父母接受所有孩子的使用者連線)
登入 Netdata Cloud 並認領您的 Netdata 代理商和家長。如果您連接 Netdata 父級,則無需連接 Netdata 代理程式。他們將透過父母連接。
當您的 Netdata 節點連接到 Netdata Cloud 時,您可以(除上述之外):
從任何地方存取您的 Netdata 代理
存取敏感的 Netdata 代理功能(例如「Netdata 功能」:進程、systemd-journal)
在空間和房間中組織您的基礎設施
建立、管理和共用自訂儀表板
邀請您的團隊並為他們分配角色(基於角色的存取控制)
獲得無限的水平可擴展性(多個獨立的網路資料代理被視為一個基礎設施)
從 UI 配置警報
從 UI 設定資料收集
Netdata 行動應用程式通知
Netdata Cloud 不會阻止您直接使用 Netdata 代理程式和父級,反之亦然。
當您將 Netdata 代理程式和父級連接到 Netdata Cloud 時,您的指標仍儲存在網路中。
Netdata 是圍繞模組化指標處理管道建構的。
每個網路資料代理程式可以執行以下功能:
從來源COLLECT
指標
使用內部和外部插件從其來源收集資料。
Netdata 自動偵測並收集作業系統中的幾乎所有內容:包括 CPU、中斷、記憶體、磁碟、掛載點、檔案系統、網路堆疊、網路介面、容器、虛擬機器、流程、 systemd
單元、Linux 效能指標、Linux eBPF、硬體感測器、IPMI 等。
它從以下應用程式收集應用程式指標:PostgreSQL、MySQL/MariaDB、Redis、MongoDB、Nginx、Apache 等。
Netdata 也透過抓取 OpenMetrics 匯出器或透過 StatsD 來收集您的自訂應用程式指標。
它可以將 Web 伺服器日誌檔案轉換為指標,並即時對其套用 ML 和警報。
它還支援綜合測試/白盒測試,因此您可以 ping 伺服器、檢查 API 回應,甚至檢查檔案系統檔案和目錄以產生指標、訓練 ML 並執行有關其狀態的警報和通知。
將指標STORE
到資料庫
使用資料庫引擎外掛程式將收集的資料儲存在記憶體和/或磁碟上。我們開發了自己的dbengine
以非常有效的方式儲存數據,使 Netdata 在磁碟上的每個樣本少於一個字節,並且查詢速度快得驚人。
LEARN
指標的行為(ML)
針對每個指標訓練多個機器學習 (ML) 模型,以單獨學習每個指標的行為。 Netdata 使用kmeans
演算法,並根據過去 6 小時內為該指標收集的值,預設每小時為每個指標建立模型。經過訓練的模型會儲存到磁碟上。
DETECT
指標中的異常(ML)
使用經過訓練的機器學習 (ML) 模型來偵測異常值並將收集的樣本標記為異常。 Netdata 將異常資訊與每個樣本儲存在一起,並將其串流傳輸到 Netdata 父級,以便在查詢時也可以取得每個指標的整個保留的異常資訊。
CHECK
指標並觸發警報通知
使用其配置的警報(您可以配置自己的)來檢查常見問題的指標,並使用通知插件發送警報通知。
將指標STREAM
至其他網路資料代理
將指標即時推送給 Netdata Parent。
將指標ARCHIVE
到第三方資料庫
將指標匯出到業界標準時間序列資料庫,例如Prometheus
、 InfluxDB
、 OpenTSDB
、 Graphite
等。
QUERY
指標和目前儀表板
提供 API 來查詢資料並向使用者呈現互動式儀表板。
SCORE
指標揭示相似性和模式
根據給定的標準對指標進行評分,大海撈針。
使用Netdata Parent時,Netdata Agent的所有功能(資料收集除外)都可以委託給Parents以減輕生產系統的負擔。
libnetdata
的核心是用 C 語言開發的。
DICTIONARY
一種高效能演算法,用於維護 Netdata 所需的索引和有序結構池。它使用 JudyHS 數組進行索引,儘管它是模組化的:任何哈希表或樹都可以整合到其中。儘管字典是用 C 語言編寫的,但它遵循物件導向的程式設計原則,因此有建構函式、析構函式、自動記憶體管理、垃圾收集等等。有關更多信息,請參見此處。
ARAL
ARray ALLocator (ARAL) 用於最小化 Netdata 進行的系統分配。 ARAL 針對最大多執行緒效能進行了最佳化。它還允許使用它的所有結構分配在記憶體映射檔案(共享記憶體)而不是 RAM 中。有關更多信息,請參見此處。
PROCFILE
高效能/proc
(也可以是任何)檔案解析器和文字標記器。它透過保持檔案開啟並調整其緩衝區以在一次呼叫中讀取整個檔案來實現其效能(這也是 Linux 核心所要求的)。有關更多信息,請參見此處。
STRING
字串網路機制,用於字串重複資料刪除和索引(使用 JudyHS 陣列),針對多執行緒使用進行了最佳化。有關更多信息,請參見此處。
ARL
自適應可度假村清單 (ARL) 是一種非常快速的清單迭代器,它會按照在輸入清單中找到的相同順序保留清單中的預期項目。因此,第一次迭代有點慢,但所有後續迭代都完美對齊以獲得最佳性能。有關更多信息,請參見此處。
BUFFER
靈活的文字緩衝區管理系統,允許 Netdata 自動處理動態大小的文字緩衝區分配。 Netdata API 使用相同的機制產生一致的 JSON 輸出。有關更多信息,請參見此處。
SPINLOCK
與 POSIX MUTEX
和RWLOCK
類似,但速度更快,基於原子操作,記憶體影響顯著更小,同時可移植。
PGC
一個快取層,可用於快取任何類型的時間相關數據,具有自動索引(基於 JudyL 數組樹)、記憶體管理、驅逐、刷新、壓力管理。這在dbengine
中被廣泛使用。有關更多信息,請參見此處。
上述以及更多其他內容使 Netdata 開發人員能夠快速、充滿信心地開發應用程式。 Netdata 中的大部分業務邏輯都是上述內容的混合工作。
Netdata 資料收集外掛程式可以用任何語言開發。我們的大多數應用程式收集器都是用 Go 開發的。
當然是!我們盡力確保這一點!
我們知道 Netdata 是一個安裝在全球數百萬生產系統上的軟體。因此,對於我們 Netdata 來說,盡可能安全非常重要:
我們遵循開源安全基金會最佳實務。
在安全設計方面,我們非常注重細節。查看我們的安全設計。
Netdata 是一個受歡迎的開源項目,經常受到許多安全分析師的測試。
也請查看我們迄今為止發布的安全政策和建議。
不,不會!我們保證這會很快!
儘管每個 Netdata 代理程式都是打包到單一應用程式中的完整監控解決方案,並且儘管 Netdata每秒收集每個指標並為每個指標訓練多個 ML 模型,但您會發現 Netdata 具有驚人的效能!在許多情況下,它的性能優於其他功能少得多或數據收集率低得多的監控解決方案。
這是您應該期待的:
對於生產系統,每個具有預設設定(啟用所有功能、ML、運行狀況、資料庫)的 Netdata 代理程式應消耗一個核心約 5% 的 CPU 使用率以及約 150 MiB 或 RAM。
透過使用 Netdata 父級並將所有指標串流傳輸到該父級,您可以停用 ML 和運行狀況並在子級上使用臨時資料庫(如alloc
),從而導致單核心CPU 使用率約1% 和RAM 100 MiB。當然,這些取決於收集的指標數量。
對於 Netdata Parent,對於每秒收集的約 100 到 200 萬個指標,我們建議使用具有 16 核和 32GB RAM 的伺服器。其中不到一半將用於數據收集和機器學習。其餘的將可供查詢。
Netdata 擁有廣泛的內部工具來幫助我們揭示消耗的資源是如何使用的。所有這些都可以在儀表板的“網路數據監控”部分中找到。根據您的使用案例,有許多選項可以優化資源消耗。
即使您需要在極度脆弱的嵌入式或物聯網系統上執行 Netdata,您也會發現 Netdata 可以調整為非常高效能。
你需要多少就多少!
Netdata 支援分層,以對過去的資料進行下採樣並節省磁碟空間。使用預設設置,它具有三層:
tier 0
,具有高解析度、每秒資料。
tier 1
,中等分辨率,每分鐘資料。
tier 2
,低分辨率,每小時資料。
所有層在資料收集期間並行更新。增加為 Netdata 提供的磁碟空間,以獲得更長的指標歷史記錄。根據時間範圍和請求的分辨率,在查詢時自動選擇層。
Netdata 旨在擴展並可以處理大量資料。
透過代理的流功能,我們可以支援監控臨時伺服器,但也允許創建“監控島”,其中指標聚合到一些伺服器(網路資料父級)以提高保留率或卸載生產系統。
?此外,Netdata Cloud 提供幾乎無限的水平可擴展性。它在查詢時將您擁有的所有 Netdata 父級「合併」到一個統一的基礎架構中。 Netdata Cloud 本身可能是有史以來最大的單一安裝監控平台,目前監控約 100k 線上伺服器,其中每天約有 10k 台伺服器變更狀態(新增/刪除)!
範例:以下圖表來自單一 Netdata 父級。正如您所看到的,244 個節點向其傳輸約 20k 正在運行的容器的指標。在這個特定的圖表上,每個容器有三個維度,因此總共執行了大約 60k 時間序列查詢來呈現它。
是的,你可以!
Netdata Agent 旨在跨時間分佈磁碟寫入。每個指標每 17 分鐘(1000 秒)刷新到磁碟,但指標以幾乎恆定的速率跨時間均勻刷新。此外,指標被打包到我們稱為extents
的更大區塊中,並在保存之前使用 ZSTD 進行壓縮,以最大限度地減少 I/O 操作的數量。
Netdata Agent 也為其所有資料庫操作採用直接 I/O。透過管理自己的緩存,Netdata 避免了系統快取負擔過重,從而促進與其他應用程式的和諧共存。
單節點代理(不是父節點)應具有大約50 KiB/s 或更低的恆定寫入速率,每分鐘都有一些高於該值的峰值(第1 層的刷新),每小時會有更高的峰值(第2 層的刷新)。
健康警報和機器學習運行查詢來評估其表達式並從指標模式中學習。這些也隨著時間的推移而傳播,因此讀取率也應該幾乎恆定。
為了讓 Netdata 完全不使用磁碟,我們建議如下:
使用資料庫模式alloc
或ram
停用將指標資料寫入磁碟。
配置串流傳輸以將所有指標即時推送到 Netdata 父級。 Netdata Parent 將在磁碟上維護該節點的指標。
在此節點上停用 ML 和運行狀況。 Netdata Parent 將為該節點執行這些操作。
使用 Netdata Parent 存取儀表板。
使用上述內容,生產系統上的 Netdata 代理將不使用磁碟。
Netdata 是一個「即用型」監控解決方案。 Prometheus 和 Grafana 是建立您自己的監控解決方案的工具。
Netdata 的速度也快得多,所需的資源也少得多,幾乎不會對其運行的伺服器造成任何壓力。有關效能比較,請查看此部落格。
首先,我們不得不說,作為時間序列資料庫的 Prometheus 和作為視覺化工具的 Grafana 都是出色的工具。
然而,我們認為這樣的設定缺少一個關鍵要素:Prometheus 和 Grafana 設定假設您了解有關收集的指標的所有信息,並且深入了解它們的結構,應該對它們進行查詢和可視化。
事實上,這樣的設定存在著許多問題。我們在現代堆疊中使用的大量技術、作業系統和應用程式使得任何一個人都不可能了解和理解任何事物的一切。我們定期從大型企業的 Netdata 用戶那裡得到評價,表示 Netdata 設法揭示他們不知道的問題、異常情況和問題,而他們甚至沒有辦法找到或排除故障。
因此,Netdata 與 Prometheus 和 Grafana 的最大區別在於,我們認為該工具需要更好地了解其組件、應用程式及其監控的指標。
與 Prometheus 相比,Netdata 需要的每個指標不僅僅是名稱、一些標籤和隨時間變化的值。 Netdata 中的指標是一種結構化實體,它以某種方式與其他指標相關聯,並具有描述如何組織、處理、查詢和視覺化的特定屬性。我們稱之為 NIDL(節點、實例、維度、標籤)框架。
維護這樣的索引是一個挑戰:首先,因為收集的原始指標不提供此信息,所以我們必須添加它,其次因為我們需要在每個指標的生命週期內維護此索引,這與我們當前的資料庫保留,一般是一年以上。
同時,由於資料庫分層,Netdata 提供了比 Prometheus 更好的保留能力,由於串流傳輸,比 Prometheus 更容易擴展,支援異常檢測,並且它有一個指標評分引擎,可以在需要時大海撈針。
與 Grafana 相比,Netdata 是完全自動化的。 Grafana 比Netdata 具有更多的自訂功能,但Netdata 本身提供了功能齊全的儀表板,最重要的是,它為您提供了理解、分析、過濾、切片和切塊資料的方法,而無需您編輯查詢或了解基礎指標可能具有的任何特殊性。
此外,為了在您需要大海撈針時為您提供幫助,Netdata 擁有由 Netdata 指標評分引擎提供的高級故障排除工具,使其能夠根據任何給定時間範圍內的異常率、差異或相似之處對指標進行評分。
不過,如果您已經熟悉 Prometheus 和 Grafana,Netdata 與它們可以很好地集成,並且我們有來自在生產中將 Netdata 與 Prometheus 和 Grafana 一起使用的用戶的報告。
借助 Netdata,您的資料始終位於本地,並且您的指標始終是高解析度的。
大多數商業監控提供者都面臨重大挑戰:他們將所有指標集中到其基礎設施中,這不可避免地是昂貴的。它引導他們進行以下一項或多項操作:
昂貴得不切實際
限制他們收集的指標數量
限制他們收集的指標的分辨率
因此,他們試圖找到一個平衡點:收集盡可能少的數據,但收集足夠的數據以從中獲得有用的東西。
在 Netdata,我們以完全不同的方式看待監控:監控系統應該自下而上建構並具有豐富的洞察力,因此我們單獨關注每個元件來收集、儲存、檢查和視覺化與每個元件相關的所有內容,並且我們確保所有組件都受到監控。每個指標都很重要。
這就是為什麼 Netdata 針對每個指標訓練多個機器學習模型,完全基於它們自己的過去(不採樣數據,不共享經過訓練的模型),以根據每個組件使用的特定用例和工作負載來檢測異常。
這也是 Netdata 警報附加到元件(實例)並配置動態閾值和滾動視窗而不是靜態值的原因。
Netdata 的分散特性有助於擴展此方法:您的資料分佈在基礎架構內部,盡可能靠近邊緣。 Netdata 不是一條資料通道。每個 Netdata 代理程式都是一個資料通道,它們一起建立一個龐大的分散式指標處理管道,確保您的所有基礎架構元件和應用程式都受到監控並以其應有的方式運作。
Netdata 提供即時、全面的監控,且無需任何自訂配置即可監控所有內容。
雖然 Nagios、Icinga、Zabbix 和其他類似工具功能強大且高度可定制,但它們的設定和管理可能很複雜。它們的靈活性通常是以易用性為代價的,特別是對於非系統管理員或對這些工具沒有豐富經驗的使用者而言。此外,這些工具通常要求您事先知道要監視的內容並對其進行明確配置。
另一方面,Netdata 採用了不同的方法。它提供了「即用型」監控解決方案,注重簡單性和全面性。它開箱即用地自動檢測並開始監控許多不同的系統指標和應用程序,無需任何自訂配置。
與這些傳統監控工具相比,Netdata:
提供即時、高解析度的指標,而不是 Nagios、Icinga 和 Zabbix 等工具提供的通常為分鐘級的粒度。
自動產生所收集資料的有意義、有組織且互動的視覺化。與您必須手動建立和組織圖表和儀表板的其他工具不同,Netdata 會為您處理這一切。
將機器學習應用於每個單獨的指標以檢測異常,提供比靜態閾值更具洞察力和相關性的警報。
設計為分散式,因此您的資料分佈在基礎設施內部,盡可能靠近邊緣。這種方法更具可擴展性,並且避免了單一集中式伺服器的潛在瓶頸。
具有更現代和用戶友好的介面,允許任何人(不僅僅是經驗豐富的管理員)輕鬆評估其係統的運作狀況和性能。
即使您已經在使用 Nagios、Icinga、Zabbix 或類似工具,您也可以將 Netdata 與它們一起使用,透過即時洞察和用戶友好的儀表板來增強現有的監控功能。
Netdata 旨在提供全面的見解,但我們知道資訊的豐富性有時可能會讓人感到不知所措。以下是有關如何有效導航和使用 Netdata 的一些提示...
Netdata確實是一個非常全面的監控工具。它旨在為您提供盡可能多的有關您的系統和應用程式的信息,以便您可以了解並解決出現的任何問題。然而,我們知道,數據量有時可能令人難以承受。
以下是有關如何管理和瀏覽這些豐富資訊的一些建議:
從指標儀表板開始
Netdata 的指標儀表板提供系統狀態的進階摘要。我們幾乎在每個部分都添加了摘要圖塊,您可以揭示更重要的資訊。這是一個很好的起點,因為它可以幫助您一目了然地識別任何主要問題或趨勢。
使用搜尋功能
如果您正在尋找特定信息,可以使用搜尋功能來查找相關指標或圖表。這可以幫助您避免滾動瀏覽所有數據。
客製化您的儀表板
Netdata 可讓您建立自訂儀表板,這可以幫助您專注於對您最重要的指標。登入 Netdata,您可以在其中擁有自訂儀表板。 (也即將出現在代理儀表板中)
利用 Netdata 的異常檢測
Netdata 使用機器學習來偵測指標中的異常情況。這可以幫助您在潛在問題變成重大問題之前識別它們。我們在儀表板目錄上方新增了一個AR
按鈕,用於顯示每個部分的異常率,以便您可以發現需要注意的內容。
利用 Netdata 的文檔和博客
Netdata 擁有大量文檔,可以幫助您了解不同的指標以及如何解釋它們。您還可以在那裡找到教程、指南和最佳實踐。
請記住,沒有必要立即了解每個指標或圖表。 Netdata 是一個強大的工具,可能需要一些時間才能充分探索和理解其所有功能。從基礎知識開始,當您對工具更加熟悉時,逐漸深入研究更複雜的指標。
Netdata Cloud 提供 Netdata 提供的全套特性和功能,包括免費社群層。
雖然我們的預設入職流程鼓勵用戶利用 Netdata Cloud,包括免費試用我們的完整業務產品一個月,但這並不是強制性的。使用者可以完全繞過此過程,仍然使用 Netdata 代理和 Netdata UI,而無需註冊 Netdata Cloud。
Netdata Agent 儀表板和 Netdata Cloud 儀表板相同。儘管如此,Netdata Cloud 仍提供了 Netdata Agent 所沒有的附加功能。這些包括:
從任何地方存取您的基礎設施。
使用 SSO 來保護敏感功能。
可自訂(登入 Netdata Cloud 後,自訂儀表板和其他設定將保留)
從 UI 配置警報和資料收集
安全性(基於角色的存取控制)。
水平可擴展性(將多個獨立父級「混合」在統一的基礎設施中)
集中發送警報通知(即使涉及多位獨立家長)
用於警報通知的行動應用程式
我們鼓勵您透過購買 Netdata Cloud 訂閱來支援 Netdata。成功的 Netdata 是不斷發展和改進的 Netdata,為我們所有人提供更簡單、更快、更容易的監控。
對於需要完全本機部署解決方案的組織,我們提供用於本機安裝的 Netdata Cloud。聯絡我們以了解更多資訊。
您的隱私是我們的首要任務。作為我們改進 Netdata 承諾的一部分,我們依賴選擇啟用該功能的使用者的匿名遙測資料。這些數據為我們的決策過程提供了極大的信息,並為 Netdata 的未來發展做出了貢獻。
如果您希望停用遙測,我們的安裝指南中提供了相關說明。
Netdata 處於不斷成長和演變的狀態。指導這一發展的決策理想地植根於數據。透過分析匿名遙測數據,我們可以回答諸如「哪些功能被頻繁使用?」、「我們如何確定潛在新功能的優先順序?」等問題。以及“Netdata 的哪些元素對我們的用戶最重要?”
透過啟用匿名遙測,使用者間接地為制定 Netdata 的路線圖做出了貢獻,提供了寶貴的信息,幫助我們確定專案和社區工作的優先順序。
我們知道,出於隱私或監管原因,並非所有環境都允許遙測。為了滿足這一點,我們簡化了禁用遙測的過程:
在安裝過程中,您可以將--disable-telemetry
附加到我們的kickstart.sh
腳本中,或者
建立檔案/etc/netdata/.opt-out-from-anonymous-statistics
,然後重新啟動 Netdata。
這些步驟將停用 Netdata 安裝的匿名遙測功能。
請注意,即使停用遙測,Netdata 仍需要 Netdata 註冊表來實現警報通知的號召性用語 (CTA) 功能。當您按一下警報通知時,它會將您重定向到 Netdata 註冊表,然後該註冊表將您的 Web 瀏覽器導向發出警報的特定 Netdata 代理程式以進行進一步故障排除。當您存取代理程式的儀表板時,Netdata 註冊表會了解代理程式的 URL。
任何網路資料代理程式都可以充當網路資料註冊表。指定一個 Netdata 代理程式作為您的註冊表,我們的全球 Netdata 註冊表將不再使用。有關這方面的更多信息,請參閱本指南。
Netdata 是一個廣泛採用的項目...
瀏覽 GitHub 上的 Netdata stargazers,發現來自荷蘭銀行、AMD、亞馬遜、百度、Booking.com、思科、達美航空、Facebook、谷歌、IBM、英特爾、羅技、Netflix、諾基亞、高通等知名公司和企業的用戶、Realtek Semiconductor Corp、Redhat、Riot Games、SAP、Samsung、Unity、Valve 等。
Netdata 在學術界也得到了廣泛的應用,著名機構包括紐約大學、哥倫比亞大學、新澤西大學、首爾國立大學、倫敦大學學院等。
而且,Netdata 也被全球許多政府組織使用。
簡而言之,Netdata 被證明具有無價的價值:
基礎設施密集型組織
例如託管/雲端供應商和擁有數百或數千個節點的公司,他們需要高解析度、即時監控解決方案來全面查看其所有組件和應用程式。
科技營運商
需要標準化、全面的解決方案來實現全天候營運的客戶。 Netdata 不僅促進營運自動化並為其營運工程師提供受控訪問,而且隨著時間的推移還可以增強技能發展。
科技新創公司
從一開始就尋求功能豐富的監控解決方案的人。
自由工作者
他們尋求簡單、高效和直接的解決方案,但又不犧牲性能和結果。
專業系統管理員和 DevOps
他們欣賞細節並從頭開始理解整體監控的價值。
其他人
我們所有人都厭倦了監控行業的低效率,希望有令人耳目一新的變化和呼吸新鮮空氣。 ?
Netdata Agent是開源的,但整個 Netdata 生態系統是一個混合解決方案,結合了開源和封閉原始碼元件。
開源意味著與世界共享知識產權,在 Netdata,我們全心全意地信奉這一理念。
Netdata Agent是我們生態系的核心,也是我們所有可觀察性功能背後的引擎,是完全開源的。 Netdata Agent 已獲得GPLv3+ 許可,代表了我們對各種可觀測性技術的開源創新的承諾,包括資料收集、資料庫設計、查詢引擎、可觀測資料建模、機器學習和無監督異常檢測、高效能邊緣運算、即時監控等。
Netdata Agent 是我們送給世界的禮物,確保每個人都可以免費使用我們開發的尖端技術。
然而,作為一家私人公司,我們也需要將開源軟體貨幣化,以證明產品與市場的契合性並維持我們的成長。
傳統上,開源專案通常使用開放核心模型,其中軟體的基本版本是開源的,並且為商業閉源版本保留附加功能。這種方法可能會限制先進創新的獲取,因為其中大多數仍然是閉源的。
在 Netdata,我們採取了略有不同的路徑。我們不會創建我們產品的單獨企業版本。相反,所有用戶(無論是商業用戶還是非商業用戶)都使用相同的 Netdata 代理,確保我們所有的可觀察性創新始終是開源的。
要體驗 Netdata 生態系統的全部功能,使用者需要將開源元件與我們的封閉原始碼產品結合。完整的產品仍然可以免費使用。
閉源元件包括:
Netdata UI :這是封閉原始碼的,但可以免費與 Netdata Agents 和 Netdata Cloud 一起使用。它還可以透過 CDN 公開提供。
Netdata Cloud :一種商業產品,可作為本地安裝和 SaaS 解決方案使用,並具有免費社區層。
透過平衡開源和閉源組件,我們確保所有用戶都能獲得我們的創新成果,同時保持我們作為一家公司的發展和創新能力。
Netdata 透過訂閱 Netdata Cloud 的高階功能以及銷售 Netdata Cloud 的本機和私有版本來產生收入。
Netdata 透過以下活動產生收入:
Netdata 雲端訂閱
我們專案願景的直接資金來自訂閱 Netdata Cloud 高階功能的使用者。
Netdata 本機雲或私有雲
購買 Netdata Cloud 的本地或私有版本可支援我們的財務成長。
我們的開源社群和免費存取 Netdata Cloud 透過以下方式為 Netdata 做出貢獻:
Netdata雲端社群使用
Netdata Cloud的免費使用證明了其市場相關性。雖然這不會產生收入,但它增強了新用戶之間的信任,並有助於確保適當的專案資金。
使用者回饋
回饋,尤其是問題和錯誤報告,是非常寶貴的。它引導我們開發出更有彈性、更有效率的產品。這也不是收入來源,但對我們專案的發展至關重要。
匿名遙測見解
啟用匿名遙測的使用者可以幫助我們在完善和增強 Netdata 方面做出資料明智的決策。這不是收入來源,但了解使用哪些功能以及如何使用,有助於為每個人建立更好的產品。
我們不會直接或間接地將使用者或「設備啟發式」資料貨幣化。從社區成員收集的任何數據僅用於上述目的。
當技術密集型組織和營運商出於監管或業務要求而需要整個本地或私人 Netdata 套件並捆綁頂級支援時,Netdata 的財務就會成長。對於所有相關方來說,這是一個雙贏的案例:這些公司獲得了經過實戰檢驗、強大且可靠的解決方案,而幫助我們構建該產品的更廣泛的社區則免費享受它。
Netdata 的文檔可在Netdata Learn上找到。
該網站還提供許多指南,幫助新用戶更了解如何收集指標、透過圖表排除故障、匯出到外部資料庫等。
Netdata 是一個包容性的開源專案和社群。請閱讀我們的行為準則。
加入網路數據社群:
在 Discord 上與我們和其他社群成員聊天。
在 GitHub 討論上發起討論。
在我們的社區論壇中開啟一個主題。
見面
Netdata 團隊和社群成員定期舉辦線上聚會。
歡迎您加入我們!按此處查看時間表。
您也可以在以下位置找到 Netdata:
推特 | YouTube |紅迪網 |領英 |堆疊共享 |產品搜尋 |譴責| Facebook
貢獻對於開源專案的成功至關重要。換句話說,我們需要您的幫助來保持 Netdata 的偉大!
什麼是貢獻?以下所有內容對於 Netdata 都非常有價值:
讓我們知道您認為應該標準化的最佳實踐
Netdata 應該開箱即用地偵測盡可能多的基礎設施問題。透過分享您的知識和經驗,您可以幫助我們建立監控解決方案,該解決方案融入了有關基礎設施監控的所有最佳實踐。
如果 Netdata 不適合您的用例,請告訴我們
我們的目標是支援盡可能多的用例,您的回饋非常寶貴。開啟 GitHub 問題,或啟動有關該問題的 GitHub 討論,討論您希望如何使用 Netdata 以及您需要什麼。
儘管我們無法實現所有可以想像的事情,但我們嘗試優先開發社群常見的用例,這些用例與我們希望 Netdata 發展的方向相同,並且與我們的路線圖保持一致。
支持其他社區成員
加入我們在 GitHub、Discord 和 Reddit 上的社群。一般來說,Netdata 相對容易設定和配置,但人們可能仍需要一點點推動正確的方向才能有效地使用它。支持其他會員本身就是一個巨大的貢獻!
添加或改進您需要的集成
整合的開發往往更加容易和簡單。如果您想向 Netdata 貢獻程式碼,我們建議您從所需的整合開始,但 Netdata 目前不支援這些整合。
有關貢獻的一般資訊:
檢查我們的安全政策。
發現錯誤?開啟 GitHub 問題。
請閱讀我們的貢獻指南,其中包含您為 Netdata 做出貢獻所需的所有信息,例如改進我們的文件、參與社區以及開發新功能。我們已盡可能做到無摩擦,但如果您需要幫助,只需在我們的社區論壇上聯繫我們即可!
套件維護者應閱讀有關從原始程式碼建立 Netdata 的指南,以取得從原始程式碼建置每個 Netdata 元件並準備套件的說明。
Netdata生態係由三個關鍵部分組成:
Netdata Agent :Netdata Agent 是 Netdata 生態系統的核心,是一個開源工具,必須安裝在 Netdata 監控的所有系統上。它提供了廣泛的基本功能,包括透過各種外掛程式進行資料收集、嵌入式高效能時間序列資料庫 (dbengine)、由邊緣訓練的機器學習支援的無監督異常檢測、警報和通知以及查詢和評分具有相關API 的引擎。此外,它還支援將資料匯出到第三方監控系統等功能。
Netdata Agent 在 GPLv3+ 授權下發布,並重新分發了 Netdata Agent 第三方授權中列出的其他幾個開源工具和程式庫。
Netdata Cloud :一個商業封閉原始碼元件,Netdata Cloud 透過提供水平可擴展性、集中警報通知調度(包括行動應用程式)、使用者管理、基於角色的存取控制等來增強開源 Netdata Agent 的功能企業級功能。它既可以作為 SaaS 解決方案使用,也可以用於本地部署,還提供免費使用的社群層。
Netdata UI :Netdata UI 是閉源的,處理與指標、日誌和其他收集的資料相關的所有視覺化和儀表板功能,以及 Netdata 生態系統的中央配置和管理。它為 Netdata Agent 和 Netdata Cloud 提供服務。 Netdata UI 以二進位形式與 Netdata 代理程式一起分發,並可透過 CDN 公開訪問,並根據 Netdata 雲端 UI 授權 1 (NCUL1) 進行授權。它整合了第三方開源元件,詳細資訊請參閱 Netdata UI 第三方授權。
Netdata提供的二進位安裝包包括Netdata Agent和Netdata UI。由於Netdata Agent 是開源的,因此它經常由第三方(例如Linux 發行版)打包,不包括封閉原始碼元件(不包括Netdata UI)。雖然他們的軟體包在提供功能齊全的監控解決方案所需的後端和 API 方面仍然有用,但我們建議使用我們提供的安裝套件來體驗 Netdata 的完整功能集。