Cách cài đặt và giám sát dịch vụ bằng Netdata Monitoring Tool trên Debian 12

theanh

Administrator
Nhân viên
Netdata là một hệ thống giám sát mã nguồn mở dành cho các hệ điều hành dựa trên Linux. Nó cung cấp hiệu suất và giám sát theo thời gian thực bằng cách sử dụng các bảng điều khiển đẹp và chi tiết. Nó cung cấp hàng trăm công cụ để giám sát máy chủ, CPU, mức sử dụng bộ nhớ, quy trình hệ thống, mức sử dụng đĩa, mạng IPv4 và IPv6, tường lửa hệ thống và các ứng dụng như Nginx, MySQL, MongoDB, Redis, ElasticSearch, PostgreSQL, PHP-FPM, v.v. Nó tích hợp với các công cụ giám sát khác như Prometheus, Graphite, Kafka, Grafana, v.v.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và giám sát nhiều dịch vụ khác nhau bằng Netdata trên máy chủ Debian 12. Bạn cũng sẽ sử dụng nó để theo dõi số liệu của ngăn xếp LEMP và công cụ Docker.

Điều kiện tiên quyết​


  • Máy chủ chạy Debian 12.

  • Người dùng không phải root có quyền sudo.

  • Tên miền đủ điều kiện (FQDN) như netdata.example.com trỏ đến máy chủ của bạn.

  • Tài khoản SMTP có dịch vụ email như Amazon SES hoặc Mailgun.

  • Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo apt update
$ sudo apt upgrade
[*]
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.

Bước 1 - Cấu hình Tường lửa​

Bước đầu tiên là cấu hình tường lửa. Debian đi kèm với ufw (Uncomplicated Firewall) theo mặc định.

Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Bạn sẽ nhận được kết quả sau.
Mã:
Status: inactive
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Mã:
$ sudo ufw allow OpenSSH
Cho phép cả cổng HTTP và HTTPS.
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Kích hoạt Tường lửa
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Kiểm tra lại trạng thái của tường lửa.
Mã:
$ sudo ufw status
Bạn sẽ thấy thông báo tương tự đầu ra.
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

Bước 2 - Cài đặt NetData​

Netdata đi kèm với một tập lệnh cài đặt có thể hoạt động trên bất kỳ bản phân phối Linux nào. Chạy lệnh sau để tải xuống tập lệnh cài đặt.
Mã:
$ wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh
Chạy tập lệnh cài đặt bằng lệnh sau.
Mã:
$ sudo sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
Cờ --stable-channel cài đặt phiên bản ổn định của Netdata. Cờ --disable-telemetry ngăn Netdata gửi số liệu thống kê ẩn danh trở lại máy chủ của họ. Có các cờ khác mà bạn có thể sử dụng để tùy chỉnh trình cài đặt của mình.

Nhập Y để xác nhận thêm kho lưu trữ Netdata và cài đặt nó trên máy chủ của bạn. Bạn sẽ nhận được kết quả sau khi cài đặt thành công.
Mã:
Successfully installed the Netdata Agent.
Official documentation can be found online at https://learn.netdata.cloud/docs/.
Looking to monitor all of your infrastructure with Netdata? Check out Netdata Cloud at https://app.netdata.cloud.
Join our community and connect with us on: - GitHub: https://github.com/netdata/netdata/discussions - Discord: https://discord.gg/5ygS846fR6 - Our community forums: https://community.netdata.cloud/
[/root]# rm -rf /tmp/netdata-kickstart-wH4pebXveT OK
Trình cài đặt Netdata tự động bật và khởi động dịch vụ. Kiểm tra trạng thái của dịch vụ.
Mã:
$ sudo systemctl status netdata
? netdata.service - Real time performance monitoring Loaded: loaded (/lib/systemd/system/netdata.service; enabled; preset: enabled) Active: active (running) since Thu 2023-08-24 10:26:56 UTC; 42s ago Main PID: 2811 (netdata) Tasks: 82 (limit: 1107) Memory: 108.2M CPU: 4.271s CGroup: /system.slice/netdata.service ??2811 /usr/sbin/netdata -D -P /var/run/netdata/netdata.pid ??2822 /usr/sbin/netdata --special-spawn-server ??3127 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1 ??3137 /usr/libexec/netdata/plugins.d/go.d.plugin 1 ??3142 /usr/libexec/netdata/plugins.d/ebpf.plugin 1 ??3145 /usr/libexec/netdata/plugins.d/nfacct.plugin 1 ??3149 /usr/libexec/netdata/plugins.d/systemd-journal.plugin 1 ??3155 /usr/libexec/netdata/plugins.d/debugfs.plugin 1 ??3159 /usr/libexec/netdata/plugins.d/apps.plugin 1
Aug 24 10:26:58 netdata ebpf.plugin[3142]: set name of thread 3188 to EBPF SOFTIRQ
.......
Nếu dịch vụ của bạn chưa được khởi động hoặc kích hoạt, bạn có thể thực hiện bằng lệnh sau.
Mã:
$ sudo systemctl enable netdata --now
Chạy lệnh sau để kiểm tra các cổng mở và quy trình bằng chúng.
Mã:
$ sudo ss -plnt | grep netdata
Bạn sẽ nhận được kết quả tương tự. Netdata sử dụng cổng 19999 cho bảng điều khiển của mình, như được thấy trong kết quả bên dưới. Netdata sử dụng cổng 8125 để nhận số liệu thống kê từ các ứng dụng khác.
Mã:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 0.0.0.0:19999 0.0.0.0:* users:(("netdata",pid=2811,fd=8))
LISTEN 0 4096 127.0.0.1:8125 0.0.0.0:* users:(("netdata",pid=2811,fd=47))
LISTEN 0 4096 [::1]:8125 [::]:* users:(("netdata",pid=2811,fd=46))
LISTEN 0 4096 [::]:19999 [::]:* users:(("netdata",pid=2811,fd=9))

Bước 3 - Cài đặt Nginx​

Debian 12 đi kèm với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.

Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
Cập nhật hệ thống kho lưu trữ.
Mã:
$ sudo apt update
Cài đặt tiện ích Nginx và Apache. Gói tiện ích Apache là bắt buộc đối với tiện ích htpasswd.
Mã:
$ sudo apt install nginx apache2-utils
Xác minh cài đặt. Trên hệ thống Debian, lệnh sau chỉ hoạt động với sudo.
Mã:
$ sudo nginx -v
nginx version: nginx/1.24.0
Khởi động Nginx máy chủ.
Mã:
$ sudo systemctl start nginx
Kiểm tra trạng thái dịch vụ.
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled) Active: active (running) since Thu 2023-08-24 11:36:34 UTC; 4s ago Docs: https://nginx.org/en/docs/ Process: 3657 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 3658 (nginx) Tasks: 2 (limit: 1107) Memory: 1.8M CPU: 12ms CGroup: /system.slice/nginx.service ??3658 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??3659 "nginx: worker process"

Bước 4 - Cài đặt SSL​

Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Bạn có thể cài đặt Certbot bằng kho lưu trữ của Debian hoặc tải phiên bản mới nhất bằng công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd.

Debian 12 không đi kèm Snapd được cài đặt. Cài đặt gói Snapd.
Mã:
$ sudo apt install snapd
Chạy các lệnh sau để đảm bảo phiên bản Snapd của bạn được cập nhật.
Mã:
$ sudo snap install core && sudo snap refresh core
Cài đặt Certbot.
Mã:
$ sudo snap install --classic certbot
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến /usr/bin thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Xác minh xem Certbot có hoạt động bình thường không.
Mã:
$ certbot --version
certbot 2.6.0
Tạo SSL chứng chỉ.
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d netdata.example.com
Lệnh trên sẽ tải chứng chỉ xuống thư mục /etc/letsencrypt/live/netdata.example.com trên máy chủ của bạn.

Tạo chứng chỉ nhóm Diffie-Hellman.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Mã:
$ sudo systemctl list-timers
Bạn sẽ tìm thấy snap.certbot.renew.service là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Thu 2023-08-24 13:40:00 UTC 1h 59min left - - snap.certbot.renew.timer snap.certbot.renew.service
Thu 2023-08-24 18:47:23 UTC 7h left Thu 2023-08-24 09:30:41 UTC 2h 9min ago apt-daily.timer apt-daily.service
Fri 2023-08-25 00:00:00 UTC 12h left - - dpkg-db-backup.timer dpkg-db-backup.service
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Mã:
$ sudo certbot renew --dry-run
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.

Bước 5 - Cấu hình Nginx​

Tạo và mở tệp /etc/nginx/conf.d/netdata.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/netdata.conf
Dán mã sau vào nó.
Mã:
# Define netdata upstream
upstream netdata { server 127.0.0.1:19999; keepalive 64;
}
# Redirect all non-encrypted to encrypted
server { listen 80; listen [::]:80; server_name netdata.example.com; return 301 https://netdata.example.com$request_uri;
}
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name netdata.example.com; ssl_certificate /etc/letsencrypt/live/netdata.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/netdata.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/netdata.example.com/chain.pem; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_prefer_server_ciphers off; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s; resolver_timeout 2s; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; access_log /var/log/nginx/netdata.example.com.access.log main; error_log /var/log/nginx/netdata.example.com.error.log; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host;	proxy_pass http://netdata;	proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; auth_basic "NetData Private Area"; auth_basic_user_file /etc/nginx/.htpasswd; }
}
Sau khi hoàn tất, hãy lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
Thêm dòng sau vào trước dòng include /etc/nginx/conf.d/*.conf;.
Mã:
server_names_hash_bucket_size 64;
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Chạy lệnh sau để tạo tệp mật khẩu để bật HTTP xác thực.
Mã:
$ sudo htpasswd -c /etc/nginx/.htpasswd netadmin
New password:
Re-type new password:
Adding password for user netadmin
Xác minh cú pháp tệp cấu hình Nginx.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Khởi động lại dịch vụ Nginx để kích hoạt dịch vụ mới cấu hình.
Mã:
$ sudo systemctl restart nginx

Bước 6 - Truy cập và sử dụng Bảng điều khiển Netdata​

Bạn có thể truy cập Netdata qua URL https://netdata.example.com. Lần đầu tiên bạn truy cập, bạn sẽ được nhắc nhập thông tin xác thực HTTP.


netdata-http-authentication.png



Bạn sẽ nhận được bảng thông tin sau.


netdata-first-time-dashboard.png



Bạn có thể tạm dừng, dừng và bắt đầu giám sát bất cứ lúc nào bằng cách sử dụng nút Phát trên bảng thông tin.


netdata-play-button.png



Bạn có thể truy cập nhiều bảng thông tin khác nhau bằng cách nhấp vào các tùy chọn từ thanh bên phải.

Theo mặc định, Netdata có thể theo dõi múi giờ của bạn một cách chính xác. Nếu không, hãy nhấp vào bộ đếm thời gian và chọn múi giờ chính xác trên cửa sổ bật lên để thay đổi.


netdata-timezone-change.png


Bước 7 - Cấu hình NetData​

Netdata lưu trữ cấu hình chính của mình trong tệp /etc/netdata/netdata.conf. Bạn có thể xem các thiết lập này bằng cách truy cập URL https://netdata.example.com/netdata.conf trong trình duyệt của bạn.


netdata-configuration-file-url.png



Tệp được chia thành nhiều phần khác nhau, chẳng hạn như [global], [db], [web], [registry], v.v. Cấu hình mặc định là đủ để chúng ta bắt đầu. Netdata thu thập dữ liệu bằng hai loại plugin:
  1. plugin nội bộ được viết bằng ngôn ngữ C và chạy dưới dạng luồng bên trong daemon netdata.
  2. plugin bên ngoài được viết bằng nhiều ngôn ngữ khác nhau, bao gồm Python, Go, v.v. và được tạo ra dưới dạng các quy trình độc lập chạy lâu dài bởi netdata daemon. Chúng giao tiếp với daemon Netdata bằng cách sử dụng pipes.

Cấu hình sử dụng bộ nhớ NetData​

Việc sử dụng RAM của NetData được quyết định dựa trên thời gian bạn muốn giữ dữ liệu biểu đồ đã ghi trước khi dữ liệu bị mất.
  • Lưu trữ dữ liệu biểu đồ trong 3600 giây hoặc 1 giờ sử dụng 15 MB RAM.
  • Lưu trữ dữ liệu biểu đồ trong 7200 giây hoặc 2 giờ sử dụng 30 MB RAM.
  • Lưu trữ dữ liệu biểu đồ trong 14400 giây hoặc 4 giờ sử dụng 60 MB RAM.
Mỗi khi bạn tăng gấp đôi thời gian lưu trữ dữ liệu biểu đồ, yêu cầu về RAM cũng tăng gấp đôi. Các yêu cầu về RAM này dựa trên số lượng biểu đồ đang được bảng điều khiển chứng khoán sử dụng. Việc thêm nhiều biểu đồ và ứng dụng hơn sẽ thay đổi các ước tính này.

Mở tệp cấu hình Netdata.
Mã:
$ sudo nano /etc/netdata/netdata.conf
Nhập dòng history = 14400 bên dưới [global].
Mã:
[global] run as user = netdata # default storage size - increase for longer data retention page cache size = 32 dbengine multihost disk space = 256 history = 14400
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Tắt Đo từ xa​

Theo mặc định, Netdata thu thập thông tin sử dụng ẩn danh bằng nền tảng phân tích sản phẩm Posthog. Mỗi khi daemon Netdata được khởi động hoặc dừng, Netdata sẽ sử dụng tập lệnh thống kê ẩn danh để thu thập thông tin hệ thống sau và gửi cho chính nó.
  • Phiên bản Netdata
  • Tên hệ điều hành, phiên bản, id, id_like
  • Tên hạt nhân, phiên bản, kiến trúc
  • Công nghệ ảo hóa
  • Công nghệ chứa
  • Thông tin bổ sung về lỗi máy khách Netdata.
Chúng tôi đã tắt Telemetry trong quá trình cài đặt nhưng nếu bạn chưa tắt, bạn có thể thực hiện ngay bây giờ. Tạo một tệp trống có tên là .opt-out-from-anonymous-statistics trong thư mục Netdata.
Mã:
$ sudo touch /etc/netdata/.opt-out-from-anonymous-statistics
Khởi động lại Netdata để bật thay đổi.
Mã:
$ sudo systemctl restart netdata

Lưu trữ dài hạn​

Netdata sử dụng RAM và đĩa của hệ thống để lưu trữ dữ liệu lịch sử theo mặc định. Quy trình Netdata mặc định thu thập khoảng 2000 số liệu mỗi giây, nghĩa là cấu hình mặc định sẽ lưu trữ số liệu của khoảng hai ngày trên RAM và đĩa.

Để lưu trữ nhiều số liệu hơn, bạn có hai tùy chọn sau:
  1. Cấu hình Netdata để sử dụng nhiều RAM và dung lượng đĩa hơn
  2. Lưu trữ số liệu vào cơ sở dữ liệu bên ngoài
Chúng tôi sẽ chỉ thảo luận về tùy chọn đầu tiên trong hướng dẫn này. Đối với tùy chọn thứ hai, bạn nên tham khảo tài liệu chính thức của Netdata.

Cấu hình Netdata để sử dụng nhiều RAM và dung lượng đĩa hơn

Mở tệp /etc/netdata/netdata.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/netdata/netdata.conf
Cấu hình các dòng sau bên dưới Phần [global].
Mã:
[global]
... page cache size = 32 dbengine multihost disk space = 256
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Kích thước bộ đệm trang xác định lượng RAM được sử dụng và biến dbengine multihost disk space xác định mức sử dụng đĩa. Theo mặc định, Netdata sử dụng 32 MB RAM và 256 MB dung lượng đĩa. Bạn có thể thay đổi bất kỳ giá trị nào trong hai giá trị theo ý thích.

Bạn có thể sử dụng Máy tính số liệu lưu trữ của Netdata để quyết định dung lượng RAM và dung lượng đĩa bạn cần.

Giảm tần suất thu thập​

Bạn có thể tối ưu hóa hiệu suất của Netdata bằng cách tăng thời gian giữa các lần thu thập số liệu. Theo mặc định, Netdata thu thập số liệu mỗi giây.

Để thay đổi điều đó, hãy mở tệp cấu hình Netdata để chỉnh sửa.
Mã:
$ sudo nano /etc/netdata/netdata.conf
Nhập dòng sau vào phần [global]. Thao tác này sẽ tăng tần suất lên 5 giây.
Mã:
[global]
... update every = 5
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Bước 8 - Cấu hình Thông báo Slack​

Bước đầu tiên là tạo ứng dụng Slack và kết nối ứng dụng đó với một kênh cụ thể trong không gian làm việc của bạn để cấu hình Thông báo Slack.

Truy cập trang Slack API và nhấp vào nút Tạo ứng dụng để bắt đầu tạo ứng dụng.


netdata-slack-api-apps-page.png



Nhấp vào liên kếtFrom Scratch để tạo ứng dụng.


netdata-slack-create-app-popup.png



Chọn tên cho ứng dụng của bạn và chọn không gian làm việc nơi bạn muốn Ứng dụng của mình xuất hiện. Nếu bạn không muốn liên kết ứng dụng của mình với không gian làm việc hiện tại, bạn có thể tạo một không gian làm việc khác và quay lại bước này.


netdata-slack-app-name-popup.png



Mở trang Webhook đến bằng cách chọn tùy chọn trong menu Tính năng từ thanh bên trái, sau đó kích hoạt webhook.


netdata-slack-apps-incoming-webhooks.png



Nhấp vào Thêm Webhook mới để Nút Không gian làm việc ở cuối trang và chọn không gian làm việc của bạn và kênh mục tiêu để nhận thông báo.


netdata-add-slack-app-workplace.png



Nhấp vào nút Cho phép để tiếp tục. Quay lại trang Webhooks đến và sao chép URL Webhook.


netdata-slack-webhook_url.png



Quay lại thiết bị đầu cuối và chuyển sang /etc/netdata thư mục.
Mã:
$ cd /etc/netdata
Netdata cung cấp một tập lệnh edit-config để chỉnh sửa và tạo các tệp cấu hình Netdata. Chạy tệp sau để tạo và mở tệp health_alarm_notify.conf bằng trình chỉnh sửa mặc định của hệ thống.
Mã:
$ sudo ./edit-config health_alarm_notify.conf
Cuộn xuống mục sau phần.
Mã:
# Enable slack notification
SEND_SLACK="YES"
# Select the slack webhook
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxxxxxx/xxxxxx/xxxxxxxxxxxxx"
# Default channel for notification
DEFAULT_RECIPIENT_SLACK="notifications"
Đảm bảo rằng biến SEND_SLACK được đặt thành có. Dán URL webhook đã sao chép vào biến SLACK_WEBHOOK_URL. Nhập tên kênh của bạn cho biến DEFAULT_RECIPIENT_SLACK.

Nếu trình soạn thảo của bạn là Vim, hãy nhấn phím Escape để thoát khỏi chỉnh sửa, nhập :x và nhấn phím Enter để lưu tệp và thoát khỏi trình soạn thảo.

Nếu trình soạn thảo của bạn là Nano, hãy lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại Netdata để áp dụng thay đổi.
Mã:
$ sudo systemctl restart netdata

Bước 9 - Cấu hình Thông báo qua Email​

Netdata sử dụng sendmail theo mặc định để gửi thông báo qua email nhưng việc quản lý máy chủ email không phải là nhiệm vụ dễ dàng. Netdata không hỗ trợ SMTP, nhưng bạn có thể cài đặt một gói có tên là msmtp máy khách. Nó cho phép bạn gửi thư đến máy chủ SMTP.

Cài đặt msmtp.
Mã:
$ sudo apt install msmtp
Tạo và mở tệp cấu hình cho msmtp.
Mã:
$ sudo nano /etc/msmtprc
Dán mã sau vào nó.
Mã:
# Set default values for all following accounts.
defaults
# Use the mail submission port 587 instead of the SMTP port 25.
port 587
# Always use TLS.
tls on
# The SMTP server of your ISP
account ses
host email-smtp..amazonaws.com
from [emailprotected]
auth on
user 
password 
# Set default account to isp
account default: ses
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Netdata cung cấp một tập lệnh edit-config để chỉnh sửa và tạo các tệp cấu hình Netdata. Chạy tệp sau để tạo và mở tệp health_alarm_notify.conf bằng trình chỉnh sửa mặc định của hệ thống.
Mã:
$ sudo /etc/netdata/edit-config health_alarm_notify.conf
Cuộn xuống phần sau và nhập đường dẫn đến msmtp.
Mã:
# external commands
# The full path to the sendmail command.
# If empty, the system $PATH will be searched for it.
# If not found, email notifications will be disabled (silently).
sendmail="/usr/bin/msmtp"
Xác định vị trí phần sau và nhập thông tin chi tiết của người gửi và người nhận, đồng thời đảm bảo rằng việc gửi email là đã bật.
Mã:
# email global notification options
# multiple recipients can be given like this:
# "[emailprotected] [emailprotected] ..."
# the email address sending email notifications
# the default is the system user netdata runs as (usually: netdata)
# The following formats are supported:
# EMAIL_SENDER="user@domain"
# EMAIL_SENDER="User Name "
# EMAIL_SENDER="'User Name' "
# EMAIL_SENDER="\"User Name\" "
EMAIL_SENDER="Server Admin "
# enable/disable sending emails
SEND_EMAIL="YES"
# if a role recipient is not configured, an email will be send to:
DEFAULT_RECIPIENT_EMAIL="[emailprotected]"
# to receive only critical alarms, set it to "root|critical"
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại Netdata để áp dụng các thay đổi.
Mã:
$ sudo systemctl restart netdata

Bước 10 - Kiểm tra Kênh thông báo​

Chúng ta hãy kiểm tra xem thông báo qua email làm việc. Đăng nhập với tư cách là người dùng hệ thống netdata được tạo trong quá trình cài đặt.
Mã:
$ sudo su -s /bin/bash netdata
Chạy tập lệnh thông báo Báo động để gửi thử nghiệm thông báo.
Mã:
$ /usr/libexec/netdata/plugins.d/alarm-notify.sh test
Bạn sẽ nhận được kết quả sau.
Mã:
# SENDING TEST WARNING ALARM TO ROLE: sysadmin
2023-08-24 12:56:00: alarm-notify.sh: INFO: sent email notification for: netdata test.chart.test_alarm is WARNING to '[emailprotected]'
# OK
# SENDING TEST CRITICAL ALARM TO ROLE: sysadmin
2023-08-24 12:56:03: alarm-notify.sh: INFO: sent email notification for: netdata test.chart.test_alarm is CRITICAL to '[emailprotected]'
# OK
# SENDING TEST CLEAR ALARM TO ROLE: sysadmin
2023-08-24 12:56:06: alarm-notify.sh: INFO: sent email notification for: netdata test.chart.test_alarm is CLEAR to '[emailprotected]'
# OK
Thoát khỏi người dùng.
Mã:
$ exit.
Mở ứng dụng Slack của bạn và bạn sẽ nhận được các cảnh báo sau.


netdata-slack-test-notifications.png



Bạn cũng sẽ nhận được ba email về các cảnh báo thử nghiệm.


netdata-test-notifications-email.png


Bước 11 - Cấu hình Giám sát Hệ thống​

Bây giờ chúng ta đã cấu hình và kiểm tra thông báo, hãy cấu hình và kiểm tra thông báo cho hệ thống, như mức sử dụng CPU.

Chạy các lệnh sau để tạo và mở tệp cấu hình CPU.
Mã:
$ sudo /etc/netdata/edit-config health.d/cpu.conf
Thay đổi giá trị của các tùy chọn warncrit trong 10min_cpu_usage như hiển thị bên dưới.
Mã:
warn: $this > (($status >= $WARNING) ? (60) : (70))
crit: $this > (($status == $CRITICAL) ? (75) : (85))
Thay đổi dòng to:silent thành to:sysadmin như hình minh họa.
Mã:
template: 10min_cpu_usage on: system.cpu class: Utilization type: System
component: CPU os: linux hosts: * lookup: average -10m unaligned of user,system,softirq,irq,guest units: % every: 1m warn: $this > (($status >= $WARNING) ? (60) : (70)) crit: $this > (($status == $CRITICAL) ? (75) : (85)) delay: down 15m multiplier 1.5 max 1h info: average CPU utilization over the last 10 minutes (excluding iowait, nice and steal) to: sysadmin
Lưu tệp và thoát khỏi trình chỉnh sửa.

Cài đặt to:silent sẽ tắt thông báo và do đó để nhận được thông báo, bạn cần thay đổi giá trị của màn hình thành to:sysadmin cho những màn hình đó.

Cài đặt trên sẽ gửi cảnh báo nếu mức sử dụng CPU giảm từ 60 đến 70% và cảnh báo nghiêm trọng khi mức sử dụng CPU giảm từ 75 đến 85%.

Khởi động lại Netdata dịch vụ.
Mã:
$ sudo systemctl restart netdata
Chúng ta hãy kiểm tra cài đặt bằng cách cài đặt ứng dụng Stress.
Mã:
$ sudo apt install stress
Chạy lệnh sau để tăng đột biến mức sử dụng CPU của máy chủ.
Mã:
$ stress --cpu 2
Để lệnh chạy trong 5-10 phút và bạn sẽ nhận được thông báo Sử dụng CPU cao. Sau khi nhận được những thông báo đó, hãy quay lại thiết bị đầu cuối và thoát lệnh bằng cách nhấn Ctrl + Z.

Sau khi dừng dịch vụ, bạn sẽ nhận được thông báo khôi phục CPU trên Slack.


netdata-slack-cpu_usage_notifications.png



Bạn sẽ nhận được các thông báo email sau cho cùng một thông báo.


netdata_cpu_email_notifications.png


Bước 12 - Cấu hình Nginx Monitoring​

Một trong những ứng dụng được giám sát phổ biến nhất bằng Netdata là các gói máy chủ và SQL. Hãy cùng giám sát máy chủ Nginx bằng Netdata.

Để bật giám sát máy chủ Nginx, chúng ta cần sử dụng ngx_http_stub_status_module. Nó thường được cài đặt sẵn với Nginx. Bạn có thể kiểm tra xem mô-đun có hiện diện không. Lệnh sudo là lệnh bắt buộc trên hệ thống Debian.
Mã:
$ sudo nginx -V 2>&1 | grep -o with-http_stub_status_module
with-http_stub_status_module
Nếu bạn không nhận được phản hồi, điều đó có nghĩa là cài đặt Nginx của bạn không hỗ trợ tính năng này. Trong trường hợp đó, bạn sẽ cần biên dịch Nginx.

Mở tệp cấu hình mặc định của Nginx /etc/nginx/conf.d/default.conf để chỉnh sửa. Vị trí của tệp khác vì chúng tôi đã cài đặt Nginx từ kho lưu trữ chính thức của nó. Nếu bạn đang cài đặt Nginx từ kho lưu trữ của hệ điều hành, thì vị trí của tệp sẽ là /etc/nginx/nginx.conf.
Mã:
$ sudo nano /etc/nginx/conf.d/default.conf
Nhập mã sau vào khối máy chủ trước dấu ngoặc nhọn đóng cuối cùng ngoặc vuông.
Mã:
# Enable module stub_status
location /stub_status {	stub_status; allow 127.0.0.1; #only allow requests from localhost deny all; #deny all other hosts
}
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Xác minh cấu hình Nginx.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Khởi động lại Nginx máy chủ.
Mã:
$ sudo systemctl restart nginx
Khởi động lại dịch vụ Netdata.
Mã:
$ sudo systemctl restart netdata
Bạn sẽ thấy thông tin chi tiết về kết nối Nginx trong bảng điều khiển Netdata của mình.


netdata-nginx-connection-details.png


Theo dõi Nhật ký Nginx​

Netdata cũng có thể theo dõi nhật ký truy cập Nginx. Để thực hiện điều đó, hãy chuyển sang thư mục Netdata.
Mã:
$ cd /etc/netdata
Chạy lệnh sau để tạo tệp cấu hình nhằm giám sát Nhật ký truy cập.
Mã:
$ sudo ./edit-config go.d/web_log.conf
Cuộn xuống cuối tệp và tìm phần sau.
Mã:
# -------------------------------------------
# nginx log on various distros
# debian, arch
nginx_log: name: 'nginx' path: '/var/log/nginx/access.log'
# gentoo
nginx_log2: name: 'nginx_site' path: '/var/log/nginx/localhost.access_log'
Thay đổi đường dẫn để theo dõi các tệp nhật ký tương ứng. Bạn có thể thêm nhiều phần để theo dõi nhiều máy chủ và tệp nhật ký truy cập của chúng. Tệp cấu hình của chúng tôi trông như sau.
Mã:
# -------------------------------------------
# nginx log on various distros
# debian, arch
nginx_log: name: 'nginx' path: '/var/log/nginx/access.log'
nginx_log2: name: 'nginx_site1' path: '/var/log/nginx/site1.access_log'
nginx_log3: name: 'nginx_site2' path: '/var/log/nginx/site2.access_log'
nginx_log4: name: 'nginx_site3' path: '/var/log/nginx/site3.access_log'
Lưu và thoát khỏi trình chỉnh sửa.

Để truy cập các tệp nhật ký, Netdata cần có quyền truy cập vào thư mục. Theo mặc định, nhóm hệ thống adm có quyền truy cập vào tệp nhật ký. Để cấp quyền truy cập Netdata, chúng ta cần thêm người dùng netdata vào adm nhóm.
Mã:
$ sudo usermod -aG adm netdata
Khởi động lại Nginx và dịch vụ Netdata.
Mã:
$ sudo systemctl restart nginx netdata
Tải lại bảng điều khiển Netdata để xem dữ liệu tệp nhật ký của bạn.


netdata-access-log-dashboard.png


Bước 13 - Cấu hình Giám sát MySQL/MariaDB​

Chúng ta sẽ cài đặt MariaDB cho phần hướng dẫn này. Chúng tôi sẽ sử dụng kho lưu trữ MariaDB cho mục đích này.

Nhập khóa GPG của MariaDB.
Mã:
$ sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
Tạo và mở tệp kho lưu trữ MariaDB.
Mã:
$ sudo nano /etc/apt/sources.list.d/mariadb.sources
Dán mã sau vào nó.
Mã:
# MariaDB 10.11 repository list - created 2023-09-05 11:18 UTC
# https://mariadb.org/download/
X-Repolib-Name: MariaDB
Types: deb
# deb.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# URIs: https://deb.mariadb.org/10.11/debian
URIs: https://mirrors.aliyun.com/mariadb/repo/10.11/debian
Suites: bookworm
Components: main
Signed-By: /usr/share/keyrings/mariadb-keyring.pgp
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Cập nhật danh sách kho lưu trữ hệ thống.
Mã:
$ sudo apt update
Cài đặt MariaDB máy chủ.
Mã:
$ sudo apt install mariadb-server
MariaDB đã được bật và đang chạy. Kiểm tra trạng thái dịch vụ.
Mã:
$ sudo systemctl status mariadb
? mariadb.service - MariaDB 10.11.5 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d ??migrated-from-my.cnf-settings.conf Active: active (running) since Tue 2023-09-05 11:44:17 UTC; 20s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Process: 9396 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Process: 9397 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 9399 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR > Process: 9440 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 9442 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Main PID: 9428 (mariadbd) Status: "Taking your SQL requests now..." Tasks: 13 (limit: 1107) Memory: 111.8M CPU: 663ms CGroup: /system.slice/mariadb.service ??9428 /usr/sbin/mariadbd
Khởi động tập lệnh cài đặt bảo mật MySQL. Tên tệp khác nhau trong trường hợp của MariaDB.
Mã:
$ sudo mariadb-secure-installation
....
Enter current password for root (enter for none): (Press Enter)
....
Switch to unix_socket authentication [Y/n] Y (Type Y and Press Enter)
....
Change the root password? [Y/n] Y (Type Y and Press Enter)
New password:
Re-enter new password:
Password updated successfully!
....
Remove anonymous users? [Y/n] Y (Type Y and Press Enter)
....
Disallow root login remotely? [Y/n] Y (Type Y and Press Enter)
....
Remove test database and access to it? [Y/n] Y (Type Y and Press Enter)
....
Reload privilege tables now? [Y/n] Y (Type Y and Press Enter)
....
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Mở tệp /etc/mysql/mariadb.conf.d/50-server.cnf để chỉnh sửa.
Mã:
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Tìm phần [mariadb] trong tệp và dán dòng sau như hiển thị bên dưới để kích hoạt plugin Userstats. Thiết lập này chỉ hoạt động trên MariaDB và không hoạt động trên máy chủ MySQL.
Mã:
[mariadb]
userstat = 1
Đăng nhập vào shell MySQL.
Mã:
$ sudo mysql
Chạy các lệnh sau để tạo người dùng Netdata SQL và cấp cho người dùng đó quyền theo dõi MySQL stats.
Mã:
MariaDB> create user 'netdata'@'localhost';
MariaDB> GRANT USAGE, REPLICATION CLIENT, PROCESS ON *.* TO 'netdata'@'localhost';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit
Tạo tệp cấu hình MySQL cho Netdata.
Mã:
$ sudo /etc/netdata/edit-config go.d/mysql.conf
Một tệp sẽ mở ra hiển thị tất cả các tùy chọn có thể. Nếu bạn hài lòng, hãy lưu và đóng tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại máy chủ MariaDB.
Mã:
$ sudo systemctl restart mariadb
Khởi động lại dịch vụ Netdata.
Mã:
$ sudo systemctl restart netdata
Bảng điều khiển MariaDB/MySQL sẽ bắt đầu xuất hiện trong bảng điều khiển Netdata.


netdata-mysql-dashboard.png


Bước 14 - Cấu hình Giám sát PHP-FPM​

Bạn có thể giám sát một hoặc nhiều phiên bản PHP-FPM bằng Netdata. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ cài đặt PHP 8.2 và sau đó bật tính năng giám sát của nó.

Debian 12 được cung cấp với PHP 8.2 theo mặc định. Nhưng để luôn cập nhật phiên bản PHP mới nhất, chúng ta sẽ sử dụng kho lưu trữ PHP của Ondrej.

Đầu tiên, nhập khóa GPG PHP của kho lưu trữ Sury.
Mã:
$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
Thêm kho lưu trữ PHP của Ondrej Sury.
Mã:
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Cập nhật kho lưu trữ hệ thống danh sách.
Mã:
$ sudo apt update
Bây giờ, bạn có thể cài đặt bất kỳ phiên bản PHP nào.
Mã:
$ sudo apt install php8.2-fpm php8.2-cli php8.2-mbstring
Xác minh cài đặt.
Mã:
$ php --version
PHP 8.2.10 (cli) (built: Sep 4 2023 08:12:29) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies

Cấu hình PHP​

Mở tệp /etc/php/8.2/fpm/pool.d/www.conf.
Mã:
$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng user=www-datagroup=www-data trong tệp và thay đổi chúng thành nginx.
Mã:
....
; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
; --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
; If the group is not set, the user's group is used.
user = nginx
group = nginx
....
Ngoài ra, hãy tìm các dòng listen.owner=www-datalisten.group=www-data trong tệp và thay đổi chúng thành nginx.
Mã:
listen.owner = nginx
listen.group = nginx
Cuộn xuống tệp để tìm tùy chọn ;pm.status_path = /status. Bỏ chú thích cho dòng bằng cách xóa dấu chấm phẩy ở phía trước dòng, như minh họa bên dưới.
Mã:
....
; Note: There is a real-time FPM status monitoring sample web page available
; It's available in: /usr/share/php/8.2/fpm/status.html
;
; Note: The value must start with a leading slash (/). The value can be
; anything, but it may not be a good idea to use the .php extension or it
; may conflict with a real PHP file.
; Default Value: not set
pm.status_path = /status
....
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Khởi động lại quy trình PHP-fpm.
Mã:
$ sudo systemctl restart php8.2-fpm

Thêm thiết lập PHP vào Nginx​

Mở tệp cấu hình mặc định của Nginx /etc/nginx/conf.d/default.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/default.conf
Nhập mã sau vào khối máy chủ trước dấu ngoặc nhọn đóng cuối cùng ngoặc vuông.
Mã:
# define PHP-FPM monitoring
location ~ ^/(status|ping)$ { allow 127.0.0.1; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Depends on the PHP Version and OS Distro
}
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Xác minh cấu hình Nginx.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Khởi động lại Nginx máy chủ.
Mã:
$ sudo systemctl restart nginx
Khởi động lại dịch vụ Netdata.
Mã:
$ sudo systemctl restart netdata
Tải lại bảng điều khiển Netdata và bạn sẽ thấy số liệu thống kê PHP-FPM.


netdata-php-fpm-stats-dashboard.png


Bước 15 - Cấu hình Docker Engine và Giám sát Container​

Netdata có thể giám sát cả Docker engine và Docker container. Nó cũng có thể giám sát các ứng dụng đang chạy bên trong các vùng chứa này, nhưng chúng tôi sẽ không đề cập đến trong hướng dẫn này.

Trước tiên, chúng ta hãy cài đặt Docker.
Mã:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io
$ sudo usermod -aG docker ${USER}
$ su - ${USER}
Dịch vụ Docker đã được bật và bắt đầu. Bạn có thể kiểm tra trạng thái của dịch vụ.
Mã:
$ sudo systemctl status docker
Để theo dõi công cụ Docker, bạn cần bật tính năng số liệu của Docker.

Tạo và mở tệp /etc/docker/daemon.json cho chỉnh sửa.
Mã:
$ sudo nano /etc/docker/daemon.json
Dán mã sau vào đó.
Mã:
{ "metrics-addr" : "127.0.0.1:9323", "experimental" : true
}
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. URL này được Prometheus sử dụng để theo dõi số liệu thống kê của Docker engine.

Tạo tệp cấu hình cho trình thu thập Docker.
Mã:
$ sudo /etc/netdata/edit-config go.d/docker.conf
Tạo tệp cấu hình khác cho Docker engine dành cho Prometheus.
Mã:
$ sudo /etc/netdata/edit-config go.d/docker_engine.conf
Khởi động lại Netdata và Docker dịch vụ.
Mã:
$ sudo systemctl restart docker netdata
Tải lại bảng điều khiển Netdata và bạn có thể thấy số liệu thống kê Docker.


netdata-docker-container-stats.png



Bạn sẽ thấy một mục khác có tên Prometheus Metrics trên bảng điều khiển của bạn vì tùy chọn số liệu đã được tạo cho bảng điều khiển Prometheus.


netdata-docker-prometheus-stats.png



Bước tiếp theo là theo dõi vùng chứa Docker. Netdata sử dụng các nhóm điều khiển, được gọi là cgroups để theo dõi vùng chứa Docker. Nhóm điều khiển là một tính năng của Linux giới hạn và theo dõi việc sử dụng tài nguyên của một tập hợp các quy trình, trong trường hợp này là vùng chứa. Nếu bạn có vùng chứa Docker đang chạy khi cài đặt Netdata, chúng sẽ tự động được theo dõi. Tuy nhiên, nếu bạn chạy một container sau khi cài đặt Netdata, bạn cần phải khởi động lại nó.

Chạy một container thử nghiệm.
Mã:
$ docker container run -d nginx
Kiểm tra trạng thái của container.
Mã:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d6cde479224 nginx "/docker-entrypoint.…" 7 seconds ago Up 5 seconds 80/tcp zealous_knuth
Tên của container là zealous_knuth như hình minh họa. Vì container đã được khởi động sau khi cài đặt Netdata, hãy khởi động lại dịch vụ.
Mã:
$ sudo systemctl restart netdata
Tải Dashboard và bạn sẽ có thể thấy số liệu thống kê của Container. Bạn có thể thấy ID container trong số liệu thống kê.


netdata-docker-individual-container-stats.png


Kết luận​

Bài hướng dẫn về cách cài đặt và sử dụng hệ thống giám sát Netdata để giám sát nhiều ứng dụng khác nhau như Nginx, MySQL, PHP-FPM và Docker trên máy chủ Debian 12 đã kết thúc. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
 
Back
Bên trên