Hướng dẫn xem file mà không cần giải nén trên Linux
Bài viết này sẽ hướng dẫn các bạn cách xem tập tin bị nén mà không cần giải nén trong hệ điều hành Linux.
26/07/2024
Đang Tải...
Một trong những yếu tố giúp tổ chức phát triển hiệu quả nhất là phân tích các số liệu đo lường để theo dõi và hiểu về hiệu suất hệ thống cơ sở hạ tầng và ứng dụng của họ. Các tổ chức sẽ sử dụng cơ sở dữ liệu chuỗi thời gian (TSDB) để quản lý, cái tên nổi tiếng nhất hiện nay là nền tảng giám sát Prometheus. Hãy cùng bắt đầu với bài viết “Prometheus: Bước tiến vượt trội trong giám sát hệ thống”.
Mục lục
Mục lục
Trong thần thoại Hy Lạp, Prometheus, có thể có nghĩa là “người biết trước tương lai”, là một vị thần Titan của lửa. Prometheus nổi tiếng với sự thông minh và việc làm người hùng cho loài người, và cũng được coi là tác giả của các nghệ thuật và khoa học của con người nói chung.
Đây là một công cụ giám sát để thu thập và xử lý bất kỳ chuỗi thời gian nào chỉ chứa các con số. Bên cạnh các số liệu, các định danh cá nhân và dấu thời gian, nó thu thập, sắp xếp và lưu trữ chúng.
Prometheus là một phần mềm mã nguồn mở “scrapes” (khai thác) các điểm cuối HTTP của số liệu để thu thập số liệu từ các mục tiêu. Các nền tảng cho cơ sở hạ tầng (như Kubernetes), ứng dụng và dịch vụ đều được hỗ trợ là “mục tiêu” (ví dụ: hệ thống quản lý cơ sở dữ liệu). Prometheus là một công cụ thu thập số liệu linh hoạt và cảnh báo hoạt động cùng với dịch vụ Alertmanager tương ứng.
SoundCloud đã khởi đầu xây dựng Prometheus từ năm 2012. Prometheus đã được rất nhiều hệ thống tin tưởng áp dụng. Dự án có một cộng đồng người đóng góp, phát triển rất tích cực.
Giờ đây Prometheus đã được tách khỏi SoundCloud và là một dự án mã nguồn mở độc lập. Năm 2016, Prometheus tham gia vào tổ chức CNCF (Cloud Native Computing Foundation) với vị trí được ưu tiên phát triển thứ hai sau K8s (Kubernetes).
Kiến trúc của Prometheus giúp dễ dàng tìm và thu thập dữ liệu từ các mục tiêu cung cấp dữ liệu cần thiết. Các ứng dụng được thiết kế của công ty hoặc một ứng dụng bên thứ ba có thể là mục tiêu. Dữ liệu được thu thập được lưu trữ trong Prometheus, nơi bạn có thể sử dụng PromQL (Prometheus Query Language) để xem xét nó.
Prometheus thu thập số liệu từ các công việc đã được thiết kế, trực tiếp hoặc thông qua một cổng trung gian đẩy dữ liệu cho các công việc ngắn hạn. Nó theo dõi tất cả các mẫu được thu thập cục bộ và áp dụng các quy tắc cho chúng để tạo ra các chuỗi thời gian mới từ dữ liệu hiện có hoặc cảnh báo người dùng. Dữ liệu thu thập được có thể được hiển thị bằng cách sử dụng Grafana hoặc các API tiêu dùng khác.
Metric là các đo lường số, để sử dụng thuật ngữ phổ biến. Sự thay đổi được theo dõi theo thời gian trong một chuỗi thời gian. Các metric mà người dùng cố gắng đo lường có thể thay đổi tùy thuộc vào ứng dụng. Đó có thể là thời gian yêu cầu cho một máy chủ web, số lượng kết nối hoặc truy vấn hoạt động trong cơ sở dữ liệu, v.v.
Nó rất quan trọng để giúp bạn hiểu tại sao ứng dụng của bạn hoạt động theo cách nhất định. Giả sử bạn đang sử dụng một ứng dụng web và nó chạy chậm. Để biết điều gì đang xảy ra với ứng dụng của bạn, bạn sẽ cần một số thông tin. Ví dụ, nếu có nhiều yêu cầu, ứng dụng có thể trở nên chậm chạp. Bằng cách sử dụng metric đếm yêu cầu, bạn có thể xác định nguyên nhân và thêm các máy chủ để xử lý tải nếu cần.
Prometheus giám sát bốn loại metric chính:
Counter là một trong những loại metric cơ bản nhất. Nó hữu ích để theo dõi và đánh giá các giá trị chỉ tăng lên. Bạn có thể đặt lại giá trị về 0 và tiến hành đo lường mới khi nó đạt đến một giá trị cụ thể.
Gauge được sử dụng để đo lường các giá trị tăng và giảm. Điều này bao gồm số lượng yêu cầu đồng thời hoặc việc sử dụng bộ nhớ trong thời điểm hiện tại. Thông thường, metric này được biểu diễn bằng một giá trị số duy nhất.
Summary hiển thị số lượng quan sát và tổng giá trị quan sát sau khi thực hiện mẫu. Ngoài ra, nó xác định các quantiles biến đổi trên một cửa sổ thời gian trượt.
Histogram được sử dụng để đại diện cho dữ liệu như thời gian phản hồi, kích thước mẫu và các quan sát liên quan khác. Thông thường, nó cung cấp tổng số tất cả các giá trị và số lần đếm trong các bucket. Cách tính toán metric có thể được tùy chỉnh để đáp ứng yêu cầu của bạn.
Lưu ý rằng vị trí và phương pháp sử dụng để tính các quantiles thống kê tạo ra sự khác biệt đáng kể giữa summaries và histograms. Trong khi quantiles của histogram có thể được tính toán phía máy chủ bằng cách sử dụng biểu thức PromQL, quantiles cho summaries được tính toán phía máy khách. Hãy chọn loại metric thống kê phù hợp với ứng dụng của bạn vì cả hai chiến lược đều có sự đánh đổi.
Prometheus thu thập thông tin dựa trên một số metric. Để hoạt động hiệu quả, nó phải hỗ trợ đa số các ngôn ngữ lập trình và phát triển phổ biến.
Với điều này, Prometheus cung cấp các thư viện cho nhiều ngôn ngữ lập trình khác nhau, bao gồm: Go, Ruby, Python, Java.
Đối với các ngôn ngữ khác phổ biến, các thư viện đang được phát triển, nhưng chưa được chính thức. Điều này bao gồm Node.js, C# và Rust. Ngay cả các tác vụ lập trình ngắn hạn như xử lý theo lô cũng có thể được cấu hình để được giám sát bởi Prometheus bằng cách sử dụng PushJobs.
Phương pháp tốt nhất để giám sát ứng dụng là thu thập thông tin từ các điểm cuối (endpoints). Các thư viện cung cấp các endpoint cho nhiều loại metric khác nhau. Tuy nhiên, Prometheus cần được thiết lập theo cách đó. Nếu không, nếu chương trình của bạn gặp sự cố, bạn có nguy cơ mất dữ liệu.
Sau đây là một số thuật ngữ thường được sử dụng trong Prometheus mà bạn nên nắm bắt ý nghĩa của nó.
Để thử nghiệm Prometheus, các bạn hãy làm theo hướng dẫn trong link sau:
Cài đặt và thử nghiệm Prometheus
Trên đây là nội dung cơ bản về Prometheus. Hãy xem xét tính năng và mô hình để áp dụng vào hệ thống của bạn nhé. Ở bài sau chúng ta sẽ cài đặt một hệ thống theo dõi và cảnh báo đơn giản với Prometheus và Grafana.