溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用Scout APM監(jiān)控Laravel程序

發(fā)布時(shí)間:2022-11-08 09:10:06 來源:億速云 閱讀:99 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么使用Scout APM監(jiān)控Laravel程序”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“怎么使用Scout APM監(jiān)控Laravel程序”文章能幫助大家解決問題。

設(shè)置

要開始監(jiān)控您的 Laravel 應(yīng)用程序,您首先需要一個(gè) Scout 帳戶。如果您還沒有,可以 在此處注冊(cè) 14 天免費(fèi)試用(無需信用卡)。

接下來要做的是將低開銷的監(jiān)控代理添加到項(xiàng)目的依賴中,這可以通過在 shell 中使用一個(gè)命令來完成:

composer require scoutapp/scout-apm-laravel

此命令將安裝兩個(gè)包:scout-apm-laravel 和 scout-apm-php。下一步是定義一些配置以代理鏈接到您的賬戶。為此,請(qǐng)?jiān)谀奈谋揪庉嬈髦写蜷_項(xiàng)目的 .env 文件,并將以下三行配置添加到文件中:

SCOUT_MONITOR=true
SCOUT_KEY=”enter your Agent Key here”
SCOUT_NAME=”enter the name of you application here”

您可以在 Scout 的設(shè)置頁面 上找到您賬戶的代理秘鑰。部署,大約 5 分鐘后,您的數(shù)據(jù)將開始出現(xiàn)在 Scout 中。 

從哪兒開始?

現(xiàn)在你已經(jīng)創(chuàng)建了一個(gè) Scout 帳戶,連接了監(jiān)控代理,但是你從哪里開始診斷你的應(yīng)用程序的性能問題呢?讓我們看一下 Scout 的主要功能,這些功能可以幫助您快速了解性能問題。

主概覽頁面

當(dāng)您登錄 Scout 時(shí),您看到的第一個(gè)頁面是概覽頁面(如下所示),它為您提供了一個(gè)清晰、整潔的應(yīng)用程序運(yùn)行狀況和性能快照,一目了然。

該圖表是高度可配置的,允許您更改時(shí)間段并切換您想要查看的指標(biāo)。它還具有一個(gè)簡(jiǎn)潔的拖放工具(如下所示),可讓您在希望更詳細(xì)地探索的區(qū)域周圍繪制一個(gè)框。當(dāng)您繪制這些框時(shí),將動(dòng)態(tài)加載一個(gè)彈出窗口,顯示在此時(shí)間段內(nèi)訪問的所有端點(diǎn)。當(dāng)您在圖表上看到性能峰值并且想要了解其原因時(shí),此功能尤其有用。

洞察選項(xiàng)卡

如果您是第一次嘗試 Scout,一個(gè)很好的起點(diǎn)是洞察選項(xiàng)卡。在這里,我們有一組算法可以分析您的項(xiàng)目以識(shí)別潛在的 n+1 查詢慢查詢。這些為您提供了「唾手可得的」性能修復(fù),通??梢粤⒓刺岣邞?yīng)用程序的性能。

端點(diǎn)和跟蹤

Scout 主要提供兩個(gè)級(jí)別的應(yīng)用程序性能指標(biāo)。首先,從端點(diǎn)的角度來看。例如,平均而言,訪問此端點(diǎn)需要多長(zhǎng)時(shí)間?時(shí)間花費(fèi)在哪里?

如果您查看下面的屏幕截圖,您可以清楚地看到,在 3 次訪問此 ForgetPasswordController 端點(diǎn)的 2,371 毫秒平均請(qǐng)求時(shí)間中,有 78% 花費(fèi)在控制器層,這表明這將是第一個(gè)調(diào)查是否我們想嘗試改善這個(gè)緩慢的端點(diǎn)。

Scout 主要展示指標(biāo)的第二個(gè)角度是在 Trace 級(jí)別。例如,在某人發(fā)出這個(gè)特定的 Web 請(qǐng)求期間,需要多長(zhǎng)時(shí)間才能完成,以及請(qǐng)求的哪些級(jí)別消耗的時(shí)間最多等。查看下面 UserController 的更新操作的跟蹤,我們可以看到在在這種情況下,98% 的時(shí)間都花在了 SQL 層上,而大部分時(shí)間都花在了對(duì)第一行查詢的那 2 次調(diào)用上。如果我們點(diǎn)擊那個(gè) SQL 按鈕,我們可以看到一個(gè)回溯,看看我們是否可以改進(jìn)查詢。

這些頁面是您在 Scout 中花費(fèi)大部分時(shí)間的地方,它們?yōu)槟峁┝嗽趪L試了解您的性能問題時(shí)必不可少的可見性。您可以直接從主概覽頁面和洞察選項(xiàng)卡訪問 EndpointTrace 頁面,或者單擊頁面頂部的 Web Endpoints 鏈接。

不止于此

現(xiàn)在我們已經(jīng)介紹了 Scout 的基礎(chǔ)知識(shí)并向您展示了您通常會(huì)日復(fù)一日使用的系統(tǒng)的主要區(qū)域,現(xiàn)在讓我們將注意力轉(zhuǎn)移到一些更高級(jí)的功能上,這些功能使 Scout 在 APM 領(lǐng)域脫穎而出。

錯(cuò)誤監(jiān)控

無論您是使用 Sentry、Honeybadger、Bugsnag 還是 Rollbar 進(jìn)行錯(cuò)誤監(jiān)控,我們都能滿足您的需求! Scout 與這些流行的服務(wù)無縫集成,讓您可以在主概覽頁面上的一個(gè)地方進(jìn)行所有監(jiān)控。

無論您使用哪種服務(wù),設(shè)置過程都是相似的,并且 所涉及的只是在 Scout 的設(shè)置屏幕上添加 API 令牌。

自定義上下文和跟蹤資源管理器

為什么此性能問題僅在周二晚上 2:00 AM 從巴西 IP 地址發(fā)生?這些困難(但常見)的性能問題可以通過 Scout 最強(qiáng)大的功能之一來解決:與用戶定義的自定義上下文結(jié)合使用的跟蹤資源管理器。

使用定義的自定義上下文允許您告訴我們您需要查看的內(nèi)容。值得投入 相對(duì)較短的設(shè)置時(shí)間 以獲得監(jiān)控超能力!默認(rèn)情況下,您將看到的唯一上下文字段是 URI 和主機(jī)名,如下所示,但這些可以自定義為您想要的任何內(nèi)容。

跟蹤資源管理器 的多過濾器圖表(如上所示)允許您檢查與您定義的條件匹配的端點(diǎn),然后您可以在屏幕的 Transaction Traces 部分中查看與這些過濾器匹配的所有跟蹤。例如,也許您想查看某個(gè)用戶的 Web 請(qǐng)求,或者某個(gè)計(jì)劃的所有用戶的 Web 請(qǐng)求,或者來自世界某個(gè)地區(qū)的 Web 請(qǐng)求。這些操作在帶有自定義上下文的跟蹤資源管理器中很容易完成,它們可以幫助您深入了解那些難以診斷、耗時(shí)的性能問題。

部署跟蹤

您看這個(gè)性能問題是否在上次部署后突然開始發(fā)生? 在您部署期間的用戶體驗(yàn)如何? 這些是可以使用部署跟蹤功能來回答,該功能將在主概覽圖表上放置一個(gè)火箭符號(hào)以指示部署何時(shí)發(fā)生。

部署追蹤還允許您查看詳細(xì)信息,例如部署中涉及的提交數(shù)量和來自哪個(gè)分支的提交。當(dāng)您將 SHA 或您的部署添加到 SCOUT_REVISON_SHA 環(huán)境變量中時(shí),我們可以收集所有這些信息。

警報(bào)

與所有優(yōu)秀監(jiān)控方案一樣,Scout 為您提供了一個(gè)復(fù)雜的警報(bào)系統(tǒng),該系統(tǒng)可以配置為在端點(diǎn)響應(yīng)時(shí)間或內(nèi)存使用指標(biāo)超過某個(gè)閾值時(shí),向某些人發(fā)送警報(bào)。這些警報(bào)將在主概覽圖上顯示為警告符號(hào),并發(fā)出通知。

默認(rèn)情況下,系統(tǒng)警報(bào)將通過郵件發(fā)送通知給通知組中的用戶,但也可以通過我們的 webhook 功能將其配置與 Slack、VictorOps、PagerDuty 等第三方服務(wù)一起工作。

自定義儀器

您是否在使用 Laravel 之外的庫,而我們目前沒有檢測(cè)到這些庫?如果是這樣,那么首先讓我們的支持團(tuán)隊(duì)知道,我們將嘗試為您添加支持。于此同時(shí),您可以自己添加一些自定義工具,它 非常容易上手,它將確保您對(duì)整個(gè)應(yīng)用程序有完全的可見性。

關(guān)于“怎么使用Scout APM監(jiān)控Laravel程序”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI