IK.AM

@making's tech note


GraylogをBOSHでデプロイ

🗃 {Dev/Infrastructure/LogManagement/Graylog}
🏷 BOSH 🏷 Graylog 
🗓 Updated at 2017-08-07T03:25:03Z  🗓 Created at 2017-08-07T03:21:38Z   🌎 English Page

ログ管理のGraylogのBOSH Releaseがあったので、試してみたメモです。

https://github.com/AusDTO/graylog-boshrelease

  • Graylog
  • MongoDB
  • Elasticsearch (Master x 1, Data x 2)

を一発でデプロイできて便利です。

git clone git@github.com:AusDTO/graylog-boshrelease.git
cd graylog-boshrelease

BOSH 2.0対応のマニフェストファイルが用意されているので、基本的には

bosh deploy -n -d graylog manifests/graylog.yml

でデプロイできます。このままだとデフォルト設定が使用され、都合が悪いので、 マニフェストファイルをカスタマイズします。

BOSH CLI v2からはOperator filesという考え方が導入され、 ベースのマニフェストを書き換えなくてもパッチ用のYAMLを適用するだけでカスタマイズできるようになりました。

graylog-boshreleaseでは幾つかのカスタマイズポイントごとにすでにOperator filesが用意されているので、 それを-oで指定していくだけとなります。

ここでは

  • network.yml ... graylogにstatic ipを割り当てるための設定
  • graylog-accounts.yml ... ルートアカウントの設定
  • web-endpoint-uri.yml ... RESTエンドポイントのURLの設定(/apiまで設定する必要がある)
bosh deploy -n -d graylog manifests/graylog.yml \
    -o manifests/operators/network.yml \
    -o manifests/operators/graylog-accounts.yml \
    -o manifests/operators/web-endpoint-uri.yml \
    -v network-name=default \
    -v graylog-static-ip=10.244.0.240 \
    -v graylog-root-email=operations@example.com \
    -v graylog-root-username=administrator \
    -v graylog-root-password-sha2=60644240fe7ef9d4b17750b226a3ba88516cea9446439d275e922377f658fc4a \
    -v graylog-web-uri=https://graylog.example.com/api

sha2パスワードはecho -n my-big-secret | shasum -a 256で生成できます。

CredHubを使う場合は、

credhub set -n "/Bosh Lite Director/graylog/graylog-root-email" --type=value -v "operations@example.com"
credhub set -n "/Bosh Lite Director/graylog/graylog-root-username" --type=value -v "administrator"
credhub set -n "/Bosh Lite Director/graylog/graylog-root-password-sha2" --type=value -v "60644240fe7ef9d4b17750b226a3ba88516cea9446439d275e922377f658fc4a"

で設定し、

bosh deploy -n -d graylog manifests/graylog.yml \
    -o manifests/operators/network.yml \
    -o manifests/operators/graylog-accounts.yml \
    -o manifests/operators/web-endpoint-uri.yml \
    -v network-name=default \
    -v graylog-static-ip=10.244.0.240 \
    -v graylog-web-uri=https://graylog.example.com/api

でデプロイできます。

$ bosh vms -d graylog
Using environment '192.168.50.6' as client 'admin'

Task 131122. Done

Deployment 'graylog'

Instance                                                   Process State  AZ  IPs           VM CID                                VM Type  
elasticsearch-data/244afec8-3a5c-4e83-950a-28d1be187595    running        z1  10.244.0.10   304db4a0-50da-4230-5122-e9224c07f3cf  default  
elasticsearch-data/bbb21ffe-3cb9-43c3-b4ab-778aeb9a58f3    running        z1  10.244.0.9    caf7fd07-a0ff-49e0-6fb8-6b61d6b8e90c  default  
elasticsearch-master/0f2c212d-fbaf-448d-bfa8-b33102b41777  running        z1  10.244.0.8    e1e6aa3a-0fd2-451d-58ab-7042f240a6b0  default  
graylog/506d8334-dd3b-48d8-8429-4558cf088f4e               running        z1  10.244.0.240  c8b6ecef-073c-4156-6925-89562effd3ab  default  
mongodb/4182fb43-c8b4-422b-9356-7b82935713c6               running        z1  10.244.0.7    2710fa09-7333-430c-5545-bec0a8a0e21e  default  

5 vms

Succeeded

簡単です。

インストールできたけど、Graylogの使い方がわからない...


✒️️ Edit  ⏰ History  🗑 Delete