riak便利!!
便利だけど、確認用のriak-adminコマンドとか使い方いっぱいあるし、
curlとか覚えてられないので、ユーザ定義関数やAliasにしてみた。
動作環境
OS
CentOS release 6.2 (Final)
riakのバージョン
[root@rittan41 ~]# riak version
2.1.1
[root@rittan41 ~]#
面倒なので/etc/profile.d/配下にファイルを作って、ログイン時に自動で反映されるようにした。
cat << _EOT_ >> /etc/profile.d/riak.sh
alias riak-admin-bucket-type-list='riak-admin bucket-type list'
get_buckets_list(){
curl "http://localhost:8098/types/\$1/buckets?buckets=true"
}
put_get_check(){
DST_HOST=localhost
DATE=\`date '+%Y-%m-%d %T'\`
echo \${DATE}
curl --connect-timeout 30 -X PUT -i "http://\${DST_HOST}:8098/types/health_check/buckets/test/keys/\${DST_HOST}" -H "Content-Type: application/json" -d "{server: "\${DST_HOST}", date: \${DATE}, status: "write"}"
curl --connect-timeout 30 -s "http://\${DST_HOST}:8098/types/health_check/buckets/test/keys/\${DST_HOST}"
}
_EOT_
使い方
riak-admin-bucket-type-list
riak-admin bucket-type listのエイリアス。
bucket-type一覧を表示させたい時に。
実例。
[root@rittan41 ~]# riak-admin-bucket-type-list
default (active)
users (active)
health_check (active)
koizumitest (active)
[root@rittan41 ~]#
get_buckets_list session
第一引数で指定した、bucket-typeの中身を表示する関数。
実体。
curl "http://localhost:8098/types/\$1/buckets?buckets=true"
実例。
[root@rittan41 ~]# get_buckets_list session
{"buckets":["test"]}[root@rittan41 ~]#
put_get_check
ローカルで読み書きテストするための関数。
監視用途にどうぞ。
- health_checkというbucket-typeは適宜読み替えて。
実体。
put_get_check(){
DST_HOST=localhost
DATE=\`date '+%Y-%m-%d %T'\`
echo \${DATE}
curl --connect-timeout 30 -X PUT -i "http://\${DST_HOST}:8098/types/health_check/buckets/test/keys/\${DST_HOST}" -H "Content-Type: application/json" -d "{server: "\${DST_HOST}", date: \${DATE}, status: "write"}"
curl --connect-timeout 30 -s "http://\${DST_HOST}:8098/types/health_check/buckets/test/keys/\${DST_HOST}"
}
実例。
[root@rittan41 ~]# put_get_check health_check
2016-03-16 12:27:42
HTTP/1.1 204 No Content
Vary: Accept-Encoding
Server: MochiWeb/1.1 WebMachine/1.10.8 (that head fake, tho)
Date: Wed, 16 Mar 2016 03:27:42 GMT
Content-Type: application/json
Content-Length: 0
{server: localhost, date: 2016-03-16 12:27:42, status: write}
[root@rittan41 ~]#