ログ管理の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の使い方がわからない...