Tiếp nối sau bài viết giới thiệu Prometheus: Bước tiến vượt trội trong giám sát hệ thống, tại đây mình sẽ giới thiệu các bạn cách cài đặt Prometheus. Sau khi tìm hiểu tính năng và định nghĩa chung của Prometheus chắc hẳn các bạn đang muốn xem nó hoạt động thực sự như thế nào.
Cùng mình thử nghiệm Prometheus trên môi trường Development trước khi quyết định triển khai trên môi trường Production nhé.
Hiện có 2 cách thông dụng nhất là cài đặt Prometheus bằng Docker container hoặc trên máy chủ Linux.
Tuy nhiên để tối giản thời gian thử nghiệm mình sẽ làm trên Docker container Lab, môi trường máy chủ cũng sẽ tương tự, không khác nhiều cách cấu hình.
Có điều chú ý là trên Container khá thoải mái với việc Port và Network Group, các bạn cần rất cẩn thận bảo mật phần giao tiếp với các dịch vụ khác khi cài đặt trên máy chủ kết nối internet.
2. Cài đặt Prometheus trên môi trường Linux
Hiện tại Docker Hub đã có image Prometheus “officially” tuy nhiên hãy làm quen việc cài đặt từ source code để sau này có thể thực hiện trên máy chủ thật. Đầu tiên các bạn hãy chạy một Container vớii Image ubuntu:16.04
prometheus.yml: Đây là file cấu hình của Prometheus, bằng cách chỉnh sửa file này bạn có thể tuỳ chỉnh Prometheus server theo cách của bạn. Các bạn có thể tham khảo thêm tại Prometheus configuration.
prometheus: Là một binary file. Bạn có thể thực thi file này để khởi chạy Prometheus.
promtool: Là một tool giúp bạn kiểm tra các thiết lập cho Prometheus.
2.5. Di chuyển các file về vị trí hợp lý và cấp quyền cho user prometheus với prometheus file:
Sau khi chạy thành công bạn có thể vào website quản lý ở máy host với địa chỉ http://103.197.185.206:9090
2.9. Thử nghiệm với Apache ActiveMQ
Hiện tại với một server Prometheus nó sẽ tự thu thập dữ liệu của chính nó. Để thử nghiệm việc lấy dữ liệu thực tế các dịch vụ khác, mình sẽ dựng thêm một container chạy Apache ActiveMQ.
Như đã nêu ở bài trước những dịch vụ cần theo dõi theo thời gian như Queue sẽ rất thích hợp khi áp dụng Prometheus.
Chạy Container với image vromero/activemq-artemis:
$ docker run -it --rm \
--network=lab-prom \
-p 8161:8161 \
-p 61616:61616 \
-e ARTEMIS_USERNAME=admin \
-e ARTEMIS_PASSWORD=123456 \
-e ENABLE_JMX=true \
-e JMX_PORT=1199 \
-e JMX_RMI_PORT=1198 \
-p 9404:9404 \
-e ENABLE_JMX_EXPORTER=true \
--name acqueue
vromero/activemq-artemis
Các bạn có thể tìm hiểu thêm cách config image này tại Github của tác giả.
Image này đã có sẵn Exporter nên chúng ta chỉ cần khai báo target để Prometheus lấy thông tin
Endpoint: acqueue:9404
Chúng ta sửa lại /etc/prometheus/prometheus.yml một chút:
global:
scrape_interval: 10s
scrape_configs:
- job_name: 'prometheus_master'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'activemq_artemis'
scrape_interval: 5s
static_configs:
- targets: ['acqueue:9404']
2.10. Khởi động lại Prometheus và xem thử Graph
Ở đây, Node_memory_Memfree_bytes biểu thị dung lượng bộ nhớ trống còn lại trên hệ thống, không bao gồm bộ nhớ cache và bộ đệm có thể bị xóa.
Kết luận
Về cơ bản dựa vào những thông số theo thời gian trên, chúng ta có thể biết được sớm những hiện tượng gây lỗi cho hệ thống. Để các Chart và màu sắc đẹp hơn, dễ nhìn hơn, ở bài viết sau mình sẽ thử nghiệm thêm Grafana và kết nối với các dịch vụ Alert.
Thông thường thiết bị của bạn sẽ sử dụng DNS được cấu hình sẵn từ nhà mạng (ISP), tuy nhiên bạn có thể chủ động thay đổi để tối ưu hoá tốc độ internet hoặc vượt qua giới hạn truy cập vào một số trang web. Tham khảo bài viết này của TotHost để nắm được chi tiết cách kiểm tra và thay đổi DNS trên máy chủ Linux và Windows nhé!
Việc nắm được mức độ sử dụng tài nguyên trên hệ thống của bạn là rất quan trọng bởi thông tin này có thể giúp bạn quản lý hệ thống tốt hơn. Điều này thể hiện rõ ở khâu xác định vấn đề của hiệu xuất và cách tối ưu hoá hệ thống. Hãy cùng TotHost tìm hiểu về cách kiểm tra ứng dụng đang chiếm nhiều bộ nhớ trong Linux.
Bạn hay chặn quảng cáo bằng cách nào? Có rất nhiều cách khác nhau như cài extension, bộ tích hợp sẵn trong trình duyệt,... Tại bài viết này, TotHost sẽ hướng dẫn cho các bạn một bộ lọc quảng cáo hiệu quả mang tên Adguard Home.