Nachdem wir Kibana neulich schon manuell auf einem CentOS Server installiert haben, schauen wir uns heute an, wie man die Installation mit Ansible automatisieren kann.
Anlegen der Kibana Role
Wir beginnen wieder damit, eine Struktur für die Kibana Role anzulegen. Diese sieht wie folgt aus:
1 2 3 4 5 | ├── kibana │ ├── files │ │ └── kibana.repo │ └── tasks │ └── main.yml |
Wir beginnen damit den folgenden Inhalt in die Datei kibana.repo einzufügen
1 2 3 4 5 6 7 8 | [kibana-6.x] name=Kibana repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md |
Anschließend wird die main.yml mit einem Editor geöffnet. Im ersten Block fügen wir das Kibana Repository auf dem Zielsystem hinzu.
1 2 3 4 5 | - name: Kibana | add repository copy: src: kibana.repo dest: /etc/yum.repos.d/kibana.repo mode: 0755 |
Im nächsten Block wird Kibana installiert.
1 2 3 4 5 | - name: Kibana | install kibana yum: name={{ item }} with_items: - kibana when: ansible_pkg_mgr == "yum" |
Danach müssen wir nächsten Block innerhalb der Konfigurationsdatei die IP Adresse des Servers setzten.
1 2 3 4 5 | - name: Kibana | set node.name replace: dest: /etc/kibana/kibana.yml regexp: '#server.host: "localhost"' replace: 'server.host: 127.0.0.1' |
Zu guter letzt haben wir noch einen Block mit dem wir Kibina dem Autostart hinzufügen.
1 2 3 4 5 | - name: Kibana | enable service systemd: name: kibana enabled: yes masked: no |
Testen der Ansible Kibana Role
Um das ganze nun zu testen, müssen wir wieder entsprechende Einträge in der hosts und der site.yml Datei hinzufügen
1 2 3 | #hosts [kibana] 192.168.10.108 |
1 2 3 4 5 6 | #site.yml - name: kibana hosts: kibana remote_user: root roles: - kibana |
Danach können wir einen Ansible run mit ansible-playbook starten. Das ganze sollte dann wie folgt aussehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ansible-playbook site.yml -i hosts PLAY [kibana] ********************************************************************************************************** TASK [Gathering Facts] ************************************************************************************************* ok: [192.168.10.108] TASK [kibana : Kibana | add repository] ******************************************************************************** changed: [192.168.10.108] TASK [kibana : Kibana | install kibana] ******************************************************************************** changed: [192.168.10.108] => (item=[u'kibana']) TASK [kibana : Kibana | set node.name] ********************************************************************************* changed: [192.168.10.108] TASK [kibana : Kibana | enable service] ******************************************************************************** [WARNING]: The service (kibana) is actually an init script but the system is managed by systemd ok: [192.168.10.108] PLAY RECAP ************************************************************************************************************* 192.168.10.108 : ok=5 changed=3 unreachable=0 failed=0 |
Alle Dateien findet ihr wie gewohnt in meinen GitHub Repository.
Schreibe einen Kommentar