Skip to content

Instantly share code, notes, and snippets.

@kenjiskywalker
kenjiskywalker / consul-template.md
Last active August 29, 2015 14:15
consul-templateで全てのserviceを表示する
  • /etc/hosts.ctmpl
{{range services}}
{{range service .Name}}
{{.Address}} {{.Name}}{{end}}{{end}}
  • /etc/hosts
  • command ./consul-template_0.6.0_linux_amd64/consul-template -consul 127.0.0.1:8500 -template "/etc/hosts.ctmpl:/etc/hosts:service dnsmasq restart &"

  • /etc/hosts.ctmpl

# node{{ range nodes }}
{{.Address}} {{.Node}}{{ end }}

# service{{range $tag, $services := service "echo" | byTag}}
{{range $services}}{{.Address}} {{$tag}}.{{.Name}}{{end}}{{end}}
@kenjiskywalker
kenjiskywalker / pdf2text.rb
Created September 29, 2014 06:37
pdfからtext
#!/usr/bin/env ruby
require "poppler"
require 'pp'
file = ARGV[0]
document = Poppler::Document.new(file)
document.each do |d|
puts d.get_text

Fluentd ソースコード完全解説

英題:Fluentd Hacking Guide

目次

30分しかないため斜線部分は今回省く

  • Fluentd の起動シーケンスとプラグインの読み込み
  • Fluentd の設定ファイルのパース
  • Input Plugin から Output Plugin にデータが渡る流れ
['-']% curl -X PUT -d 'bar' http://127.0.0.1:8500/v1/kv/foo
true
['-']%
['-']%
['-']% curl -s http://127.0.0.1:8500/v1/kv/foo | jq .
[
  {
    "CreateIndex": 538,
 "ModifyIndex": 538,
@kenjiskywalker
kenjiskywalker / file0.txt
Created August 7, 2014 09:22
AWSのLaunchConfigをLaunchConfigurationNameで絞るコマンド ref: http://qiita.com/kenjiskywalker/items/38e2560107e20aee6ac7
aws autoscaling describe-launch-configurations \
| jq '.LaunchConfigurations[] \
| select(.LaunchConfigurationName \
| contains("*LAUNCH_CONFIG_NAME*")) \
| .LaunchConfigurationName ' \
-r \
@kenjiskywalker
kenjiskywalker / file0.txt
Created August 6, 2014 10:11
AMIのImageをAMI_NAMEで絞り込んでNameとImageIdを抜き出す ref: http://qiita.com/kenjiskywalker/items/5c0d2326907bca669bb8
$ aws ec2 describe-images \
--filters "Name=name,Values='*AMI_NAME*'" \
--query 'Images[].[Name,ImageId]' \
--output text`
@kenjiskywalker
kenjiskywalker / mongo-rs-remove.md
Last active August 29, 2015 14:02
arbiterをrs.removeで外すと例外が出る

レプリカセットつくるコマンド

mkdir -p /tmp/mongo
chmod 777 /tmp/mongo
mkdir -p /tmp/mongo/node[0-2]
mkdir -p /tmp/mongo/log/

mongod --replSet foo --smallfiles --port 27017 --dbpath /tmp/mongo/node0 
mongod --replSet foo --smallfiles --port 27018 --dbpath /tmp/mongo/node1
package main
import (
"encoding/json"
"github.com/mizzy/consul-catalog"
"log"
"os"
"reflect"
"time"
)