#はじめに
Advent Calendar14日目を担当します。Tossy773です。
今回はvSphere仮想環境上でSplunkインフラを構築する際にAnsibleを活用できそうなTIPSを中心に試してみました。
Splunkは物理サーバにベアメタルで構築することもできますが、仮想環境上に構築することで仮想環境基盤での様々な運用上のメリットを得られます。VMware仮想化環境では先日のAdvent Calendarでも紹介されていたようにansibleで自動化可能ですので、煩雑な処理を標準化して誰でもミスなく実施することが容易になります。
#今回のお題
##Splunk VMのsnapshotを取得しSplunkをバージョンアップする
SplunkのアップグレードはCLIでできるのですが若干煩雑です。バージョンアップ後に想定外の状態が発生した場合に備えて簡単にバージョンアップ前の状態に戻したい場合があります。
そこで、仮想基盤でSplunk VMのSnapshotを取得したあとに、バージョンアップを実施しコマンドを毎回実行するのではなくansibleを活用してみます。
##splunk-versionup.yaml
- hosts: localhost
tasks:
- name: take a snapshot
vmware_guest_snapshot:
hostname: 192.168.1.10
username: administrator@vsphere.local
password: password
datacenter: mydatacenter
folder: vsphere/Splunk7/VM
name: Splunk7
uuid: 423bbd4c-8483-7077-408e-cf6ae60eec8e
state: present
snapshot_name: snap1
description: snap1_created_by_ansible
delegate_to: localhost
- name: wait take snapshot wait
wait_for: timeout=2
- name: poweron os
vmware_guest:
hostname: 192.168.1.10
username: administrator@vsphere.local
password: password
datacenter: mydatacenter
folder: vsphere/Splunk7/VM
name: Splunk7
uuid: 423bbd4c-8483-7077-408e-cf6ae60eec8e
state: poweredon
delegate_to: localhost
- hosts: 192.168.1.2
tasks:
- name: versionup splunk
copy: src=/tmp/splunk-7.0.1-2b5b15c4ee89-linux-2.6-x86_64.rpm
dest=/tmp/splunk-7.0.1-2b5b15c4ee89-linux-2.6-x86_64.rpm
- name: splunk stop
shell: "/opt/splunk/bin/splunk stop"
- name: upgrade splunk
shell: "rpm -U /tmp/splunk-7.0.1-2b5b15c4ee89-linux-2.6-x86_64.rpm"
- name: start
shell: "/opt/splunk/bin/splunk start --accept-license --answer-yes --no-prompt"
#まとめ
今回はわかりやすさを優先し、シンプルな構成でのご紹介でしたが、応用すれば大人数用のトレーニング環境構築などへも流用できたり、さらに複雑な構成、導入への対応も可能になると思います。
先日、参加したコミュニティイベントではSplunkをコンテナ上で稼働させるという発表もありました。
日本国内での仮想化インフラの流れもどこかでコンテナ中心に変わっていくかもしれませんね。
Ansible ContainerとSplunk連携も今後試してみようかとおもいます。
最後までお読みいただきありがとうございました。