newrelic.newrelic-infra
:warning: | New Relic propose une nouvelle solution Ansible qui simplifie l'évolution de vos efforts d'observabilité avec New Relic. Merci de considérer l'utilisation de cette solution à l'avenir. |
---|
Rôle Ansible pour l'agent d'infrastructure New Relic

Un rôle Ansible qui peut être utilisé pour installer et/ou configurer l'Agent d'Infrastructure New Relic et installer les Intégrations OHIs de New Relic Infrastructure.
Installation
Utilisez la commande suivante pour télécharger la dernière version du rôle New Relic :
ansible-galaxy install newrelic.newrelic-infra
Prise en main
Pour utiliser le rôle newrelic.newrelic-infra
directement dans un playbook, il suffit de inclure le rôle dans votre playbook. Par exemple,
# myplaybook.yml
---
- hosts: webservers
roles:
- role: newrelic.newrelic-infra
vars:
nrinfragent_config:
license_key: 12345
Pour exiger newrelic.newrelic-infra
comme dépendance de rôle dans votre propre rôle, ajoutez une dépendance dans le fichier meta/main.yml de votre rôle. Par exemple,
# roles/myapp/meta/main.yml
---
dependencies:
- role: newrelic.newrelic-infra
Utilisation
Ce rôle peut être utilisé pour les interactions suivantes avec l'Agent d'Infrastructure New Relic.
- Installer l'agent via le gestionnaire de paquets OS
- Installer l'agent via un tarball (Linux uniquement)
- Installer des intégrations via le gestionnaire de paquets OS
- Configurer l'agent
- Configurer le service d'initialisation de l'agent
Par défaut, le rôle installera l'agent via le gestionnaire de paquets OS, installera toutes intégrations via le gestionnaire de paquets, configurera l'agent et mettra en place le service d'initialisation de l'agent. De plus, les tags suivants sont disponibles pour effectuer d'autres interactions.
- nria_install
- nria_install_tarball
- nria_install_integrations
- nria_configure
- nria_setup_service
Utilisation de base
Le snippet suivant installera l'agent via le gestionnaire de paquets OS, configurera l'agent avec la configuration spécifiée et mettra en place le service d'initialisation OS de l'agent.
---
- 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
Installation à partir d'un tarball (Linux uniquement)
Pour installer en utilisant la méthode d'installation par tarball, vous devez définir la variable nrinfragent_tarball_version
sur un numéro de version de tarball valide tarball version number. L'installation via la méthode d'installation par tarball exécutera également les tâches de configuration et de service d'initialisation de l'agent à moins que le tag nria_install_tarball
soit spécifié.
- 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
Installation par tarball "hors ligne"
Pour utiliser un tarball local au lieu de le télécharger depuis Internet, vous devez définir la variable nrinfragent_tarball_local_file_path
sur le chemin local du tarball depuis 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
Configuration uniquement
Le snippet suivant configurera uniquement l'agent d'une installation existante tant que le playbook est exécuté avec --tags nria_configure
. Notez que le include_role
doit être utilisé dans ce cas.
- hosts: ap_ne_1
tasks:
- name: configurer l'Agent d'Infrastructure 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
Référence
Configuration du rôle
Variables
Les variables de configuration du rôle sont documentées en ligne ainsi que ci-dessous.
nrinfragent_state
(Optionnel)
Installer ou désinstaller les paquets (installation via gestionnaire de paquets). Les installations via gestionnaire de paquets sont effectuées avec le modèle de paquet Ansible.
'latest'
- [par défaut] installer la dernière version de l'agent. Égalementpresent
.'absent'
- Désinstaller l'agent.
nrinfragent_service_state
(Optionnel)
Spécifie l'état du service newrelic-infra
après installation. Par défaut, c'est started
, ce qui garantit que le service sera en cours d'exécution. Changez-le en stopped
pour installer uniquement, sans le démarrer immédiatement. Voir plus d'informations sur les valeurs valides dans la documentation du
module de service Ansible.
nrinfragent_service_enabled
(Optionnel)
Spécifie si le service démarrera au démarrage. Par défaut, c'est yes
. Changez-le en no
pour empêcher le service de démarrer automatiquement au démarrage. Voir plus d'informations sur les valeurs valides dans la documentation du
module de service Ansible.
nrinfragent_config_file
(Optionnel)
Spécifie un chemin personnalisé vers le fichier de configuration de l'Agent d'Infrastructure New Relic configuration file sur les hôtes cibles. Par défaut, c'est /etc/newrelic-infra.yml
sur Linux et %ProgramFiles%\New Relic\newrelic-infra\newrelic-infra.yml
sur Windows. Ceci peut être particulièrement utile lors des installations par tarball si vous installez à des emplacements non par défaut.
nrinfragent_config
(Requis)
Utilisé pour remplir la configuration de l'agent. Au minimum, vous devez fournir license_key
. Pour les options de configuration actuelles, consultez la documentation New Relic. Par exemple :
custom_attributes:
business_unit: sales
team: newrelic
license_key: D000000000000000000000000000000000000000
log_file: /tmp/logs.log
verbose: 1
nrinfragent_integrations
(Optionnel)
Spécifie les Intégrations On-Host à installer via le gestionnaire de paquets OS. La liste des intégrations disponibles peut être trouvée ici.
Chaque paquet doit fournir son name
et state
. Le nom du paquet d'intégration se trouve dans la section Installer et activer de la
documentation des intégrations individuelles. Par convention, leur nom est celui du service avec le préfixe nri-
(nri-apache
, nri-redis
, etc.).
Par défaut, l'état est absent
, ce qui ne télécharge pas le paquet ; vous pouvez le changer en latest
ou present
. Par exemple :
nrinfragent_integrations:
- name: nri-nginx
state: latest
- name: nri-mysql
state: absent
Le code source de chaque intégration est disponible sur le GitHub de New Relic.
license_key (DÉPRÉCIÉ)
Vous pouvez spécifier la clé de licence via le niveau supérieur license_key
pour des raisons de compatibilité. Nous recommandons d'utiliser license_key
dans nrinfragent_config
à la place. Si les deux sont spécifiés, celui de nrinfragent_config
a la priorité.
nrinfragent_tarball_version (Requis uniquement pour l'installation par Tarball)
Spécifie la version du tarball de l'Agent d'Infrastructure New Relic à télécharger. Linux seulement.
nrinfragent_tarball_download_dir (Requis uniquement pour l'installation par Tarball)
Spécifie le répertoire sur les hôtes cibles dans lequel télécharger et dézipper le tarball.
nrinfragent_tarball_agent_dir (Optionnel, Installation par Tarball uniquement)
Spécifie le chemin du répertoire d'accueil de l'agent sur les hôtes cibles. Identique au paramètre NRIA_AGENT_DIR
paramètre. Par défaut, c'est /var/db/newrelic-infra/
.
nrinfragent_tarball_bin_dir (Optionnel, Installation par Tarball uniquement)
Spécifie le chemin du répertoire binaire de l'agent sur les hôtes cibles. Identique au paramètre NRIA_BIN_DIR
paramètre. Par défaut, c'est /usr/local/bin/
.
nrinfragent_tarball_log_file (Optionnel, Installation par Tarball uniquement)
Spécifie le chemin du fichier journal de l'agent sur les hôtes cibles. Identique au paramètre NRIA_LOG_FILE
paramètre. Par défaut, c'est /var/run/newrelic-infra/newrelic-infra.log
.
nrinfragent_tarball_mode (Optionnel, Installation par Tarball uniquement)
Spécifie le niveau de privilège de l'agent. Identique au paramètre NRIA_MODE
paramètre. Par défaut, c'est ROOT
.
nrinfragent_tarball_pid_file (Optionnel, Installation par Tarball uniquement)
Spécifie le chemin du fichier PID de l'agent sur les hôtes cibles. Identique au paramètre NRIA_PID_FILE
paramètre. Par défaut, c'est /var/run/newrelic-infra/newrelic-infra.pid
.
nrinfragent_tarball_plugin_dir (Optionnel, Installation par Tarball uniquement)
Spécifie le chemin du répertoire de plugins de l'agent sur les hôtes cibles. Identique au paramètre NRIA_PLUGIN_DIR
paramètre. Par défaut, c'est /etc/newrelic-infra/integrations.d/
.
nrinfragent_tarball_user (Optionnel, Installation par Tarball uniquement)
Spécifie l'utilisateur sous lequel le binaire de l'agent sera exécuté sur les hôtes cibles. Identique au paramètre NRIA_USER
paramètre. Par défaut, c'est root
.
nrinfragent_os_name
(Optionnel)
Spécifie le système d'exploitation cible sur lequel l'agent d'infrastructure sera installé. Par défaut, c'est ansible_os_family
. Pour une liste des systèmes d'exploitation pris en charge, consultez le fichier meta/main.yml.
nrinfragent_os_version
(Optionnel)
Spécifie la version OS du paquet d'installation nécessaire pour cette machine. Par défaut, c'est ansible_lsb.major_release
. Principalement utilisé pour les systèmes d'exploitation de la famille RedHat
. Pour une liste des systèmes d'exploitation pris en charge, consultez le fichier meta/main.yml.
nrinfragent_os_codename
(Optionnel)
Spécifie le nom de code OS du paquet d'installation nécessaire pour cette machine. Par défaut, c'est ansible_lsb.codename
. Cela est utilisé sur les systèmes d'exploitation de la famille Debian
. Pour une liste des systèmes d'exploitation pris en charge, consultez le fichier meta/main.yml.
nrinfragent_choco_version
(Optionnel, Windows uniquement)
Spécifie la version du paquet Chocolatey à installer newrelic-infra
sur Windows. Peut être utilisé pour verrouiller la version ou mettre à jour l'agent.
nrinfragent_yum_lock_timeout
(Optionnel)
Utilisé pour définir la valeur lock_timeout pour le module yum d'ansible. Lorsqu'il n'est pas défini, cette valeur par défaut est de 30. Ne fonctionne que pour la version d'ansible >= 2.8.0
nrinfragent_logging
(optionnel)
Utilisé pour générer un fichier journal. Pour les options de configuration actuelles, consultez la documentation New Relic. Pour créer plusieurs blocs de journaux, entrez des listes supplémentaires - name. Par exemple :
vars:
nrinfragent_logging:
- name: example-log
file: /var/log/example.log # Chemin vers un fichier journal unique
- name: docker-logs
file: /var/lib/docker/containers/*/*.log # Chemin vers plusieurs dossiers et fichiers
- name: systemd-example
systemd: cupsd
# Socket réseau TCP
- name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140 # Utilisez le format tcp://LISTEN_ADDRESS:PORT
parser: rfc5424 # Le parseur syslog par défaut est rfc3164
# Socket de domaine TCP Unix
- name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions: 0666 # La valeur par défaut est 0644. Changez à vos risques.
# Socket 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 # Utilisez le format tcp://LISTEN_ADDRESS:PORT
format: none # Texte brut - c'est le défaut pour 'tcp'
separator: \t # Chaîne pour séparer les entrées de texte brut
max_line_kb: 32
- name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345 # Utilisez le format tcp://LISTEN_ADDRESS:PORT
format: json
Suppression du paquet newrelic-infra-integrations
et de ses intégrations regroupées
Ceci ne s'applique que si vous avez installé le paquet
newrelic-infra-integrations
Si vous souhaitez supprimer le paquet newrelic-infra-integrations
ou toute intégration regroupée (nri-redis, nri-cassandra, nri-apache, nri-nginx, nri-mysql), ajoutez newrelic-infra-integrations
comme premier élément de nrinfragent_integrations
avec l'état absent
.
nrinfragent_integrations:
- name: newrelic-infra-integrations
state: "absent"
Test
Le rôle infrastructure-agent-ansible
utilise molecule pour les tests. Trois scénarios sont fournis.
- Le scénario par défaut teste l'installation et la configuration de l'agent et la mise en place des services d'initialisation OS, le tout via le gestionnaire de paquets OS.
- Le scénario configurer teste la configuration de l'agent uniquement en utilisant le tag
nria_conigure
. Notez que pour exécuter ce test, les méthodescreate
etconverge
du scénariopar défaut
doivent être exécutées en premier afin que le scénarioconfigurer
dispose d'un agent installé avec lequel tester. - Le scénario targz teste l'installation et la configuration de l'agent et la mise en place des services d'initialisation OS en utilisant la méthode d'installation par tarball.
Les scénarios par défaut
et targz
peuvent être exécutés entièrement en utilisant molecule test
. Notez que la commande test
détruira les conteneurs après avoir testé et vérifié le scénario. Par conséquent, la meilleure façon d'exécuter le scénario configurer
est d'utiliser molecule converge && molecule test -s configure && molecule destroy
.
Publication sur Ansible Galaxy
Pour publier une nouvelle version sur Ansible Galaxy, suivez ces étapes :
- Mettez à jour le CHANGELOG.md
- Créez une nouvelle version sur GitHub.
- Surveillez la construction avec le numéro de version dans Github Actions : https://github.com/newrelic/infrastructure-agent-ansible/actions
- Assurez-vous que la version est importée dans Ansible Galaxy, s'il y a un problème, demandez à l'un des propriétaires du projet.
Compatibilité
Plates-formes
- 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
- Tous
- Avertissement : Le support Windows dépend du paquet tiers newrelic-infra Chocolatey qui est maintenu par @ripclawffb et @xandrellas. Il est distribué sans aucune garantie ou support de New Relic.
Support
New Relic héberge et modère un forum en ligne où les clients peuvent interagir avec les employés de New Relic ainsi qu'avec d'autres clients pour obtenir de l'aide et partager les meilleures pratiques. Comme tous les projets open source de New Relic, il y a un sujet de la communauté dans le New Relic Explorers Hub. Vous pouvez trouver le sujet/thé pour ce projet ici :
- Documentation New Relic : Guide complet pour utiliser notre plateforme
- Communauté New Relic : Le meilleur endroit pour s'engager dans des questions de dépannage
- Développeur New Relic : Ressources pour créer des applications d'observabilité personnalisées
- Université New Relic : Une gamme de formations en ligne pour les utilisateurs de New Relic à tous les niveaux
- Support Technique New Relic 24/7/365 support pour les tickets. Lisez-en plus sur nos offres de support technique.
Contribuer
Nous encourageons vos contributions pour améliorer [nom du projet] ! Gardez à l'esprit que lorsque vous soumettez votre pull request, vous devrez signer la CLA via le clic à travers CLA-Assistant. Vous devez signer la CLA une seule fois par projet.
Si vous avez des questions, ou pour exécuter notre CLA d'entreprise (qui est requise si votre contribution est faite au nom d'une entreprise), envoyez-nous un e-mail à opensource@newrelic.com.
Une note sur les vulnérabilités
Comme indiqué dans notre politique de sécurité, New Relic est engagé pour la confidentialité et la sécurité de nos clients et de leurs données. Nous croyons que fournir une divulgation coordonnée par des chercheurs en sécurité et s'engager avec la communauté de sécurité sont des moyens importants pour atteindre nos objectifs de sécurité.
Si vous pensez avoir trouvé une vulnérabilité de sécurité dans ce projet ou dans l'un des produits ou sites Web de New Relic, nous vous encourageons et vous remercions de le signaler à New Relic via HackerOne.
Si vous souhaitez contribuer à ce projet, consultez ces lignes directrices.
À tous les contributeurs, nous vous remercions ! Sans votre contribution, ce projet ne serait pas ce qu'il est aujourd'hui.
Licence
infrastructure-agent-ansible est sous la licence Apache 2.0.
ansible-galaxy install newrelic.newrelic-infra