Quay lại

Monitor Laravel App với Scout APM (Sponsor) Chuyên mục PHP và Laravel    2023-09-09    1.5k Lượt xem    10 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

Monitor Laravel App với Scout APM (Sponsor)

Không thể phủ nhận sự phổ biến của PHP. Nó đã trở thành một thế lực không ngừng trong thế giới phát triển web kể từ khi được phát hành vào năm 1995. Và bây giờ, nhờ có Laravel, nó vẫn phát triển mạnh mẽ hơn bao giờ hết!

Để hỗ trợ sự phổ biến này, Scout APM nỗ lực cung cấp một monitoring agent hiệu suất ứng dụng PHP để song hành với các agents Ruby, Python, Node.js và Elixir hiện có của họ và chúng ta nghĩ rằng sẽ là một ý tưởng hay khi cho các bạn thấy điều đó dễ dàng như thế nào là bắt đầu với nó và làm nổi bật các tính năng chính cho cộng đồng Laravel.

Setup

Để bắt đầu theo dõi các ứng dụng Laravel của bạn, trước hết bạn cần có tài khoản Scout. Nếu chưa có, bạn có thể đăng ký dùng thử miễn phí 14 ngày (không cần thẻ tín dụng) tại đây.

Điều tiếp theo cần làm là thêm monitoring agent chi phí thấp vào các phần phụ thuộc của dự án, việc này có thể được thực hiện bằng một lệnh duy nhất trong shell của bạn:

composer require scoutapp/scout-apm-laravel

Lệnh này sẽ cài đặt hai gói: Scout-apm-laravelScout-apm-php.

Việc tiếp theo cần làm là xác định một số cài đặt cấu hình để liên kết tác nhân với tài khoản của bạn. Để làm điều đó, hãy mở tệp .env của dự án trong trình soạn thảo văn bản yêu thích của bạn và thêm ba dòng sau vào cuối tệp:

SCOUT_MONITOR=true

SCOUT_KEY="enter your Agent Key here"

SCOUT_NAME="enter the name of you application here"

Bạn có thể tìm thấy account’s Agent Key của mình trên trang cài đặt của Scout.

Và thế là xong! Triển khai và sau khoảng 5 phút, dữ liệu của bạn sẽ bắt đầu xuất hiện trong Scout. Để biết thêm thông tin về cài đặt Heroku hoặc khắc phục sự cố cài đặt, documentation  và support.

Where to start?

Vậy là bạn đã tạo một tài khoản Scout, kết nối với monitoring agent, nhưng bạn bắt đầu từ đâu để xem các vấn đề về hiệu suất của ứng dụng của mình? Chúng ta hãy xem các tính năng chính của Scout có thể giúp bạn hiểu nhanh các vấn đề về hiệu suất của mình.

The main overview page

Trang đầu tiên bạn nhìn thấy khi đăng nhập vào Scout là trang tổng quan (hiển thị bên dưới), cung cấp cho bạn ảnh chụp nhanh rõ ràng, không lộn xộn về tình trạng và hiệu suất của ứng dụng của bạn chỉ trong nháy mắt.

Biểu đồ có khả năng cấu hình cao, cho phép bạn thay đổi khoảng thời gian và chuyển đổi số liệu bạn muốn xem. Nó cũng có một công cụ kéo và thả gọn gàng (hiển thị bên dưới) cho phép bạn vẽ một box xung quanh các khu vực bạn muốn khám phá chi tiết hơn. Một cửa sổ bật lên sẽ tự động tải khi bạn vẽ các box này, hiển thị tất cả các điểm cuối đã được truy cập trong khoảng thời gian này. Điều này có thể đặc biệt hữu ích khi bạn thấy hiệu suất tăng đột biến trên biểu đồ và bạn muốn biết nguyên nhân gây ra hiện tượng đó.

Insights tabs

Một nơi tuyệt vời để bắt đầu nếu bạn đang thử Scout lần đầu tiên là các tab thông tin chi tiết. Ở đây chúng ta có một bộ thuật toán phân tích dự án của bạn để xác định các truy vấn n+1 và slow queries. Những điều này mang lại cho bạn “kết quả dễ dàng” về các bản sửa lỗi hiệu suất thường có thể cải thiện hiệu suất ứng dụng của bạn ngay lập tức.

Endpoints and Traces

Scout chủ yếu cung cấp số liệu hiệu suất ứng dụng ở hai cấp độ. Trước hết, từ góc độ của Endpoint. Ví dụ: trung bình, Endpoint này mất bao lâu để truy cập và phân tích thời gian đã sử dụng là bao nhiêu?

Nếu nhìn vào ảnh chụp màn hình bên dưới, bạn có thể thấy rõ rằng trong 3 lần Endpoint RememberPasswordController này được truy cập, 78% trong tổng số 2.371 mili giây thời gian yêu cầu trung bình đã được sử dụng trong lớp điều khiển cho biết đó sẽ là nơi đầu tiên để điều tra xem liệu chúng ta muốn cố gắng cải thiện Endpoint chậm chạp này.

Phối cảnh thứ hai mà Scout chủ yếu trình bày các số liệu là ở cấp độ Theo dõi. Ví dụ: trong yêu cầu web cụ thể này mà ai đó đã thực hiện, mất bao lâu để hoàn thành và mức yêu cầu nào tiêu tốn nhiều thời gian nhất, v.v. Nhìn vào dấu vết hành động cập nhật của UserController bên dưới, chúng ta có thể thấy điều đó trong trường hợp này 98% thời gian được dành cho lớp SQL và phần lớn thời gian này được dành cho 2 lệnh gọi đến truy vấn ở dòng trên cùng. Nếu chúng ta nhấp vào nút SQL đó, chúng ta có thể thấy dấu vết quay lại và xem liệu chúng ta có thể cải thiện truy vấn hay không.

Những trang này là nơi bạn sẽ dành phần lớn thời gian của mình trong Scout và chúng cung cấp cho bạn loại khả năng hiển thị cần thiết khi cố gắng hiểu các vấn đề về hiệu suất của bạn. Bạn có thể truy cập các page Endpoints và Theo dõi bằng cách truy cập trực tiếp từ trang tổng quan chính và các tab thông tin chi tiết hoặc bằng cách nhấp vào liên kết Endpoints web ở đầu trang (hiển thị bên dưới).

Beyond the basics

Bây giờ chúng ta đã đề cập đến những kiến ​​thức cơ bản về Scout và cho bạn thấy những lĩnh vực chính của hệ thống mà bạn thường sử dụng hàng ngày, giờ hãy chuyển sự chú ý của chúng ta sang một số tính năng nâng cao hơn giúp Scout vượt trội trong APM.

Error Monitoring

Cho dù bạn đang sử dụng  SentryHoneybadgerBugsnag hay Rollbar để theo dõi lỗi thì chúng ta đều hỗ trợ bạn! Scout tích hợp hoàn hảo với các dịch vụ phổ biến này, cho phép bạn thực hiện tất cả hoạt động giám sát của mình ở một nơi, trên trang tổng quan chính.

Quá trình thiết lập tương tự nhau bất kể bạn sử dụng dịch vụ nào trong số này và tất cả involves is adding the API token đều trong cài đặt của Scout.

Custom Context and Trace Explorer

Tại sao sự cố hiệu suất này chỉ xảy ra lúc 2:00 sáng tối thứ Ba từ địa chỉ IP Brazlian? Những loại vấn đề khó khăn về hiệu suất (nhưng phổ biến) này có thể được giải quyết bằng một trong những tính năng mạnh mẽ nhất của Scout: trình khám phá dấu vết (trace explorer) được sử dụng cùng với ngữ cảnh tùy chỉnh do người dùng xác định.

Ngữ cảnh tùy chỉnh được xác định đã sử dụng cho phép bạn cho chúng ta biết những gì bạn cần xem. Và rất đáng để bạn đầu tư khoảng thời gian tương đối nhỏ để thiết lập! Theo mặc định, các trường ngữ cảnh duy nhất bạn sẽ thấy là URI và Tên máy chủ, như bạn có thể thấy bên dưới, nhưng những trường này có thể được tùy chỉnh theo bất kỳ điều gì bạn muốn.

Biểu đồ nhiều bộ lọc của trình khám phá dấu vết (trace explorer’s) (hiển thị ở trên) cho phép bạn kiểm tra các endpoints phù hợp với tiêu chí mà bạn đã xác định và sau đó bạn có thể xem tất cả các dấu vết khớp với các bộ lọc này trong phần Transaction Traces của màn hình. Ví dụ: có thể bạn muốn xem yêu cầu web của một người dùng nhất định hoặc của tất cả người dùng trên một quy mô gói nhất định hoặc từ một nơi nhất định trên thế giới. Những loại thao tác này rất dễ thực hiện trong trace explorer với ngữ cảnh tùy chỉnh và chúng giúp bạn tìm hiểu tận gốc những vấn đề khó chẩn đoán, tốn thời gian về hiệu suất.

Deploy tracking

Có phải vấn đề về hiệu suất mà bạn đang thấy đột nhiên xảy ra sau lần triển khai gần đây nhất không? Trải nghiệm người dùng như thế nào trong thời gian bạn triển khai? Đây là những loại câu hỏi có thể được trả lời bằng tính năng deploy tracking của chúng ta, tính năng này sẽ đặt biểu tượng tên lửa trên biểu đồ tổng quan chính để cho biết thời điểm triển khai diễn ra.

Deploy tracking cũng cho phép bạn xem chi tiết như số lượng commits đã tham gia vào quá trình triển khai và các commits đó đến từ nhánh nào. Chúng ta có thể thu thập tất cả thông tin này khi bạn thêm SHA hoặc hoạt động triển khai của bạn vào biến môi trường SCOUT_REVISON_SHA. (SCOUT_REVISON_SHA environmental variable.)

Alerting

Giống như tất cả các giải pháp giám sát tốt, Scout cung cấp cho bạn một alerting system có thể được định cấu hình để gửi cảnh báo cho một số người nhất định khi thời gian phản hồi của endpoint hoặc số liệu sử dụng bộ nhớ vượt quá một ngưỡng nhất định. Những cảnh báo này sẽ xuất hiện dưới dạng biểu tượng cảnh báo trên biểu đồ tổng quan chính và thông báo sẽ được gửi đi.

Theo mặc định, hệ thống cảnh báo sẽ gửi thông báo cho người dùng trong nhóm thông báo qua email, nhưng nó cũng có thể được định cấu hình để hoạt động với các dịch vụ của bên thứ ba như Slack, VictorOps, PagerDuty, v.v. bằng tính năng webhook của chúng ta.

Custom Instrumentation

Bạn có đang sử dụng các thư viện bên ngoài Laravel mà chúng ta hiện không sử dụng không? Nếu vậy, trước hết hãy cho nhóm hỗ trợ của chúng ta biết Và trong thời gian chờ đợi, bạn có thể tự mình thêm một số công cụ tùy chỉnh, việc bắt đầu thực sự rất dễ dàng và sẽ đảm bảo rằng bạn có khả năng hiển thị đầy đủ toàn bộ ứng dụng của mình.

Kết Luận

Như bạn có thể thấy Scout APM mang đến giải pháp giám sát APM rất hoàn thiện cho cộng đồng PHP và Laravel. Giao diện người dùng gọn gàng và công cụ đo lường chuyên sâu của chúng tôi giúp bạn nhanh chóng giải quyết được trọng tâm của các vấn đề về hiệu suất mà vẫn duy trì được mức giá phải chăng nhờ cơ cấu định giá dựa trên giao dịch linh hoạt của chúng ta.

Nếu vậy, hãy đăng ký tại đây ngay hôm nay để dùng thử miễn phí (không cần thẻ tín dụng).

 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday