TypistTech.trellis-newrelic-php

Trellis New Relic PHP Agent

Ansible-Rolle GitHub Tag (neueste SemVer) Ansible-Rolle Ansible Qualitätsbewertung GitHub GitHub Sponsor Sponsor über PayPal Typist Tech beauftragen Twitter Folge @TangRufus

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?

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:

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.

Über das Projekt

Install New Relic PHP agent on Trellis servers

Installieren
ansible-galaxy install TypistTech.trellis-newrelic-php
Lizenz
mit
Downloads
5.6k