TypistTech.trellis-newrelic-php
Trellis New Relic PHP Agent
Installiere den New Relic PHP Agent auf Trellis Servern.
Rollenvariablen
# group_vars/<Umgebung>/vault.yml
# Diese Datei sollte verschlüsselt sein. Siehe: https://roots.io/trellis/docs/vault/
##########################################################################
# New Relic Lizenzschlüssel
## Siehe: https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx
# group_vars/<Umgebung>/main.yml
###################################
# Gibt den gewünschten Paketstatus an.
# `latest` stellt sicher, dass die neueste Version installiert ist.
# `present` aktualisiert nicht, wenn bereits installiert.
# Optionen: present|latest
# Standard: latest
newrelic_package_state: present
# Überprüfe die Standardwerte hier: https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# Siehe auch: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
appname: "Meine tolle App {{ env }}"
framework: kein_framework
transaction_tracer.detail: 1
datastore_tracer.database_name_reporting.enabled: true
Trellis' Playbook anpassen
Füge diese Rolle in dev.yml
und server.yml
unmittelbar nach role: php
hinzu:
# `dev.yml` & `server.yml`
roles:
# Andere Trellis Rollen ...
- { role: php, tags: [php] }
+ - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
# Andere Trellis Rollen ...
Anforderungen
Installation
Füge diese Rolle in galaxy.yml
hinzu:
- src: TypistTech.trellis-newrelic-php # Groß- und Kleinschreibung beachten!
version: XXX.YYY.ZZZ # Überprüfe die neueste Version!
Führe $ trellis galaxy install
aus, um diese neue Rolle zu installieren.
Häufige Fehler
vault_newrelic_license
ist nicht definiert
Verschlüsseln Sie Ihren New Relic Lizenzschlüssel in group_vars/<Umgebung>/vault.yml
. Siehe Rollenvariablen.
New Relic fasst mehrere Umgebungen zu einer einzelnen Anwendung zusammen
Lösung: Definiere unterschiedliche appname
für verschiedene Umgebungen.
Tipps:
# group_vars/all/main.yml
#########################
newrelic_config:
appname: "Meine tolle App {{ env }}"
Fehler nach Upgrade der PHP-Version
New Relic könnte fehlschlagen und verursachen, dass die Bereitstellung in Fehler endet, wenn große oder kleine PHP-Versionen aktualisiert werden (z.B.: von 7.4 auf 8.0, von 8.0 auf 8.1).
nicht Null Rückgabewert
PHP-Warnung: PHP-Startfehler: kann dynamische Bibliothek 'newrelic.so' nicht laden
(versucht: /usr/lib/php/20180731/newrelic.so (/usr/lib/php/20180731/newrelic.so:
kann geteilte Objektdatei nicht öffnen: Datei oder Verzeichnis nicht gefunden),
/usr/lib/php/20180731/newrelic.so.so (/usr/lib/php/20180731/newrelic.so.so:
kann geteilte Objektdatei nicht öffnen: Datei oder Verzeichnis nicht gefunden)) in Unbekannt auf
Nach jedem Upgrade einer großen oder kleinen PHP-Version (d.h.: wenn Sie den obigen Fehler sehen):
# Bei Multi-Server-Setups, führen Sie die folgenden Schritte auf jedem Server aus.
ssh [email protected]
sudo newrelic-install install
sudo reboot
# Warten Sie, bis die Server neu gestartet sind, und führen Sie dann die Bereitstellung erneut durch
# Bei Multi-Server-Setups müssen Sie nur einmal die Bereitstellung erneut durchführen
trellis provision production
Einschränkungen
- Standardmäßig nur eine New Relic APM-Anwendung pro Server.
Erweitert
den fastcgi_basic
-Block, um fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})";
direkt nach der Zeile include fastcgi_params;
hinzuzufügen, um dieses Limit zu umgehen.
Pull-Requests sind willkommen.
FAQs
Sieht toll aus. Wo kann ich weitere nützliche Dinge finden?
- Artikel auf dem Blog von Typist Tech Blog
- Tang Rufus' WordPress-Plugins auf wp.org
- Weitere Projekte auf Typist Techs GitHub-Profil
- Melde dich für den Newsletter von Typist Tech an
- Folgt Tang Rufus' Twitter-Konto
- Beauftrage Tang Rufus, um deine nächste tolle Site zu erstellen
Dieses Paket ist nicht auf wp.org. Wo kann ich eine :star::star::star::star::star: Bewertungen abgeben?
Danke! Es freut mich, dass du es magst. Es ist wichtig, dass du mir mitteilst, dass jemand dieses Projekt nutzt. Da es nicht auf wordpress.org gehostet ist, überlege bitte:
- :heart: sponsore dieses Projekt
- :star: sterne dieses Github-Repo
- :eyes: beobachte dieses Github-Repo
- Tweet etwas Gutes und erwähne @TangRufus
- Schreibe Blog-Posts
- Reiche Pull-Requests ein
- engagiere mich
Sponsoring :heart:
Liebst du trellis-newrelic-php
? Hilf mir, es zu pflegen, eine Sponsoring hier kann dabei helfen.
GitHub Sponsoren-Matching-Fonds
Weißt du, dass GitHub deine Sponsoring-Beiträge verdoppeln wird?
Sponsoren jetzt über GitHub, um deine Großartigkeit zu verdoppeln.
Warum beauftragst du mich nicht?
Bereit, freiberufliche WordPress-Jobs anzunehmen. Kontaktier mich über das Kontaktformular hier oder per E-Mail [email protected]
Möchtest du anders helfen? Möchtest du ein Sponsor sein?
Kontakt: Tang Rufus
Feedback
Bitte gib Feedback! Wir wollen diese Bibliothek in so vielen Projekten wie möglich nützlich machen. Bitte reiche ein Problem ein und teile mir mit, was dir gefällt und was nicht, oder fork das Projekt und mache Vorschläge. Kein Problem ist zu klein.
Sicherheit
Wenn du sicherheitsrelevante Probleme entdeckst, sende bitte eine E-Mail an [email protected] anstelle der Nutzung des Issues-Trackers.
Anerkennung
Trellis New Relic PHP Agent ist ein Projekt von Typist Tech und wird von Tang Rufus, freiberuflichem Entwickler, gepflegt.
Eine vollständige Liste der Mitwirkenden findest du hier.
Ein besonderer Dank gilt dem Roots-Team, dessen Trellis dieses Projekt möglich gemacht hat.
Mitwirken
Bitte siehe CODE_OF_CONDUCT für weitere Details.
Lizenz
Trellis New Relic PHP Agent ist unter der MIT-Lizenz veröffentlicht.
Install New Relic PHP agent on Trellis servers
ansible-galaxy install TypistTech.trellis-newrelic-php