您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux下NetData工具的搭建方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
從Github上能夠看到netdata的主要功能,主要有幾點:
interactive bootstrap dashboards, 酷炫
所有請求每個metreic都在0.5ms內響應,即便是一臺爛機器
非常高效,每秒采集數千個指標,但僅占cpu單核1%,少量MB的內存以及完全沒有磁盤IO
提供復雜的、各種類型的告警,支持動態閾值、告警模板、多種通知方式等
可擴展,使用自帶的插件API(比如bash, python, perl, node.js, java, go, ruby等)來收集任何可以衡量的數據
零配置:安裝后netdata會自動的監測一切
零依賴:netdata有自己的web server, 提供靜態web文件和web API
零維護:只管跑上!
支撐多種時間序列后端服務,比如graphite, opentsdb, prometheus, json document DBs
NetData工作界面
系統環境:
Centos7
下載安裝netData
# 下載項目代碼 ? git clone https://github.com/firehol/netdata.git # 安裝變異所需要的包 ? yum -y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig # 運行自帶的安裝啟動腳本 ? cd ./netdata ? ./netdata-installer.sh
安裝啟動腳本時,提示netData安裝的詳細目錄,按下Enter鍵執行。
安裝啟動腳本
啟動和配置
安裝完成后,腳本輸出一段信息,包括:KSM、端口、啟動命令
開啟 KSM 以節省儲存占用
如果有下列信息,說明你的系統有 KSM,但是未啟用,可以按照說明執行兩句echo命令,節省 40-60% 的儲存空間。
--- Check KSM (kernel memory deduper) --- Memory de-duplication instructions You have kernel memory de-duper (called Kernel Same-page Merging, or KSM) available, but it is not currently enabled. To enable it run: echo 1 >/sys/kernel/mm/ksm/run echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs If you enable it, you will save 40-60% of netdata memory.
web端口配置
默認的web訪問端口為19999。
netdata by default listens on all IPs on port 19999, so you can access it with: http://this.machine.ip:19999/
如果修改端口,需要編輯配置文件/etc/netdata/netdata.conf 中的 # default port = 19999。去掉注釋符號#,端口盡量改掉默認的19999 !!!
修改端口后重啟生效。
如果有防火墻,需開放端口(CentOS7使用firewalld)。
修改web端口
啟動/關閉netData
# 停止 ? systemctl stop netdata # 啟動 ? systemctl start netdata # 重啟 ? systemctl restart netdata # 開機啟動 ? systemctl enable netdata # 卸載 ? ./netdata-uninstaller.sh --force
至此,NetData安裝啟動完畢,可以通過http://host_ip:port 進行訪問,無需賬號密碼。
下面將結合Nginx設置賬號密碼。
使用Nginx配置域名訪問,設置賬號密碼授權
由于netdata沒有帳號密碼體系,為保護服務器隱私,我們要使用nginx反向代理配置域名訪問,并使用賬號密碼授權。
事先準備:
如果服務器沒有Nginx,安裝: yum install nginx
netdata的域名,如: netdata.example.com
生成Nginx密碼文件
# 密碼文件存放位置自定義,路徑需記錄下來,放在Nginx配置中。 ? printf "netdata:$(openssl passwd -apr1)" > /usr/local/nginx/conf/htpasswd
配置nginx.conf
在 ...nginx/conf.d 中創建netdata.conf文件,寫入如下內容,適當修改端口號、域名、auth_basic_user_file。
upstream backend { # the netdata server,請修改具體端口號 server 127.0.0.1:19999; keepalive 64; } server { # nginx listens to this listen 80; # the virtual host name of this,請求改具體域名 server_name netdata.example.com; # auth password auth_basic "netdata Login"; # 上一步生成的密碼文件路徑 auth_basic_user_file /usr/local/nginx/conf/htpasswd; 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://backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; } }
重啟nginx
# 密碼文件存放位置自定義,路徑需記錄下來,放在Nginx配置中。 ? systemctl reload nginx
重啟Nginx后,可以直接通過域名netdata.example.com訪問,并且需要輸入賬號和密碼。但是依然可以通過http://IP:Port的方式訪問,接下來禁用IP訪問。
NetData禁用外部IP請求
打開NetData配置文件:/etc/netdata/netdata.conf,web項的 bind to修改如下:
[web] bind to = 127.0.0.1 ::1
重啟NetData: systemctl restart netdata
“Linux下NetData工具的搭建方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。