TypistTech.trellis-newrelic-php

Trellis New Relic PHPエージェント

Ansible Role GitHub tag (latest SemVer) Ansible Role Ansible Quality Score GitHub GitHub Sponsor Sponsor via PayPal Hire Typist Tech Twitter Follow @TangRufus

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.ymlrole: 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

これは素晴らしいですね。似たような他のものはどこで見つけられますか?

このパッケージはwp.orgにありません。どこでレビューを☆5つマークできますか?

ありがとうございます!これが誰かに使われていることを知らせるのは大事です。wordpress.orgにホストされていないため、以下を検討してください:

スポンサーシップ :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
ライセンス
mit
ダウンロード
5.6k