久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Ubuntu上如何使用Netdata設置實時性能監控

152次閱讀
沒有評論

共計 7795 個字符,預計需要花費 20 分鐘才能閱讀完成。

這篇“Ubuntu 上如何使用 Netdata 設置實時性能監控”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Ubuntu 上如何使用 Netdata 設置實時性能監控”文章吧。

介紹

netdata 通過可擴展的 web 儀表板提供準確的性能監控,可以顯示 linux 系統上的流程和服務。它監控有關 cpu,內存,磁盤,網絡,進程等的指標。

netdata 一旦安裝就不需要額外的配置,但提供了重要的定制。該應用程序的效率和速度旨在與本機控制臺管理工具(如 vmstat,iostat 和 htop)相媲美。

準備

要學習本教程,您需要:

一個 ubuntu 16.04 服務器,包括具有 sudo 權限的非 root 用戶。

服務器上安裝 git。

(可選)在服務器上安裝 nginx。這不是強制性的,但允許比 netdata 的內置 web 服務器更多的功能和安全性。

第一步 – 安裝 netdata

在我們安裝任何東西之前,請確保系統包索引是最新的。

$ sudo apt-get update

接下來,安裝 netdata 的依賴項,其中包括 gcc(一個 c 編譯器),gnu autoconf 工具,guid 管理和 netdata 內部 web 服務器的壓縮庫。

$ sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl

下一組軟件包是可選的,但 netdata 推薦使用,包括 python,一些 python 軟件包和 node.js。與系統包管理器捆綁在一起的穩定版 node.js 適用于 netdata 的要求。接下來安裝它們。

$ sudo apt-get install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat

要安裝 netdata 本身,我們必須使用項目的 github 存儲庫。將 netdata 存儲庫克隆到您的主目錄中。

$ git clone https://github.com/firehol/netdata.git –depth=1 ~/netdata

移至新克隆的目錄。

$ cd ~/netdata

現在使用此目錄中的 netdata-installer.sh shell 腳本構建和安裝應用程序。確保在這里附加 sudo,否則 netdata 收集系統數據的方式(通過數據收集器)將無法正常運行。

$ sudo ./netdata-installer.sh

您最初將看到的輸出包含有關 netdata 將存儲其所有組件的位置的信息。您可以通讀這些內容,這樣您就可以更熟悉程序在安裝后如何在文件系統上展開。

installer output
. . .
 it will be installed at these locations:
 - the daemon at /usr/sbin/netdata
 - config files at /etc/netdata
 - web files at /usr/share/netdata
 - plugins at /usr/libexec/netdata
 - cache files at /var/cache/netdata
 - db files at /var/lib/netdata
 - log files at /var/log/netdata
 - pid file at /var/run
. . .

按 enter 繼續安裝。片刻之后,在輸出的末尾,您將看到以下消息:

installer output
. . .
 ^
 |.-. .-. .-. .-. .-. . netdata .-. .-
 |  -   -   -   -   -  is installed and running now! -   -  
 +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--- 
 enjoy real-time performance and health monitoring...

netdata 現在已成功安裝并運行,并且在重新啟動服務器時也會自動運行。如果您啟用了 ufw,您需要為 netdata 的內部 web 服務器打開端口 19999。

$ sudo ufw allow 19999/tcp

此時,您可以通過在您喜歡的瀏覽器中訪問 http:// your_server_ip:19999/ 來查看默認儀表板。您將看到系統的實時指標的概述。

第二步 – 配置 netdata 的內存使用情況

您可以通過在瀏覽器中訪問 http://your_server_ip:19999/netdata.conf 查看 netdata 的當前配置。

您將在此處看到所有(或大多數)可配置選項都已注釋掉(即以 #開頭)。這是因為 netdata 的配置使用一組假定的默認值。任何禁用的設置都使用 netdata 的默認值; 如果取消注釋某個設置,則指定的值將覆蓋默認值。這使配置文件僅包含您修改的內容。

回到您的服務器上,配置文件本身就是 /etc/netdata/netdata.conf。我們將在本教程中自定義的選項是 history 參數。它控制 netdata 使用的內存數據庫的大小。

在這里,您需要確定要為 netdata 提供多少 ram,或者在丟失之前將記錄的圖表數據保留多長時間:

3600 秒(圖表數據保留 1 小時)使用 15 mb ram

7200 秒(圖表數據保留 2 小時)使用 30 mb ram

14400 秒(圖表數據保留 4 小時)使用 60 mb ram

28800 秒(圖表數據保留 8 小時)使用 120 mb ram

43200 秒(圖表數據保留 12 小時)使用 180 mb ram

86400 秒(24 小時圖表數據保留)使用 360 mb ram

請記住,上述估算是基于庫存儀表板使用的圖表數量。將來刪除或添加自定義圖表會影響這些估算值。

使用 nano 或您喜歡的文本編輯器打開 netdata 的主配置文件。

$ sudo nano /etc/netdata/netdata.conf

找到 [global] 部分中的 history 選項。

/etc/netdata/netdata.conf

復制代碼   代碼如下:

. . .[global] # glibc malloc arena max for plugins = 1. . . # hostname = test-netdata # history = 3600 # update every = 1. . .

將 3600 值替換為您之前決定的值。在這里,我們正在使用 14400,這為我們提供了 4 小時的數據保留。確保通過除 #符號來取消注釋該行,以便 netdata 不再忽略此選項。

/etc/netdata/netdata.conf

. . .
[global]
 # glibc malloc arena max for plugins = 1
. . .
 # hostname = test-netdata
 # history = 3600
 # update every = 1
. . .

進行此更改后保存并關閉文件。雖然這種修改可能會增加 netdata 將使用的 ram 量,但我們將在下一步中實施的下一個修改應該會顯著減少它。

第三步 – 啟用內核同頁合并

即使 netdata 直接運行并初始情況下使用,我們可以對 netdata 使用系統資源的方式進行更多修改,這將加速并優化其性能。我們將從啟用內核同頁合并(簡稱 ksm)開始。netdata 開發人員估計這會將 netdata 的內存使用量降低 40-60%。

啟用后,ksm 守護程序會定期掃描內存,查找可由單個寫保護頁替換的相同內容的頁面。在此上下文中,它允許在系統上運行的不同進程或程序之間共享相同的內存頁。這減少了不必要的重復內存內容的創建。

要永久啟用 linux 系統內核的此方面,請使用文本編輯器打開 /etc/rc.local 文件。

復制代碼   代碼如下:

$ sudo nano /etc/rc.local

在啟動所有其他正常 linux 系統服務和進程之后,將執行 /etc/rc.local 文件或運行控制文件。它對于指定自定義服務很有用 - 或者,在我們的示例中,用于在服務器運行時啟用 ksm。

將下面顯示的兩個命令添加到文件末尾,在最后 exit 0 一行之前,如下所示:

/etc/rc.local

#!/bin/sh -e
# rc.local
# this script is executed at the end of each multiuser runlevel.
# make sure that the script will  exit 0  on success or any other
# value on error.
# in order to enable or disable this script just change the execution
# bits.
# by default this script does nothing.
echo 1   /sys/kernel/mm/ksm/run
echo 1000   /sys/kernel/mm/ksm/sleep_millisecs
exit 0

echo 1 /sys/kernel/mm/ksm/run  第一個命令將 1 添加到 runksm 內核文件中,該文件啟用該功能。第二個命令 echo 1000 /sys/kernel/mm/ksm/sleep_millisecs  告訴 ksm 守護程序每秒運行一次并評估 100 個頁面以進行重復數據刪除。

保存并關閉文件后,ksm 現在將在下次服務器重新啟動時啟用,并在將來重新啟動時保留。要在此服務器的當前正常運行時間內啟用它,您需要在命令行上手動運行您添加到 rc.local 的兩個命令。

首先,通過在 sudo 中使用 - s 標志,啟動并輸入新的 shell 會話作為服務器的 root 用戶。這是必要的,因為早期的兩個命令使用輸出重定向(通過 運算符)并且需要由 root shell 執行才能成功。

$ sudo -s

現在輸入之前的兩個命令:

echo 1 /sys/kernel/mm/ksm/runecho 1000 /sys/kernel/mm/ksm/sleep_millisecs

然后,保留 root shell 并返回正常的 shell 會話。

$ exit

最后,要應用我們在此步驟以及此前的步驟中執行的所有更改,我們必須重新啟動 netdata。

$ sudo systemctl restart netdata

您可以通過在 netdata 儀表板中查找新添加的活動 ksm 圖表來驗證 ksm 現在是否已啟用。這可以在右側菜單樹中的 memory memory deduper 下找到。

ksm chart image

現在我們知道儀表板和 ksm 正在運行,值得通過像 nginx 這樣的 web 服務器而不是內置的 web 服務器來訪問儀表板。這不是完全必要的,但建議使用,因此請按照下一步進行設置。

第四步 – 通過 nginx 托管儀表板(可選)

通過 nginx 托管 netdata 可以更輕松地保護對儀表板的訪問,并且如果需要,還可以讓您在將來指向其他服務器的 netdata 儀表板。

您還需要安裝 apache2-utils 軟件包。該軟件包包含 htpasswd 程序,稍后我們將需要該程序來保護對儀表板頁面的訪問。

$ sudo apt-get install apache2-utils

接下來,創建一個新的 nginx 主機配置文件。請注意,在這里,我們在 /conf.d 目錄中使用了一個文件,但是如果您使用 nginx 進行 netdata 以外的其他操作,則可以使用 /sites-available 和 / sites-enabled。

$ sudo nano /etc/nginx/conf.d/default.conf

此配置文件將告訴 nginx 代理儀表板頁面的傳入請求。我們還將添加一個簡單的身份驗證提示,以便只有具有正確用戶名和密碼的人才能訪問它。

以下是您要復制和粘貼的整個配置文件。將上述 listen 和 server_name 指令的兩個紅色突出顯示項分別更改為服務器的 ip 地址和分配的域名。注意在每個末尾包括;。如果您沒有域名,可以將 server_name 指令保留為 example.com。

/etc/nginx/conf.d/default.conf

upstream netdata-backend {
 server 127.0.0.1:19999;
 keepalive 64;
server {
 listen your_server_ip:80;
 server_name example.com;
 auth_basic  authentication required 
 auth_basic_user_file netdata-access;
 location / {
 proxy_set_header x-forwarded-host $host;
 proxy_set_header x-forwarded-server $host;
 proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
 proxy_pass http://netdata-backend;
 proxy_http_version 1.1;
 proxy_pass_request_headers on;
 proxy_set_header connection  keep-alive 
 proxy_store off;
 }
}

一旦確定自己的文件與此代碼塊匹配,就可以保存并退出以返回到命令提示符。

讓我們解釋一下這個文件,讓你了解它在做什么。這是第一部分:

/etc/nginx/conf.d/default.conf

upstream netdata-backend {server 127.0.0.1:19999; keepalive 64;}

這個名為 netdata-backend 的 upstream 模塊使用服務器的環回地址 127.0.0.1 和 netdata 的端口 19999 來定位內置的 netdata web 服務器。keepalive 指令設置在任何給定時間(對于每個 nginx 工作進程)可以保持打開的上游空閑連接的最大數量。proxy_pass 指令稍后需要此 upstream 模塊定義。

在此之后直接是主要 server 塊。

/etc/nginx/conf.d/default.conf

upstream netdata-backend {
 server 127.0.0.1:19999;
 keepalive 64;
}

塊中的前兩行定義了 nginx 在客戶端嘗試連接時應該 listen 的外部 ip 地址。server_name 指令告訴 nginx 在客戶端使用指定的域名時運行此服務器塊。

此代碼段中的最后兩行設置了簡單的 http 用戶名和密碼身份驗證。它使用 auth_basic 模塊顯示用戶名和密碼提示。您可以自定義提示消息;

在這里,它設置為 authentication required。auth_basic_user_file 指定用于存儲身份驗證提示的登錄憑據的文件名和位置,稍后在此步驟中創建。

最后一個 location 塊嵌套在 server 塊內, 處理代理并將傳入的請求傳遞給 nginx。

/etc/nginx/conf.d/default.conf

server {
 listen your_server_ip:80;
 server_name example.com;
 auth_basic  authentication required 
 auth_basic_user_file netdata-access;

總而言之,此代碼是將客戶端請求傳遞給 netdata web 服務器,然后是儀表板的代碼。proxy_pass 指令行引用回文件開頭的 upstream 模塊必須通過名稱 netdata-backend 指向它。

如果尚未安裝,則可以保存并關閉此配置文件。這里是 apache2-utils 包中的 htpasswd 程序幫助我們為儀表板登錄提示創建用戶登錄憑據的地方。

首先,我們將創建用戶名和密碼。運行以下命令,將 sammy 替換為您要在 netdata 中使用的用戶名。出現提示時,輸入您要使用的密碼。

$ sudo htpasswd -c /etc/nginx/netdata-access sammy

這將在 /etc / nginx / netdata-access 中創建一個包含您提供的用戶名和密碼的文件。

生成的密碼在文件中加密,因此不能將其視為純文本。

重新啟動 nginx 以使我們添加的新配置處于活動狀態。

$ sudo systemctl restart nginx

要首次測試 nginx 配置,請在您喜歡的 web 瀏覽器訪問 http://your_server_ip。您將看到身份驗證提示。輸入您在此步驟中先前提供的用戶名和密碼,以訪問儀表板,我們將在第五步中進行探討。

第五步 – 探索儀表板

如果您沒有按照可選第四步進行操作,請立即在您喜歡的瀏覽器訪問 http://your_server_ip:19999/ 以訪問儀表板。

您將看到儀表板以及系統實時指標的概述。當您在后續圖形中的每個時間段上鼠標懸停時,頁面頂部的 hud 樣式指示器會發生變化。

hud indicators image

此概述部分中的各個圖形和圖表提供了每個系統方面的詳細說明,范圍從 cpu 到內存到網絡流量等。

cpu chart example

圖表是交互式的,可以使用鼠標按鈕向左或向右拖動,以在不同的時間間隔內來回平移。

ram chart example

按住 shift 并使用鼠標滾輪在圖形上滾動或滾出將縮小或加寬時間標記。雙擊圖表將其重置為默認外觀和視圖。

network chart example

在儀表板上導航的最快方法是使用頁面右側的菜單樹。這會根據您當前正在查看的頁面部分更改焦點和顏色。

menu tree

向下滾動頁面或使用菜單樹可以訪問更深入的圖表。這些非常詳細,并且以與初始概述部分中的圖表相同的方式進行控制。

menu tree image

netdata 提供了許多這些額外的特定于統計數據的圖表。

gui 的一個重要部分是更新頁面。netdata 定期接收更新,并使您的安裝保持最新狀態。儀表板頂部包含一個“更新”按鈕,可用于檢查新版本是否可供下載。

update button image

單擊此按鈕將打開一個包含更多詳細信息的新菜單,并打開“立即檢查”按鈕以手動檢查更新。

update check details image

如果有可用的更新,您只需要從 netdata git 存儲庫運行提供的更新腳本,我們在第一步中將其克隆到 linux 用戶的主目錄。也就是說,當更新可用時,只需從命令行運行 sudo ~/netdata/netdata-updater.sh。

         

以上就是關于“Ubuntu 上如何使用 Netdata 設置實時性能監控”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計7795字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 花莲县| 邹城市| 临西县| 涟水县| 亚东县| 鄂温| 定兴县| 汪清县| 班玛县| 章丘市| 拜泉县| 南投县| 凤凰县| 阿荣旗| 西乡县| 桓台县| 沙田区| 河南省| 延安市| 舟山市| 自治县| 普陀区| 宁都县| 弥渡县| 哈巴河县| 新丰县| 民和| 翁牛特旗| 唐河县| 台江县| 广河县| 曲麻莱县| 门头沟区| 和林格尔县| 舞阳县| 清水河县| 剑川县| 海阳市| 综艺| 巫溪县| 五河县|