Ich habe ein Playbook geschrieben, die gut funktioniert, ich freue mich nur auf die Zeichenfolge in der Konfigurationsdatei ersetzen, dh /opt/collectd/etc/collectd.conf
die ich in meinem Textbuch erwähnt, genau das, was ich erreichen müssen Sie wie folgt vor:Ansible Playbook, um den Standard Hostnamen zu tatsächlichen Hostnamen auf dem Remote-Host von vorkompilierten Konfig zu ersetzen
1) Meine /opt/collectd/etc/collectd.conf Datei wie unten voreingestellte Konfiguration hat, wo ich brauche & ersetzen die #Hostname "vl-karn01"
chnage mit remote hostname, wo es in der unteren case installiert wird, indem es es durch Hostname "vl-karn"
ersetzt, folglich iter das Hash-Zeichen entfernt und auch den hostnamen ersetzt.
##############################################################################
# Global #
#----------------------------------------------------------------------------#
# Global settings for the daemon. #
##############################################################################
#Hostname "vl-karn01"
#FQDNLookup true
#BaseDir "${prefix}/var/lib/collectd"
#PIDFile "${prefix}/var/run/collectd.pid"
#PluginDir "${exec_prefix}/lib/collectd"
#TypesDB "/opt/collectd/share/collectd/types.db"
BaseDir "/var/lib/collectd"
PIDFile "/var/run/collectd.pid"
# Prefix "collectd.unix."
2) Similarliy für # Prefix "collectd.unix."
mit Prefix "collectd.gfpoll.
3) An dieser Stelle i manuell die Hostnamen in meinem playboook für jede Remote-Host gebe, wo es das Textbuch replace
Modul läuft ...
---
- name: Playbook to Install CollectD
hosts: vm-karn
gather_facts: False
remote_user: root
become: true
tasks:
- name: Downloading collectd
get_url:
url="http://spot-dc/collectd-5.7.2.tar.gz"
dest="/opt/"
- name: Extracting collectd archive
unarchive:
src="/opt/collectd-5.7.2.tar.gz"
dest="/opt/"
remote_src=True
- name: Creating soft link to collectd Dir
file:
src: "/opt/collectd-5.7.2"
dest: "/opt/collectd"
state: link
owner: karn
group: ansible
- name: Replacing hostname entry
replace:
regexp: '#Hostname "vl-karn01"'
replace: 'Hostname "vm-karn"'
dest: /opt/collectd/etc/collectd.conf
backup: yes
- name: Replacing Prefix pattern
replace:
regexp: '# Prefix "collectd.unix."'
replace: ' Prefix "collectd.gfpoll."'
dest: /opt/collectd/etc/collectd.conf
- name: Copy the collectd Daemon to init ..
copy:
src: "/opt/collectd/startup/collectd"
dest: "/etc/init.d/"
remote_src: True
mode: 0755
owner: root
group: root
- name: starting collectd Service
service:
name: collectd
state: started
enabled: yes
Was machen Sie manuell und wann? – techraf
ersetzt Hostname in meinem Fall 'vm-karn' wird neuer Name ersetzt' regexp: '#Hostname "vl-karn01"' ' – rockypy17
Nein, Sie haben nichts klarer gemacht. – techraf