Nhiều khi, những người bạn tham gia bảo trì máy chủ đều hy vọng có một nền tảng giám sát hiệu suất máy chủ có thể cung cấp cái nhìn tổng thể để họ có thể nắm bắt được động thái hoạt động của máy chủ của công ty trong thời gian thực. Hiện tại có rất nhiều nền tảng giám sát hiệu suất mạng của bên thứ ba trên thị trường, chẳng hạn như Alibaba Cloud, Tencent Cloud, Linode, Vultr và các nhà cung cấp dịch vụ lưu trữ VPS khác có dịch vụ giám sát hiệu suất máy chủ của riêng họ.

Nếu bạn xây dựng nền tảng giám sát máy chủ của riêng mình, bạn có thể thử các công cụ phân tích nhật ký máy chủ được chia sẻ trước đây: ngxtop và GoAccess, những công cụ này có thể giúp chúng tôi xem những bất thường của máy chủ từ góc độ phân tích nhật ký máy chủ. Bạn cũng có thể sử dụng công cụ Smokeping để theo dõi trạng thái đường truyền mạng của máy chủ, chẳng hạn như ping thông thường, dig, echoping, Curl, v.v.

Bài viết này sẽ chia sẻ hai công cụ giám sát máy chủ tuyệt vời: một là công cụ thăm dò PHP mã nguồn mở miễn phí. Trên Internet có rất nhiều công cụ thăm dò PHP, nhưng x-prober phù hợp với những “người yêu cái đẹp”; cái còn lại là Netdata, một công cụ giám sát thời gian thực hiệu suất máy chủ Linux với giao diện đẹp mắt và phong cách đẹp mắt. Hai loại giám sát này có thể cải thiện đáng kể hiệu suất của công việc vận hành và bảo trì.

Để biết thêm các lệnh và công cụ giám sát mạng cũng như hiệu suất máy chủ, đây là:

  1. Tổng hợp các lệnh giám sát hệ thống Linux - CPU chủ, bộ nhớ, IO đĩa, v.v. để tìm ra các tắc nghẽn về hiệu suất
  2. Cài đặt và cấu hình khói - công cụ giám sát hiệu suất mạng nguồn mở miễn phí triển khai chính/phụ trực quan
  3. Công cụ phân tích nhật ký máy chủ: ngxtop và GoAccess - giám sát thời gian thực và quản lý trực quan để nhanh chóng tìm ra nguồn ngoại lệ

1. Thăm dò PHP mã nguồn mở miễn phí: x-prober

trang mạng:

  1. Dự án: https://github.com/kmvan/x-prober
  2. Tải xuống: https://api.inn-studio.com/download?id=xprober
  3. Bản trình diễn: https://tz.inn-studio.com/

Đây là một thăm dò PHP có thể thay thế thăm dò Yahei. Nó có giao diện đẹp, chức năng đơn giản nhưng thiết thực và phù hợp với nhu cầu thăm dò máy chủ cơ bản. (Bấm vào để phóng to)

Đầu dò x-prober có thể hiển thị trạng thái máy chủ, thống kê lưu lượng truy cập, thông tin máy chủ, thông tin PHP, tiện ích mở rộng PHP, cơ sở dữ liệu, điểm hiệu suất máy chủ, v.v.

2. Cài đặt và sử dụng công cụ giám sát thời gian thực Netdata của Linux

trang mạng:

  1. Trang web chính thức: https://my-netdata.io/
  2. Bản trình diễn: https://my-netdata.io/#demosites
  3. Trang chủ: https://github.com/firehol/netdata

2.1  Giới thiệu hàm Netdata

Netdata là một công cụ giám sát hiệu suất máy chủ Linux với giao diện rất đẹp, các chức năng rất mạnh mẽ và cài đặt rất đơn giản. Nó được cập nhật theo thời gian thực, cài đặt chỉ bằng một cú nhấp chuột, không yêu cầu bảo trì và hiển thị dữ liệu giám sát trực tiếp trong trình duyệt. Netdata thu thập hàng nghìn chỉ số mỗi giây, nhưng chỉ chiếm 1% của một lõi CPU, một lượng bộ nhớ nhỏ và không có hoạt động đọc ghi IO trên đĩa nào cả. Như hình dưới đây: (bấm vào để phóng to)

Netdata giám sát rất nhiều nội dung, chủ yếu bao gồm:

CPU: mức sử dụng, ngắt, phần mềm, tần số, trạng thái CPU tổng và mỗi lõi

Bộ nhớ: RAM, trao đổi và sử dụng bộ nhớ kernel, KSM (hợp nhất kernel cùng trang), NUMA

Đĩa: Trên mỗi đĩa: I/O, Hoạt động, tồn đọng, sử dụng, dung lượng, RAID phần mềm (md)

Giao diện mạng: Mỗi giao diện: Băng thông, gói, lỗi, rớt

Mạng IPv4, mạng IPv6: băng thông, gói, lỗi, đoạn, tcp: kết nối, gói, lỗi, bắt tay, udp: gói, lỗi, phát sóng: băng thông, gói, multicast: băng thông, gói

netfilter/iptables Tường lửa Linux: kết nối, sự kiện theo dõi kết nối, lỗi

Máy chủ và máy khách tệp NFS: NFS v2, v3, v4: I/O, bộ nhớ đệm, đọc trước, cuộc gọi RPC

Máy chủ web Apache và lighttpd: trạng thái mod (v2.2, v2.4) và thống kê nhật ký bộ đệm cho nhiều máy chủ

Máy chủ web Nginx: trạng thái sơ khai cho nhiều máy chủ

Tomcat: quyền truy cập, chủ đề, bộ nhớ khả dụng, khối lượng

Tệp nhật ký máy chủ web: Trích xuất số liệu hiệu suất của máy chủ web trong thời gian thực và áp dụng nhiều kiểm tra tình trạng

Cơ sở dữ liệu mySQL: nhiều máy chủ, mỗi máy chủ hiển thị: băng thông, truy vấn/trình xử lý, khóa, sự cố, hoạt động tmp, kết nối, số liệu binlog, luồng, số liệu innodb và hơn thế nữa

Cơ sở dữ liệu Postgres: nhiều máy chủ, mỗi máy chủ hiển thị: thống kê trên mỗi cơ sở dữ liệu (kết nối, bộ dữ liệu đọc-ghi được trả về, giao dịch, khóa), quy trình phụ trợ, chỉ mục, bảng, viết trước, người viết nền, v.v.

Cơ sở dữ liệu Redis: nhiều máy chủ, mỗi máy chủ hiển thị: hoạt động, tốc độ truy cập, bộ nhớ, khóa, máy khách, máy chủ nô lệ

CouchDB: đọc/ghi, phương thức yêu cầu, mã trạng thái, tác vụ, sao chép, mỗi db, v.v.

cơ sở dữ liệu memcached: nhiều máy chủ, mỗi máy chủ hiển thị: băng thông, kết nối, dự án

Máy chủ tên NSD: truy vấn, vùng, giao thức, loại truy vấn, vận chuyển, v.v.

PowerDNS: truy vấn, câu trả lời, bộ nhớ đệm, độ trễ, v.v.

Máy chủ email Postfix: hàng đợi tin nhắn (mục nhập, kích thước)

Bộ nguồn liên tục NUT và APC: tải, công suất, điện áp pin, nhiệt độ, đèn báo tiện ích, đèn báo đầu ra

PHP-FPM: nhiều phiên bản, mỗi phiên bản báo cáo kết nối, yêu cầu, hiệu suất

smartd: giá trị đĩa S.M.A.R.T.

2.2  Phương pháp cài đặt Netdata

Tất cả các hệ thống Linux có thể sử dụng phương pháp sau để cài đặt netdata chỉ bằng một cú nhấp chuột (không cần sử dụng sudo):

# 基础安装
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

# 或者

# 安装所有的组件
bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

Cấu trúc thư mục của Netdata như sau:

   – daemon     tại /usr/sbin/netdata
   – tập tin cấu hình   trong /etc/netdata
<x2 >  – tệp web      trong /usr/share/netdata
   – plugin   < x2>    trong /usr/libexec/netdata
   – tệp bộ đệm    trong /var/cache/netdata
< x2>  – tệp db       trong /var/lib/netdata
   – tệp nhật ký <x2 >    trong /var/log/netdata
   – tệp pid       tại /var /run/netdata.pid
   – tệp logrotate tại /etc/logrotate.d/netdata

Như được hiển thị bên dưới:

Lời nhắc sau đây cho biết Netdata đã được cài đặt thành công.

2.3  Hoạt động sử dụng Netdata

Sau khi cài đặt, hãy sử dụng ip:19999 để truy cập. Đây là giao diện Netdata. Có thể thấy rằng nó rất trực quan. Kéo xuống trang để xem các dữ liệu giám sát khác nhau. Bạn cũng có thể nhấp nhanh vào các chỉ báo tương ứng ở bên phải. xem nó. (Bấm vào để phóng to)

Mỗi dữ liệu giám sát được cập nhật theo thời gian thực và bạn cũng có thể nhấp chuột để xem chi tiết.

Netdata có chức năng nhập và xuất. Bạn có thể xuất dữ liệu giám sát trong một khoảng thời gian nhất định và cũng có thể nhập dữ liệu sao lưu.

Nếu bạn đã cài đặt nhiều máy và muốn truy cập chúng thông qua một trình duyệt, hãy nhấp vào my-netdata ở góc trên bên trái. Sau đó nhấn vào biểu tượng ba thanh dọc.

Ghi lại ID đăng ký và khi về đến nhà, hãy nhập và thêm từng ID đăng ký vào trình duyệt của bạn ở nhà.

3. Tóm tắt

Vấn đề lớn nhất với việc giám sát Netdata có lẽ là vấn đề ngôn ngữ. Hiện tại, trang web chính thức chỉ có tiếng Anh và không có ngôn ngữ nào khác nếu bạn cho rằng tiếng Anh trông không ổn, bạn có thể tự dịch các tệp Web được đặt. trong thư mục này.

Đầu dò x-prober có phần giống với đầu dò Yahei về chức năng. Ưu điểm chính là đẹp hơn nhiều và có thể dùng thay thế cho đầu dò. Netdata có thể được sử dụng làm trình giám sát máy chủ cấp doanh nghiệp nhưng hơi "lãng phí" cho mục đích sử dụng cá nhân.

Để lại một câu trả lời