TypistTech.trellis-newrelic-php
Trellis New Relic PHPエージェント
TrellisサーバーにNew Relic PHPエージェントをインストールします。
ロール変数
# group_vars/<environment>/vault.yml
# このファイルは暗号化する必要があります。詳しくは:https://roots.io/trellis/docs/vault/
##########################################################################
# New Relic ライセンスキー
## 詳しくは:https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx
# group_vars/<environment>/main.yml
###################################
# パッケージの状態を示します。
# `latest` は最新バージョンがインストールされることを保証します。
# `present` は既にインストールされている場合は更新しません。
# 選択肢: present|latest
# デフォルト: latest
newrelic_package_state: present
# デフォルト値についてはここを確認してください:https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# 詳しくは:https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
appname: "My Awesome App {{ env }}"
framework: no_framework
transaction_tracer.detail: 1
datastore_tracer.database_name_reporting.enabled: true
Trellisのプレイブックをハッキングする
このロールをdev.yml
およびserver.yml
にrole: php
のすぐ後に追加します:
# `dev.yml` & `server.yml`
roles:
# 他のTrellisロール ...
- { role: php, tags: [php] }
+ - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
# 他のTrellisロール ...
要件
インストール
このロールをgalaxy.yml
に追加します:
- src: TypistTech.trellis-newrelic-php # ケースに敏感!
version: XXX.YYY.ZZZ # 最新バージョンを確認してください!
$ trellis galaxy install
を実行して、この新しいロールをインストールします。
よくあるエラー
vault_newrelic_license
が定義されていません
New Relicライセンスキーをgroup_vars/<environment>/vault.yml
に暗号化してください。ロール変数を参照してください。
New Relicが複数の環境を1つのアプリケーションに統合します
解決策: 環境ごとに異なるappname
を定義します。
ヒント:
# group_vars/all/main.yml
#########################
newrelic_config:
appname: "My Awesome App {{ env }}"
PHPバージョンアップグレード後にエラーが発生します
PHPのメジャーまたはマイナーリリースをアップグレードすると(例: 7.4から8.0へ、8.0から8.1へ)、New Relicが失敗し、プロビジョニングエラーが発生します。
非ゼロ戻りコード
PHP Warning: PHP Startup: dynamic library 'newrelic.so'を読み込めません
(試行: /usr/lib/php/20180731/newrelic.so (/usr/lib/php/20180731/newrelic.so:
共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません),
/usr/lib/php/20180731/newrelic.so.so (/usr/lib/php/20180731/newrelic.so.so:
共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません)) in Unknown on
各PHPのメジャーまたはマイナーリリースのアップグレード後(上記のエラーが表示された場合):
# 複数サーバー構成の場合、各サーバーで次の手順を実行します。
ssh [email protected]
sudo newrelic-install install
sudo reboot
# サーバーが再起動するのを待ち、その後再プロビジョニングします
# 複数サーバー構成の場合、再プロビジョニングは1回で済みます
trellis provision production
制限事項
- デフォルトでは、1つのサーバーあたり1つのNew Relic APMアプリケーションのみ。
fastcgi_basic
ブロックを拡張し、include fastcgi_params;
の直後にfastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})";
を含めてこの制限を回避します。
プルリクエストは歓迎します。
FAQ
これは素晴らしいですね。似たような他のものはどこで見つけられますか?
- Typist Techのブログの記事
- wp.orgのTang RufusのWordPressプラグイン
- Typist TechのGitHubプロフィール上の他のプロジェクト
- Typist Techのニュースレターで最新情報を受け取る
- Tang RufusのTwitterアカウントをフォロー
- 次の素晴らしいサイトを作るためにTang Rufusを雇う
このパッケージはwp.orgにありません。どこでレビューを☆5つマークできますか?
ありがとうございます!これが誰かに使われていることを知らせるのは大事です。wordpress.orgにホストされていないため、以下を検討してください:
- :heart: スポンサーとなる
- :star: このGitHubリポジトリにスターをつける
- :eyes: このGitHubリポジトリをウォッチする
- @TangRufusに言及して良いことをツイートする
- ブログ記事を書く
- プルリクエストを提出する
- 私を雇う
スポンサーシップ :heart:
trellis-newrelic-php
が好きですか?維持するために助けてください。スポンサーシップはこちらで支援できます。
GitHub Sponsorsマッチング基金
GitHubはあなたのスポンサーシップをマッチングすることを知っていますか?
Githudでスポンサーになってあなたの素晴らしさを倍増させましょう。
私を雇わない理由は?
フリーランスのWordPressの仕事を受け付けています。こちらのコンタクトフォームまたは、メール[email protected]でご連絡ください。
他の方法で助けたいですか?スポンサーになりたいですか?
コンタクト: Tang Rufus
フィードバック
フィードバックをお願いします! このライブラリができるだけ多くのプロジェクトで役立つようにしたいと思います。 問題を提出し、どの点が良かったのか、また悪かったのかを教えてください。プロジェクトをフォークして提案をするのも歓迎です。 小さな問題でも大丈夫です。
セキュリティ
セキュリティに関連する問題を発見した場合は、[email protected]にメールしてください。問題トラッカーを使用しないでください。
クレジット
Trellis New Relic PHPエージェントはTypist Techのプロジェクトで、フリーランスの開発者Tang Rufusによって維持されています。
貢献者のフルリストはこちらで確認できます。
このプロジェクトを可能にしてくれたRootsチームに特別感謝します。
貢献
詳細についてはCODE_OF_CONDUCTを参照してください。
ライセンス
Trellis New Relic PHPエージェントはMITライセンスのもとでリリースされています。
Install New Relic PHP agent on Trellis servers
ansible-galaxy install TypistTech.trellis-newrelic-php