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, metodacreate
iconverge
scenariuszadomyślnego
powinna być uruchomiona najpierw, aby scenariuszkonfiguracji
miał 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