TypistTech.trellis-newrelic-php

Trellis Nouvel Agent PHP New Relic

Rôle Ansible Dernière étiquette GitHub (SemVer) Rôle Ansible Score qualité Ansible GitHub Soutenir sur GitHub Soutenir via PayPal Engager Typist Tech Suivre @TangRufus sur Twitter

Installez l'agent PHP New Relic sur les serveurs Trellis.

Variables de rôle

# group_vars/<environnement>/vault.yml
# Ce fichier doit être crypté. Voir : https://roots.io/trellis/docs/vault/
##########################################################################

# Clé de licence New Relic
## Voir : https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx

# group_vars/<environnement>/main.yml
###################################

# Indique l'état souhaité du paquet.
# `latest` assure que la dernière version est installée.
# `present` ne met pas à jour si déjà installé.
# Choix : present|latest
# Par défaut : latest
newrelic_package_state: present

# Vérifiez les valeurs par défaut ici : https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# Voir aussi : https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
  appname: "Mon Application Géniale {{ env }}"
  framework: no_framework
  transaction_tracer.detail: 1
  datastore_tracer.database_name_reporting.enabled: true

Modifier le Playbook de Trellis

Ajoutez ce rôle à dev.yml et server.yml immédiatement après role: php :

  # `dev.yml` & `server.yml`

  roles:
      # D'autres rôles Trellis ...
      - { role: php, tags: [php] }
+     - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
      # D'autres rôles Trellis ...

Exigences

Installation

Ajoutez ce rôle à galaxy.yml :

- src: TypistTech.trellis-newrelic-php # Respectez la casse !
  version: XXX.YYY.ZZZ # Vérifiez la dernière version !

Exécutez $ trellis galaxy install pour installer ce nouveau rôle.

Erreurs courantes

vault_newrelic_license n'est pas défini

Cryptez votre clé de licence New Relic dans group_vars/<environnement>/vault.yml. Consultez les variables de rôle.

New Relic fusionne plusieurs environnements en une seule application

Solution : définissez un appname différent pour chaque environnement.

Conseils :

# group_vars/all/main.yml
#########################

newrelic_config:
  appname: "Mon Application Géniale {{ env }}"

Erreur après la mise à jour de la version PHP

New Relic échoue et provoque des erreurs lors de la mise à niveau des versions majeures ou mineures de PHP (par exemple : de 7.4 à 8.0, de 8.0 à 8.1).

code de retour non nul
Avertissement PHP :  PHP Startup: Impossible de charger la librairie dynamique 'newrelic.so'
(tentatives : /usr/lib/php/20180731/newrelic.so (/usr/lib/php/20180731/newrelic.so :
fichier d'objet partagé introuvable),
/usr/lib/php/20180731/newrelic.so.so (/usr/lib/php/20180731/newrelic.so.so :
fichier d'objet partagé introuvable)) dans Unknown on

Après chaque mise à niveau de version majeure ou mineure de PHP (c'est-à-dire lorsque vous voyez l'erreur ci-dessus) :

# Pour les configurations multi-serveurs, effectuez les étapes suivantes sur chaque serveur.
ssh [email protected]
sudo newrelic-install install
sudo reboot

# Attendez que le(s) serveur(s) redémarrent, puis reprovisionnez
# Pour les configurations multi-serveurs, il vous suffit de reprovisionner une fois
trellis provision production

Limitations

  • Par défaut, une seule application APM New Relic par serveur.

Étend le bloc fastcgi_basic pour inclure fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})"; juste après la ligne include fastcgi_params; pour contourner cette limitation.

Les demandes de tirage sont les bienvenues.

Questions Fréquemment Posées

Ça a l'air génial. Où puis-je trouver d'autres choses comme ça ?

Ce package n'est pas sur wp.org. Où puis-je donner une évaluation :star::star::star::star::star: ?

Merci ! Je suis ravi que cela vous plaise. Il est important de me faire savoir que quelqu'un utilise ce projet. Puisque ce projet n'est pas hébergé sur wordpress.org, veuillez envisager :

Parrainage :heart:

Vous aimez trellis-newrelic-php ? Aidez-moi à le maintenir, un parrainage ici peut m’aider.

Fond de correspondance des sponsors GitHub

Savez-vous que GitHub va faire correspondre votre parrainage ?

Parrainez maintenant via GitHub pour doubler votre générosité.

Pourquoi ne me pas engager ?

Prêt à prendre des missions freelance WordPress. Contactez-moi via le formulaire de contact ici ou par e-mail à [email protected]

Voulez-vous aider d'une autre manière ? Voulez-vous être un sponsor ?

Contact : Tang Rufus

Retours

Veuillez donner votre avis ! Nous voulons rendre cette bibliothèque utile dans le plus de projets possible. Veuillez soumettre un problème et indiquer ce que vous aimez et ce que vous n'aimez pas, ou forker le projet et faire des suggestions. Aucun problème n'est trop petit.

Sécurité

Si vous découvrez un problème de sécurité, veuillez envoyer un e-mail à [email protected] au lieu d'utiliser le tracker des problèmes.

Crédits

Trellis Nouvel Agent PHP New Relic est un projet de Typist Tech et maintenu par Tang Rufus, développeur freelance à embaucher.

Une liste complète des contributeurs peut être trouvée ici.

Un grand merci à l'équipe Roots grâce à laquelle Trellis a rendu ce projet possible.

Contribution

Veuillez consulter CODE_OF_CONDUCT pour plus de détails.

Licence

Trellis Nouvel Agent PHP New Relic est publié sous la Licence MIT.

À propos du projet

Install New Relic PHP agent on Trellis servers

Installer
ansible-galaxy install TypistTech.trellis-newrelic-php
Licence
mit
Téléchargements
5.6k
Propriétaire