TypistTech.trellis-newrelic-php
Agenta New Relic PHP dla Trellis
Zainstaluj agenta New Relic PHP na serwerach Trellis.
Zmienne roli
# group_vars/<environment>/vault.yml
# Ten plik powinien być zaszyfrowany. Zobacz: https://roots.io/trellis/docs/vault/
##########################################################################
# Klucz licencyjny New Relic
## Zobacz: https://docs.newrelic.com/docs/accounts-partnerships/accounts/account-setup/license-key
vault_newrelic_license: xxxxxxxxxxx
# group_vars/<environment>/main.yml
###################################
# Określa pożądany stan pakietu.
# `latest` zapewnia, że zainstalowana jest najnowsza wersja.
# `present` nie aktualizuje, jeśli już jest zainstalowana.
# Możliwości: present|latest
# Domyślna: latest
newrelic_package_state: present
# Sprawdź domyślne wartości tutaj: https://github.com/TypistTech/trellis-newrelic-php/blob/master/defaults/main.yml
# Zobacz także: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration
newrelic_config:
appname: "Moja Wspaniała Aplikacja {{ env }}"
framework: no_framework
transaction_tracer.detail: 1
datastore_tracer.database_name_reporting.enabled: true
Modyfikacja playbooka Trellis
Dodaj tę rolę do dev.yml
i server.yml
bezpośrednio po role: php
:
# `dev.yml` & `server.yml`
roles:
# Niektóre inne role Trellis ...
- { role: php, tags: [php] }
+ - { role: TypistTech.trellis-newrelic-php, tags: [php, newrelic-php] }
# Niektóre inne role Trellis ...
Wymagania
- Ansible w wersji 2.7 lub nowszej
- Python w wersji 3.7.6 lub nowszej
- Trellis w wersji 1.3.0 lub nowszej
- Konto New Relic
Instalacja
Dodaj tę rolę do galaxy.yml
:
- src: TypistTech.trellis-newrelic-php # Wrażliwe na wielkość liter!
version: XXX.YYY.ZZZ # Sprawdź najnowszą wersję!
Uruchom $ trellis galaxy install
, aby zainstalować tę nową rolę.
Typowe błędy
vault_newrelic_license
nie jest zdefiniowany
Zaszyfruj swój klucz licencyjny New Relic w group_vars/<environment>/vault.yml
. Zobacz zmienne roli.
New Relic łączy wiele środowisk w jedną aplikację
Rozwiązanie: Zdefiniuj różne appname
dla różnych środowisk.
Wskazówki:
# group_vars/all/main.yml
#########################
newrelic_config:
appname: "Moja Wspaniała Aplikacja {{ env }}"
Błąd po aktualizacji wersji PHP
New Relic może zawieść i spowodować wystąpienie błędów podczas aktualizacji głównych lub mniejszych wersji PHP (np. z 7.4 na 8.0, z 8.0 na 8.1).
non-zero return code
PHP Warning: PHP Startup: Unable to load dynamic library 'newrelic.so'
(tried: /usr/lib/php/20180731/newrelic.so (/usr/lib/php/20180731/newrelic.so:
cannot open shared object file: No such file or directory),
/usr/lib/php/20180731/newrelic.so.so (/usr/lib/php/20180731/newrelic.so.so:
cannot open shared object file: No such file or directory)) in Unknown on
Po każdej aktualizacji głównej lub mniejszej wersji PHP (np. gdy zobaczysz powyższy błąd):
# Dla konfiguracji wieloserwerowej, wykonaj poniższe kroki na każdym serwerze.
ssh [email protected]
sudo newrelic-install install
sudo reboot
# Poczekaj na ponowne uruchomienie serwera i następnie zrewiduj ponownie
# Dla konfiguracji wieloserwerowej, wystarczy przeprowadzić ponowną rewizję raz
trellis provision production
Ograniczenia
- Domyślnie tylko jedna aplikacja New Relic APM na serwerze.
Rozszerza
blok fastcgi_basic
, aby zawierał fastcgi_param PHP_VALUE "newrelic.appname={{ item.key }} ({{ env }})";
zaraz po linii include fastcgi_params;
, aby obejść to ograniczenie.
Proszę o zgłaszanie pull requestów.
Najczęściej zadawane pytania
Wygląda świetnie. Gdzie mogę znaleźć więcej podobnych rzeczy?
- Artykuły na blogu Typist Tech tutaj
- Wtyczki WordPress Tang Rufusa na wp.org
- Więcej projektów na profilu GitHub Typist Tech
- Pozostań na bieżąco z newsletterem Typist Tech
- Obserwuj konto na Twitterze Tang Rufusa
- Zatrudnij Tang Rufusa, aby stworzyć swoją następna wspaniałą stronę
Ta paczka nie jest na wp.org. Gdzie mogę dać :star::star::star::star::star: recenzję?
Dziękuję! Cieszę się, że ci się podoba. Ważne jest dla mnie, aby wiedzieć, że ktoś korzysta z tego projektu. Ponieważ nie jest to hostowane na wordpress.org, proszę o rozważenie:
- :heart: wsparcie tego projektu
- :star: dodanie gwiazdki temu repozytorium GitHub
- :eyes: obserwowanie tego repozytorium GitHub
- napisz coś pozytywnego, wspominając @TangRufus
- pisanie artykułów na bloga
- przesyłanie pull requests
- zatrudnij mnie
Wsparcie :heart:
Lubisz trellis-newrelic-php
? Pomóż mi w jego utrzymaniu, wsparcie tutaj może w tym pomóc.
Fundusz dopasowania sponsorów GitHub
Czy wiesz, że GitHub dopasuje twoje wsparcie?
Sponsoruj teraz przez GitHub, aby podwoić swoje działanie.
Dlaczego nie zatrudnisz mnie?
Jestem gotowy do pracy freelance w WordPressie. Skontaktuj się ze mną przez formularz kontaktowy tutaj lub przez e-mail [email protected]
Chcesz pomóc w inny sposób? Chcesz być sponsorem?
Skontaktuj się z: Tang Rufus
Opinie
Proszę o opinie! Chcemy, aby ta biblioteka była użyteczna w jak największej liczbie projektów. Proszę zgłosić problem i wskazać, co ci się podoba, a co nie, lub fork projektu i przedstaw swoje sugestie. Żaden problem nie jest zbyt mały.
Bezpieczeństwo
Jeśli odkryjesz jakiekolwiek problemy związane z bezpieczeństwem, prosimy o kontakt e-mailowy na adres [email protected] zamiast używania narzędzia do zgłaszania problemów.
Podziękowania
Agenta New Relic PHP dla Trellis jest projektem Typist Tech i jest utrzymywany przez Tang Rufusa, dewelopera freelancer do zatrudnienia.
Pełną listę współpracowników można znaleźć tutaj.
Szczególne podziękowania dla zespołu Roots, którego Trellis umożliwia realizację tego projektu.
Wkład
Proszę zobaczyć CODE_OF_CONDUCT po szczegóły.
Licencja
Agenta New Relic PHP dla Trellis jest wydany na licencji MIT.
Install New Relic PHP agent on Trellis servers
ansible-galaxy install TypistTech.trellis-newrelic-php