Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Ansibleで試す仮想サーバ環境でSplunk管理

More than 3 years have passed since last update.

はじめに

Advent Calendar14日目を担当します。Tossy773です。
今回はvSphere仮想環境上でSplunkインフラを構築する際にAnsibleを活用できそうなTIPSを中心に試してみました。

Splunkは物理サーバにベアメタルで構築することもできますが、仮想環境上に構築することで仮想環境基盤での様々な運用上のメリットを得られます。VMware仮想化環境では先日のAdvent Calendarでも紹介されていたようにansibleで自動化可能ですので、煩雑な処理を標準化して誰でもミスなく実施することが容易になります。

今回のお題

Splunk VMのsnapshotを取得しSplunkをバージョンアップする

SplunkのアップグレードはCLIでできるのですが若干煩雑です。バージョンアップ後に想定外の状態が発生した場合に備えて簡単にバージョンアップ前の状態に戻したい場合があります。
そこで、仮想基盤でSplunk VMのSnapshotを取得したあとに、バージョンアップを実施しコマンドを毎回実行するのではなくansibleを活用してみます。

実現イメージ

図1.png

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連携も今後試してみようかとおもいます。
最後までお読みいただきありがとうございました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away