newrelic.newrelic-infra
| :warning: | New Relic oferuje nowe rozwiązanie Ansible, które upraszcza skalowanie wysiłków dotyczących widoczności w New Relic. Proszę rozważyć skorzystanie z tego rozwiązania w przyszłości. |
|---|
Rola Ansible dla agenta infrastruktury New Relic

Rola Ansible, która może być używana do instalacji i/lub konfiguracji Agenta Infrastruktury New Relic oraz instalacji OHIs infrastruktury New Relic.
Instalacja
Użyj poniższego polecenia, aby pobrać najnowszą wersję roli New Relic:
ansible-galaxy install newrelic.newrelic-infra
Jak zacząć
Aby użyć roli newrelic.newrelic-infra bezpośrednio w playbooku, po prostu
dołącz rolę do swojego playbooka. Na przykład,
# myplaybook.yml
---
- hosts: webservers
roles:
- role: newrelic.newrelic-infra
vars:
nrinfragent_config:
license_key: 12345
Aby wymagać newrelic.newrelic-infra jako zależności roli w swoim własnym,
dodaj zależność w pliku meta/main.yml swojej roli. Na przykład,
# roles/myapp/meta/main.yml
---
dependencies:
- role: newrelic.newrelic-infra
Użycie
Ta rola może być używana do następujących interakcji z Agentem Infrastruktury New Relic.
- Instalacja agenta przez menedżera pakietów OS
- Instalacja agenta z archiwum tar (tylko Linux)
- Instalacja integracji przez menedżera pakietów OS
- Konfiguracja agenta
- Ustawienie usługi inicjującej agenta
Domyślnie rola zainstaluje agenta poprzez menedżera pakietów OS, zainstaluje wszystkie integracje przez menedżera pakietów OS, skonfiguruje agenta i ustawi usługę inicjującą agenta. Dodatkowo dostępne są następujące tagi do wykonania innych interakcji.
- nria_install
- nria_install_tarball
- nria_install_integrations
- nria_configure
- nria_setup_service
Podstawowe użycie
Poniższy fragment zainstaluje agenta przez menedżera pakietów OS, skonfiguruje agenta z określoną konfiguracją i ustawi usługę inicjującą OS agenta.
---
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
nrinfragent_config:
license_key: 12345
custom_attributes:
environment: dev
Instalacja z archiwum tar (Tylko Linux)
Aby zainstalować przy użyciu metody instalacji z archiwum tar,
należy ustawić zmienną nrinfragent_tarball_version na ważny
numer wersji archiwum tar.
Instalacja za pomocą metody instalacji z archiwum tar również uruchomi zadania konfiguracyjne
i zadania usługi inicjującej OS agenta, chyba że określony zostanie tag nria_install_tarball.
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
nrinfragent_tarball_version: 1.18.0
nrinfragent_tarball_download_dir: /opt/newrelic/
nrinfragent_config:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
license_key: 12345
custom_attributes:
environment: dev
Instalacja archiwum "offline"
Aby użyć lokalnego archiwum tar zamiast pobierać je z sieci, musisz ustawić
zmienną nrinfragent_tarball_local_file_path na lokalną ścieżkę do archiwum z
http://download.newrelic.com/infrastructure_agent/binaries/linux/{{ architecture }}/newrelic-infra_linux_{{ version }}_{{ architecture }}.tar.gz.
- hosts: ap_ne_1
roles:
- name: newrelic.newrelic-infra
vars:
nrinfragent_tarball_version: 1.18.0
nrinfragent_tarball_download_dir: /opt/newrelic/
nrinfragent_tarball_from_local: yes
nrinfragent_config:
log_file: /opt/logs/newrelic-infra.log
verbose: 0
license_key: 12345
custom_attributes:
environment: dev
Tylko konfiguracja
Poniższy fragment skonfiguruje wyłącznie konfigurację agenta istniejącej
instalacji, o ile playbook zostanie uruchomiony z --tags nria_configure. Należy pamiętać, że w tym przypadku należy
użyć include_role.
- hosts: ap_ne_1
tasks:
- name: skonfiguruj Agenta Infrastruktury New Relic
include_role:
name: newrelic.newrelic-infra
vars:
nrinfragent_config:
license_key: 12345
log_file: /opt/logs/newrelic-infra.log
verbose: 0
custom_attributes:
environment: dev
tags:
- nria_configure
Referencje
Konfiguracja roli
Zmienne
Zmienna konfiguracji roli jest udokumentowana w środku jak i poniżej.
nrinfragent_state (Opcjonalne)
Instalacja lub odinstalowanie pakietów (instalacja przez menedżera pakietów). Instalacje przez menedżera pakietów są wykonywane przy użyciu modułu pakietu Ansible.
'latest'- [domyślnie] zainstaluj najnowszą wersję agenta. Równieżpresent.'absent'- Odinstaluj agenta.
nrinfragent_service_state (Opcjonalne)
Określa stan usługi newrelic-infra po instalacji. Domyślnie jest to
started, co zapewnia uruchomienie usługi. Zmień na stopped, aby
zainstalować tylko, bez natychmiastowego uruchamiania. Zobacz dodatkowe informacje o
dopuszczalnych wartościach w
Dokumentacji modułu usług Ansible.
nrinfragent_service_enabled (Opcjonalne)
Określa, czy usługa uruchomi się podczas rozruchu. Domyślnie jest to yes. Możesz to zmienić na
no, aby zapobiec automatycznemu uruchamianiu usługi podczas rozruchu. Zobacz dodatkowe informacje o
dopuszczalnych wartościach w
Dokumentacji modułu usług Ansible.
nrinfragent_config_file (Opcjonalne)
Określa niestandardową ścieżkę do
pliku konfiguracyjnego Agenta Infrastruktury New Relic na docelowych
hostach. Domyślnie jest to /etc/newrelic-infra.yml na Linuxie oraz
%ProgramFiles%\New Relic\newrelic-infra\newrelic-infra.yml na Windows. To
może być szczególnie przydatne w przypadku instalacji tar w Linuxie
gdy instalujesz w niestandardowych lokalizacjach.
nrinfragent_config (Obowiązkowe)
Służy do wypełnienia konfiguracji agenta. Co najmniej musisz podać
license_key. Aby uzyskać bieżące opcje konfiguracyjne, zobacz
Dokumentację New Relic. Na przykład:
custom_attributes:
business_unit: sales
team: newrelic
license_key: D000000000000000000000000000000000000000
log_file: /tmp/logs.log
verbose: 1
nrinfragent_integrations (Opcjonalne)
Określa integracje On-Host, które będą instalowane przez menedżera pakietów OS. Lista dostępnych integracji znajduje się tutaj.
Każdy pakiet powinien podać swoją name i state. Nazwa pakietu integracji
znajduje się w sekcji Instalacja i aktywacja w
dokumentacji poszczególnych integracji. Zgodnie z konwencją ich nazwa
to nazwa usługi z prefiksem nri-
(nri-apache, nri-redis itp.).
Domyślnie stan wynosi absent, co oznacza, że pakiet nie jest instalowany; można
zmienić to na latest lub present. Na przykład:
nrinfragent_integrations:
- name: nri-nginx
state: latest
- name: nri-mysql
state: absent
Kod źródłowy każdej integracji jest dostępny na GitHubie New Relic.
license_key (WYCOFANE)
Możesz określić klucz licencyjny na poziomie głównym license_key dla
kompatybilności wstecznej. Zalecamy użycie license_key w nrinfragent_config
zamiast tego. Jeśli oba są określone, ten w nrinfragent_config ma pierwszeństwo.
nrinfragent_tarball_version (Wymagane tylko dla instalacji z archiwum tar)
Określa wersję archiwum tar agenta infrastruktury New Relic do pobrania. Tylko dla Linuxa.
nrinfragent_tarball_download_dir (Wymagane tylko dla instalacji z archiwum tar)
Określa katalog na docelowych hostach, w którym należy pobrać i rozpakować archiwum tar.
nrinfragent_tarball_agent_dir (Opcjonalne, tylko instalacja z archiwum tar)
Określa ścieżkę katalogu domowego agenta na docelowych hostach. To samo co
parametr NRIA_AGENT_DIR zobacz.
Domyślnie jest to /var/db/newrelic-infra/.
nrinfragent_tarball_bin_dir (Opcjonalne, tylko instalacja z archiwum tar)
Określa ścieżkę katalogu binarnego agenta na docelowych hostach. To samo co
parametr NRIA_BIN_DIR zobacz.
Domyślnie jest to /usr/local/bin/.
nrinfragent_tarball_log_file (Opcjonalne, tylko instalacja z archiwum tar)
Określa ścieżkę pliku dziennika agenta na docelowych hostach. To samo co
parametr NRIA_LOG_FILE zobacz.
Domyślnie jest to /var/run/newrelic-infra/newrelic-infra.log.
nrinfragent_tarball_mode (Opcjonalne, tylko instalacja z archiwum tar)
Określa poziom przywilejów agenta. To samo co
parametr NRIA_MODE zobacz.
Domyślnie to ROOT.
nrinfragent_tarball_pid_file (Opcjonalne, tylko instalacja z archiwum tar)
Określa ścieżkę pliku PID agenta na docelowych hostach. To samo co
parametr NRIA_PID_FILE zobacz.
Domyślnie to /var/run/newrelic-infra/newrelic-infra.pid.
nrinfragent_tarball_plugin_dir (Opcjonalne, tylko instalacja z archiwum tar)
Określa ścieżkę katalogu wtyczek agenta na docelowych hostach. To samo co
parametr NRIA_PLUGIN_DIR zobacz.
Domyślnie to /etc/newrelic-infra/integrations.d/.
nrinfragent_tarball_user (Opcjonalne, tylko instalacja z archiwum tar)
Określa użytkownika, pod którym uruchamiany będzie plik binarny agenta na docelowych hostach. To samo co
parametr NRIA_USER zobacz.
Domyślnie to root.
nrinfragent_os_name (Opcjonalne)
Określa system operacyjny, na którym zainstalowany będzie agent infrastruktury.
Domyślnie to ansible_os_family. Aby uzyskać listę obsługiwanych systemów operacyjnych,
zobacz plik meta/main.yml.
nrinfragent_os_version (Opcjonalne)
Określa wersję systemu operacyjnego pakietu potrzebnego dla tej maszyny.
Domyślnie to ansible_lsb.major_release. Głównie używane dla systemów rodziny RedHat.
Aby uzyskać listę obsługiwanych systemów operacyjnych, zobacz plik
meta/main.yml.
nrinfragent_os_codename (Opcjonalne)
Określa kodową nazwę systemu operacyjnego pakietu potrzebnego dla tej maszyny.
Domyślnie to ansible_lsb.codename. Używane w systemach rodziny Debian.
Aby uzyskać listę obsługiwanych systemów operacyjnych, zobacz plik
meta/main.yml.
nrinfragent_choco_version (Opcjonalne, tylko Windows)
Określa wersję pakietu Chocolatey do zainstalowania newrelic-infra
w systemie Windows. Może być używane do przypisania wersji lub zaktualizowania agenta.
nrinfragent_yum_lock_timeout (Opcjonalne)
Używane do ustawienia wartości lock_timeout dla modułu yum ansible. Gdy nie jest ustawione, ta wartość domyślnie wynosi 30. Działa tylko dla wersji ansible >= 2.8.0.
nrinfragent_logging (opcjonalne)
Służy do generowania pliku dziennika. Aby uzyskać bieżące opcje konfiguracyjne, zobacz Dokumentację New Relic. Aby utworzyć wiele bloków logów, wprowadź dodatkowe listy - name. Na przykład:
vars:
nrinfragent_logging:
- name: example-log
file: /var/log/example.log # Ścieżka do jednego pliku dziennika
- name: docker-logs
file: /var/lib/docker/containers/*/*.log # Ścieżka do wielu katalogów i plików
- name: systemd-example
systemd: cupsd
# Gniazdo sieciowe TCP
- name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140 # Użyj formatu tcp://LISTEN_ADDRESS:PORT
parser: rfc5424 # Domyślny parser syslog to rfc3164
# Gniazdo lokalne TCP Unix
- name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions: 0666 # Domyślnie 0644. Zmień na własne ryzyko.
# Gniazdo lokalne UDP Unix
- name: syslog-unix-udp-test
syslog:
uri: unix_udp:///var/unix-udp-socket-test
parser: rfc5424
- name: tcp-simple-test
tcp:
uri: tcp://0.0.0.0:1234 # Użyj formatu tcp://LISTEN_ADDRESS:PORT
format: none # Surowy tekst - to jest domyślne dla 'tcp'
separator: \t # Łącze dla oddzielania surowych wpisów tekstowych
max_line_kb: 32
- name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345 # Użyj formatu tcp://LISTEN_ADDRESS:PORT
format: json
Usuwanie pakietu newrelic-infra-integrations i jego wbudowanych integracji
To dotyczy tylko, jeśli masz zainstalowany pakiet
newrelic-infra-integrations.
Jeśli chcesz usunąć pakiet newrelic-infra-integrations lub dowolne z
wbudowanych integracji (nri-redis, nri-cassandra, nri-apache, nri-nginx,
nri-mysql), dodaj newrelic-infra-integrations jako pierwszy element
nrinfragent_integrations ze stanem absent.
nrinfragent_integrations:
- name: newrelic-infra-integrations
state: "absent"
Testowanie
Rola infrastructure-agent-ansible używa molecule
do testowania. Udostępniono trzy scenariusze.
- Scenariusz domyślny testuje instalację i konfigurację agenta oraz konfigurację usług inicjujących OS, wszystko przez OS menedżera pakietów.
- Scenariusz konfiguracji testuje uruchamianie konfiguracji
agenta tylko przy użyciu tagu
nria_configure. Należy zauważyć, że aby uruchomić ten test, metodacreateiconvergescenariuszadomyślnegopowinna być uruchomiona najpierw, aby scenariuszkonfiguracjimiał zainstalowanego agenta do przetestowania. - Scenariusz targz testuje instalację i konfigurację agenta oraz konfigurację usług inicjujących OS przy użyciu metody instalacji z archiwum tar.
Scenariusze domyślne i targz można uruchomić w pełni używając molecule test.
Należy pamiętać, że polecenie test zniszczy kontenery po przetestowaniu i
zweryfikowaniu scenariusza. Dlatego najlepszym sposobem na uruchomienie scenariusza
konfiguracji jest użycie molecule converge && molecule test -s configure && molecule destroy.
Wydanie do Ansible Galaxy
Aby wydać nową wersję do Ansible Galaxy, wykonaj następujące kroki:
- Zaktualizuj CHANGELOG.md
- Utwórz nowe wydanie w GitHubie.
- Obserwuj budowę z numerem wersji w GitHub Actions: https://github.com/newrelic/infrastructure-agent-ansible/actions
- Upewnij się, że wersja jest zaimportowana do Ansible Galaxy; w przypadku jakichkolwiek problemów, zapytaj jednego z właścicieli projektu.
Kompatybilność
Platformy
- RHEL/CentOS
- RHEL/CentOS 8
- RHEL/CentOS 7
- RHEL/CentOS 6
- RHEL/CentOS 5
- Ubuntu
- 18 Bionic
- 16 Xenial
- 14 Trusty
- 12 Precise
- Debian
- 10 Buster
- 9 Stretch
- 8 Jessie
- 7 Wheezy
- SUSE Linux Enterprise
- 12
- Windows
- Wszystkie
- Zastrzeżenie: obsługa Windows zależy od pakietu trzeciotpartyjnego newrelic-infra Chocolatey który jest utrzymywany przez @ripclawffb i @xandrellas. Jest dystrybuowany bez żadnej gwarancji ani wsparcia ze strony New Relic.
Wsparcie
New Relic prowadzi i moderuje forum internetowe, gdzie klienci mogą interagować z pracownikami New Relic, a także z innymi klientami, aby uzyskać pomoc i dzielić się najlepszymi praktykami. Jak wszystkie oficjalne projekty open source New Relic, istnieje powiązany temat społeczności w Hubie Eksploratorów New Relic. Można znaleźć temat/wątki tego projektu tutaj:
- Dokumentacja New Relic: kompleksowe wskazówki dotyczące korzystania z naszej platformy
- Społeczność New Relic: najlepsze miejsce do zadawania pytań o rozwiązywanie problemów
- Nowy rozwój New Relic: zasoby do budowy aplikacji do obserwacji
- Uniwersytet New Relic: gama szkoleń online dla użytkowników New Relic na każdym poziomie
- Wsparcie techniczne New Relic 24/7/365. Przeczytaj więcej o naszych ofertach wsparcia technicznego.
Wkład
Zachęcamy do wnoszenia wkładu, aby poprawić [nazwę projektu]! Pamiętaj, że podczas składania wniosku o pull request będziesz musiał podpisać CLA poprzez kliknięcie w CLA-Assistant. Musisz podpisać CLA tylko jeden raz na projekt.
Jeśli masz jakieś pytania lub aby wykonać nasze korporacyjne CLA (które jest wymagane, jeśli Twój wkład pochodzi w imieniu firmy), napisz do nas maila na opensource@newrelic.com.
Uwaga o podatności
Jak wspomniano w naszej polityce bezpieczeństwa, New Relic jest zobowiązane do prywatności i bezpieczeństwa naszych klientów oraz ich danych. Uważamy, że zapewnienie skoordynowanego ujawnienia przez badaczy bezpieczeństwa oraz angażowanie się w społeczność bezpieczeństwa są ważnymi środkami, aby osiągnąć nasze cele bezpieczeństwa.
Jeśli uważasz, że znalazłeś podatność bezpieczeństwa w tym projekcie lub jakimkolwiek z produktów lub witryn internetowych New Relic, witamy i bardzo cenimy sobie, gdy zgłosisz to do New Relic przez HackerOne.
Jeśli chcesz wnieść wkład do tego projektu, zapoznaj się z tym przewodnikiem.
Wszystkim współpracownikom dziękujemy! Bez Twojego wkładu ten projekt nie byłby tym, czym jest dzisiaj.
Licencja
infrastructure-agent-ansible jest wydany na licencji Apache 2.0.
ansible-galaxy install newrelic.newrelic-infra
