Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New Relicを使って PHPの監視、始めてみた
Search
まるすけ
November 14, 2024
1
100
New Relicを使って PHPの監視、始めてみた
まるすけ
November 14, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
dockerの豆知識を沢山話す
mal0961
3
390
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
190
Featured
See All Featured
Building an army of robots
kneath
302
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
How GitHub (no longer) Works
holman
312
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Visualization
eitanlees
146
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building Adaptive Systems
keathley
38
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
A designer walks into a library…
pauljervisheath
205
24k
Speed Design
sergeychernyshev
25
740
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
まるすけ (@malsuke096) New Relicを使って PHPの監視、始めてみた 1 2024/11/14
(注意) New Relicの回し者じゃありません 2
New Relicとは 3
New Relicとは 4 (オールインワン)オブザーバビリティプラットフォーム
New Relicとは 5 類似製品・パーツ
オブザーバビリティって? 6 https://speakerdeck.com/atsushikoga/opentelemetry-phpteshi-meru-ohusahahiriteiru-men?slide=6
なぜNew Relicの話 7
なぜNew Relicの話? 8 バイト先の会社が使ってた どうやら個人なら全機能が無料で使えるらしい! (ログは毎月100GBまで無料) PHPだと導入が楽らしい!? 学生特典もある
New Relicを使ってみる 9
New Relicの設定 10
New Relicの設定方法 11 PHP拡張のインストール (Dockerfileへ追記) php拡張のインストール 設定ファイルのライセンスキー設定
New Relicの設定方法 12 php-daemonコンテナの設定 (compose.yamlへ追記) daemonのコンテナを追加
おしまい 13
設定めっちゃ楽 導入だけなら本体のコードに触れすらしない 14
設定後 ダッシュボード 15
設定が終わった後リクエストを流すと 16 (PHP自体の応答速度) 8.32ms エラー率 (24.3%) スループット (11.9req/min) 満足度?
設定が終わった後リクエストを流すと 17 (PHP自体の応答速度) 8.32ms エラー率 (24.3%) スループット (11.9req/min) 満足度?
PHPでの活用 18
PHPでの活用 - Error・Warningの発見 19
PHPでの活用 - Error・Warningの発見 20 一覧表示される!嬉しい!
PHPでの活用 - Error・Warningの発見 21 詳細もわかる!
PHPでの活用 - Error・Warningの発見 22 詳細もわかる! どこで問題が起きてるかわかりやすい!
PHPでの活用 - 処理の遅いエンドポイントの発見 23
PHPでの活用 - 処理の遅いエンドポイントの発見 24 勝手に処理のエンドポイント毎の統計が表示される。 (カスタマイズすればいろいろ表示できるよ)
まて! 25
ルーティングを行っていると 全部/index.phpになるではないか! 26
PHPでの活用 - 処理の遅いエンドポイントの発見 27 Laravel勢とか.htaccessでひん曲げる勢とか。
PHPでの活用 - 処理の遅いエンドポイントの発見 28 安心してください。 newrelic_name_transactionを使えばこっちからpathを教える ことが可能です! (VScodeが馬鹿なのは御愛嬌 PhpStormを使おう)
PHPでの活用 - PHPの応答速度確認 29
PHPでの活用 - PHPの応答速度確認 30 クライアントへのレスポンスではなく、PHP自体の応答速度が 計測される。 レスポンスが遅い場合にPHPの問題なのか判断しやすい。
PHPでの活用 - PHPの応答速度確認 31 AWS上でPHPを動かすシンプルな構成 この時、ALBやCloudFrontでも問題が発生する可能性がある (AWSの障害等) 原因の切り分けが重要
このご時世、なんでもPHPが悪者にされる 誰が悪いのかはっきりさせたほうが良い 32
PHPでの活用 - 不要なファイル・関数の発見 33
PHPでの活用 - 不要なファイル・関数の発見 34 エンドポイントになっていればアクセスログから利用されてる か発見可能だけど... どっかからInclude、requireされてそうな場合発見が難しい こういうのやめてほしい。
PHPでの活用 - 不要なファイル・関数の発見 35 どこで参照されているかわからない場合にわざとWarningや Exceptionを発生させることで発見が可能
PHPでの活用 - 不要なファイル・関数の発見 36 スタックトレースもついてくるので 「どっから呼び出されているか」がわかる! test.phpがunused.phpを呼び出している
New Relicなかなかええやん 37
わし、無料やけど会社で使うと料 金いくらなんやろか 38
せや!バイト先の請求書見てみよっと! 39
40
41
42
New Relicはユーザ数課金だが どうやらフルプラットフォームユーザーは 月額$300/人 !! 43
料金形態 44 機能、ログ容量、ホスト数 ユーザ数課金じゃないので全員が見れる! エクセル職人が誕生しない! ユーザ数、ログ容量 ホスト数課金じゃないのでステージング等 いろんな場所でも活用できる!
どっちを使うかはあなた次第 45
ありがとうございました(終) 46