Prometheus là một nền tảng giám sát và cảnh báo nguồn mở.
Ban đầu, Prometheus được Soundcloud tạo ra vào năm 2012. Kể từ đó, dự án Prometheus được một số công ty nổi tiếng áp dụng đã trở thành một dự án lớn hơn với các nhà phát triển và cộng đồng rất tích cực. Và vào năm 2016, dự án Prometheus đã tốt nghiệp theo Cloud Native Computing Foundation (CNCF).
Prometheus cung cấp tính linh hoạt thông qua Ngôn ngữ truy vấn Prometheus (PromQL). Bạn có thể sử dụng PromQL để truy vấn cơ sở dữ liệu chuỗi thời gian Prometheus.
Trên các máy chủ đích, bạn phải cài đặt ứng dụng 'exporter' để hiển thị tất cả dữ liệu và số liệu cho Prometheus. 'Node Exporter' là một trình xuất dữ liệu thường được sử dụng để giám sát các máy Linux.
Node exporter hiển thị phần cứng và ma trận liên quan đến hạt nhân từ các máy Linux. Nó đi kèm dưới dạng một tệp nhị phân duy nhất sẽ hiển thị số liệu cuối dữ liệu cho máy chủ Prometheus.
Trước khi bắt đầu, hãy đảm bảo bạn đã có các yêu cầu sau:
Bây giờ chúng ta hãy bắt đầu.
1. Thực hiện lệnh sau để tạo một người dùng mới 'prometheus'.
2. Sau đó, tạo một thư mục cấu hình mới '/etc/prometheus' và thư mục dữ liệu '/var/lib/prometheus' bằng lệnh sau.
Tất cả cấu hình Prometheus sẽ có sẵn tại thư mục '/etc/prometheus' và tất cả dữ liệu Prometheus sẽ tự động được lưu vào thư mục '/var/lib/prometheus'.
Chọn phiên bản Prometheus từ liên kết này. Đối với ví dụ này, chúng ta sẽ cài đặt phiên bản mới nhất của Prometheus.
1. Thay đổi thư mục làm việc thành '/usr/src' và tải xuống tệp nhị phân Prometheus bằng lệnh sau.
Sau khi quá trình tải xuống hoàn tất, hãy giải nén tệp Prometheus.
Bây giờ bạn sẽ thấy một thư mục mới 'prometheus-VERSION.OS'.
2. Tiếp theo, sao chép tất cả các cấu hình Prometheus vào thư mục '/etc/prometheus' và tệp nhị phân 'prometheus' vào thư mục '/usr/local/bin'.
Thiết lập biến môi trường 'PROM_SRC' vào thư mục '/usr/src/prometheus-*'.
Sao chép cấu hình prometheus 'prometheus.yml' vào thư mục '/etc/prometheus.
Sao chép tệp nhị phân 'prometheus' và 'promtool' vào thư mục '/usr/local/bin/'.
Sao chép các mẫu bảng điều khiển và thư viện Prometheus vào thư mục '/etc/prometheus'.
3. Tiếp theo, hãy chỉnh sửa cấu hình Prometheus '/etc/prometheus/prometheus.yml' bằng trình soạn thảo nano.
Trên tùy chọn 'scrape_configs', bạn có thể cần thêm các tác vụ giám sát và cách thu thập tất cả dữ liệu từ mục tiêu.
Cấu hình mặc định đi kèm với tên công việc giám sát mặc định là 'prometheus' và máy chủ mục tiêu là 'localhost' thông qua tùy chọn 'static_configs'.
Thay đổi mục tiêu từ 'localhost:9090' thành địa chỉ IP của máy chủ là '192.168.1.10:9090' như bên dưới.
Lưu cấu hình và thoát.
4. Bây giờ hãy thực hiện lệnh sau để thay đổi thư mục cấu hình và dữ liệu thành người dùng 'promethues'.
Bây giờ bạn đã hoàn tất cài đặt prometheus cơ bản.
1. Tạo tệp dịch vụ systemd mới '/etc/systemd/system/prometheus.service' bằng trình soạn thảo nano.
Sao chép và dán cấu hình sau.
Lưu cấu hình và thoát.
2. Tiếp theo, tải lại trình quản lý systemd để áp dụng cấu hình mới.
3. Bây giờ hãy thực hiện lệnh sau để khởi động và kích hoạt dịch vụ Prometheus, sau đó kiểm tra trạng thái hiện tại của dịch vụ.
Nếu cài đặt thành công, bạn sẽ thấy dịch vụ prometheus đang hoạt động và chạy như bên dưới.
Công cụ giám sát Prometheus hiện có thể truy cập được trên cổng TCP '9090.
4. Mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ với cổng '9090' trên thanh địa chỉ.
Và bạn sẽ thấy truy vấn bảng điều khiển prometheus bên dưới.
Bây giờ bạn đã hoàn tất cài đặt prometheus. Chuyển sang bước tiếp theo để cài đặt Node Exporter.
Trong bước này, bạn sẽ cài đặt node exporter trên hệ thống Rocky Linux từ tệp tar.gz.
Kiểm tra liên kết này để tải phiên bản mới nhất của node exporter. Trong ví dụ này, chúng ta sẽ cài đặt node exporter phiên bản 1.3.0.
1. Thay đổi thư mục làm việc thành '/usr/src' và tải xuống tệp nhị phân của node exporter bằng lệnh sau.
Nếu quá trình tải xuống hoàn tất, hãy giải nén tệp node exporter.
Bây giờ bạn sẽ nhận được một thư mục mới 'node_exporter-VERSION.OS'.
2. Tiếp theo, di chuyển tệp nhị phân của trình xuất nút đến thư mục '/usr/local/bin' bằng lệnh sau.
Di chuyển đến bước tiếp theo để thiết lập trình xuất nút thành dịch vụ systemd.
1. Thực hiện lệnh sau để tạo người dùng hệ thống mới.
2. Tiếp theo, tạo một tệp dịch vụ mới cho trình xuất nút '/etc/systemd/system/node_exporter.service' bằng trình soạn thảo nano.
Sao chép và dán cấu hình sau.
Lưu cấu hình và thoát.
3. Bây giờ hãy tải lại trình quản lý systemd để áp dụng cấu hình mới.
4. Khởi động và kích hoạt dịch vụ 'node_exporter' bằng lệnh sau.
Sau đó, hãy kiểm tra trạng thái hiện tại của dịch vụ 'node_exporter'.
Đảm bảo dịch vụ 'node_exporter' đang hoạt động và chạy.
5. Trình xuất nút đang chạy trên cổng mặc định '9100'. Xác minh bằng lệnh ss bên dưới.
Bạn sẽ thấy đầu ra tương tự như bên dưới.
Và bạn đã hoàn tất cài đặt node exporter trên Rocky Linux system.
1. Chỉnh sửa cấu hình Prometheus bằng trình soạn thảo nano.
Trong phần 'scrape_config', hãy thêm một tác vụ Prometheus mới bằng cấu hình sau. Và hãy đảm bảo thay đổi địa chỉ IP của máy chủ bằng máy chủ mục tiêu của bạn.
Lưu cấu hình và thoát.
2. Bây giờ hãy khởi động lại dịch vụ Prometheus để áp dụng cấu hình mới.
Và bạn đã thêm trình xuất nút vào máy chủ Prometheus.
Bạn sẽ thấy hai điểm cuối khác nhau, 'prometheus' và 'node_exporter_metrics'.
2. Tiếp theo, di chuyển đến menu 'đồ thị' và nhập truy vấn PromQL vào thanh tìm kiếm. Đối với ví dụ này, hãy kiểm tra hệ điều hành chi tiết bằng truy vấn 'node_os_info'.
Và bạn sẽ thấy thông tin chi tiết về hệ điều hành hiện tại của mình.
3. Một ví dụ khác, hãy kiểm tra tốc độ mạng bằng truy vấn 'node_network_speed_bytes', sau đó chuyển đến tab 'Graph'. Và bạn sẽ thấy đầu ra tương tự như bên dưới.
Bây giờ bạn đã cài đặt thành công Prometheus và node exporter trên hệ thống Rocky Linux.
Đối với bước tiếp theo, bạn có thể khám phá một Prometheus exporter khác cho các ứng dụng khác và Grafana làm bảng điều khiển giám sát.
Ban đầu, Prometheus được Soundcloud tạo ra vào năm 2012. Kể từ đó, dự án Prometheus được một số công ty nổi tiếng áp dụng đã trở thành một dự án lớn hơn với các nhà phát triển và cộng đồng rất tích cực. Và vào năm 2016, dự án Prometheus đã tốt nghiệp theo Cloud Native Computing Foundation (CNCF).
Các khái niệm cơ bản bạn phải biết
Về cơ bản, Prometheus thu thập dữ liệu và số liệu thông qua các điểm cuối HTTP từ các máy chủ mục tiêu, sau đó lưu trữ tất cả dữ liệu dưới dạng chuỗi thời gian. Trong Prometheus, dữ liệu chuỗi thời gian được xác định theo tên số liệu và cặp khóa/giá trị.Prometheus cung cấp tính linh hoạt thông qua Ngôn ngữ truy vấn Prometheus (PromQL). Bạn có thể sử dụng PromQL để truy vấn cơ sở dữ liệu chuỗi thời gian Prometheus.
Trên các máy chủ đích, bạn phải cài đặt ứng dụng 'exporter' để hiển thị tất cả dữ liệu và số liệu cho Prometheus. 'Node Exporter' là một trình xuất dữ liệu thường được sử dụng để giám sát các máy Linux.
Node exporter hiển thị phần cứng và ma trận liên quan đến hạt nhân từ các máy Linux. Nó đi kèm dưới dạng một tệp nhị phân duy nhất sẽ hiển thị số liệu cuối dữ liệu cho máy chủ Prometheus.
Điều kiện tiên quyết
Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt công cụ giám sát Prometheus và Node Exporter trên hệ thống Rocky Linux 8.Trước khi bắt đầu, hãy đảm bảo bạn đã có các yêu cầu sau:
- Hệ điều hành: Rocky Linux 8.5 (Green Obsidian)
- Quyền root
Bây giờ chúng ta hãy bắt đầu.
Thêm người dùng và thư mục mới
Đầu tiên, bạn sẽ tạo một người dùng hệ thống mới 'prometheus', sau đó tạo một thư mục cấu hình và thư mục dữ liệu mới để cài đặt Prometheus.1. Thực hiện lệnh sau để tạo một người dùng mới 'prometheus'.
Mã:
sudo adduser -M -r -s /sbin/nologin prometheus
Mã:
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Cài đặt Prometheus trên Rocky Linux
Trong bước này, bạn sẽ cài đặt hệ thống giám sát Prometheus theo cách thủ công từ tệp tarball hoặc tar.gz.Chọn phiên bản Prometheus từ liên kết này. Đối với ví dụ này, chúng ta sẽ cài đặt phiên bản mới nhất của Prometheus.
1. Thay đổi thư mục làm việc thành '/usr/src' và tải xuống tệp nhị phân Prometheus bằng lệnh sau.
Mã:
cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz
Mã:
tar -xf prometheus-2.31.1.linux-amd64.tar.gz
2. Tiếp theo, sao chép tất cả các cấu hình Prometheus vào thư mục '/etc/prometheus' và tệp nhị phân 'prometheus' vào thư mục '/usr/local/bin'.
Thiết lập biến môi trường 'PROM_SRC' vào thư mục '/usr/src/prometheus-*'.
Mã:
export PROM_SRC=/usr/src/prometheus-*
Mã:
sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/
Mã:
sudo cp $PROM_SRC/prometheus /usr/local/bin/
sudo cp $PROM_SRC/promtool /usr/local/bin/
Mã:
sudo cp -r $PROM_SRC/consoles /etc/prometheus
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus
Mã:
nano /etc/prometheus/prometheus.yml
Cấu hình mặc định đi kèm với tên công việc giám sát mặc định là 'prometheus' và máy chủ mục tiêu là 'localhost' thông qua tùy chọn 'static_configs'.
Thay đổi mục tiêu từ 'localhost:9090' thành địa chỉ IP của máy chủ là '192.168.1.10:9090' như bên dưới.
Mã:
# Cấu hình thu thập dữ liệu chứa chính xác một điểm cuối để thu thập dữ liệu:
# Ở đây chính là Prometheus.
scrape_configs:
# Tên công việc được thêm dưới dạng nhãn `job=` vào bất kỳ chuỗi thời gian nào được thu thập từ cấu hình này.
- job_name: "prometheus"
# metrics_path mặc định là '/metrics'
# scheme mặc định là 'http'.
static_configs:
- targets: ["192.168.1.10:9090"]
4. Bây giờ hãy thực hiện lệnh sau để thay đổi thư mục cấu hình và dữ liệu thành người dùng 'promethues'.
Mã:
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Thiết lập tệp dịch vụ Prometheus
Trong bước này, bạn sẽ thiết lập Prometheus dưới dạng dịch vụ systemd.1. Tạo tệp dịch vụ systemd mới '/etc/systemd/system/prometheus.service' bằng trình soạn thảo nano.
Mã:
sudo nano /etc/systemd/system/prometheus.service
Mã:
[Đơn vị]
Mô tả=Prometheus
Muốn=network-online.target
Sau=network-online.target
[Dịch vụ]
Người dùng=prometheus
Nhóm=prometheus
Loại=đơn giản
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Cài đặt]
WantedBy=multi-user.target
2. Tiếp theo, tải lại trình quản lý systemd để áp dụng cấu hình mới.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable --now prometheus
sudo systemctl status prometheus
Công cụ giám sát Prometheus hiện có thể truy cập được trên cổng TCP '9090.
4. Mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ với cổng '9090' trên thanh địa chỉ.
Và bạn sẽ thấy truy vấn bảng điều khiển prometheus bên dưới.
Bây giờ bạn đã hoàn tất cài đặt prometheus. Chuyển sang bước tiếp theo để cài đặt Node Exporter.
Cài đặt Node Exporter trên Rocky Linux
Node exporter là một phần của dự án prometheus. Bạn có thể sử dụng node exporter để xuất số liệu của máy chủ Linux sang máy chủ Prometheus.Trong bước này, bạn sẽ cài đặt node exporter trên hệ thống Rocky Linux từ tệp tar.gz.
Kiểm tra liên kết này để tải phiên bản mới nhất của node exporter. Trong ví dụ này, chúng ta sẽ cài đặt node exporter phiên bản 1.3.0.
1. Thay đổi thư mục làm việc thành '/usr/src' và tải xuống tệp nhị phân của node exporter bằng lệnh sau.
Mã:
cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz
Mã:
tar -xf node_exporter-1.3.0.linux-amd64.tar.gz
2. Tiếp theo, di chuyển tệp nhị phân của trình xuất nút đến thư mục '/usr/local/bin' bằng lệnh sau.
Mã:
mv node_exporter-*/node_exporter /usr/local/bin
Thiết lập Node_exporter thành dịch vụ
Trước khi tạo tệp dịch vụ của trình xuất nút, hãy tạo người dùng hệ thống mới 'node_exporter'.1. Thực hiện lệnh sau để tạo người dùng hệ thống mới.
Mã:
sudo adduser -M -r -s /sbin/nologin node_exporter
Mã:
sudo nano /etc/systemd/system/node_exporter.service
Mã:
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
3. Bây giờ hãy tải lại trình quản lý systemd để áp dụng cấu hình mới.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl enable --now node_exporter
Sau đó, hãy kiểm tra trạng thái hiện tại của dịch vụ 'node_exporter'.
Mã:
sudo systemctl status node_exporter
5. Trình xuất nút đang chạy trên cổng mặc định '9100'. Xác minh bằng lệnh ss bên dưới.
Mã:
ss -aplnt | grep node
Mã:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=683,fd=4))
LISTEN 0 128 *:9090 *:* users:(("prometheus",pid=709,fd=8))
LISTEN 0 128 *:9100 *:* users:(("node_exporter",pid=5786,fd=3))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=683,fd=6))
Thêm node_exporter vào Prometheus
Sau khi bạn hoàn tất cài đặt Prometheus và node exporter, hãy thêm node exporter vào máy chủ Prometheus.1. Chỉnh sửa cấu hình Prometheus bằng trình soạn thảo nano.
Mã:
sudo nano /etc/prometheus/prometheus.yml
Mã:
- job_name: 'node_exporter_metrics'
scrape_interval: 5s
static_configs:
- targets: ['SERVER-IP:9100']
2. Bây giờ hãy khởi động lại dịch vụ Prometheus để áp dụng cấu hình mới.
Mã:
sudo systemctl restart prometheus
Xác minh cài đặt Prometheus và Node Exporter
1. Quay lại bảng điều khiển Prometheus, nhấp vào menu 'Trạng thái' và chọn 'Mục tiêu'.Bạn sẽ thấy hai điểm cuối khác nhau, 'prometheus' và 'node_exporter_metrics'.
2. Tiếp theo, di chuyển đến menu 'đồ thị' và nhập truy vấn PromQL vào thanh tìm kiếm. Đối với ví dụ này, hãy kiểm tra hệ điều hành chi tiết bằng truy vấn 'node_os_info'.
Và bạn sẽ thấy thông tin chi tiết về hệ điều hành hiện tại của mình.
3. Một ví dụ khác, hãy kiểm tra tốc độ mạng bằng truy vấn 'node_network_speed_bytes', sau đó chuyển đến tab 'Graph'. Và bạn sẽ thấy đầu ra tương tự như bên dưới.
Bây giờ bạn đã cài đặt thành công Prometheus và node exporter trên hệ thống Rocky Linux.
Kết luận
Xin chúc mừng! Bạn đã tìm hiểu cách cài đặt và cấu hình cơ bản của hệ thống giám sát Prometheus và node exporter trên hệ thống Rocky Linux.Đối với bước tiếp theo, bạn có thể khám phá một Prometheus exporter khác cho các ứng dụng khác và Grafana làm bảng điều khiển giám sát.