zakki-cho

インプットしたらアウトプットする。アウトプットすることを考えてインプットする。

CentOSに入れたtd-agentでfluent-plugin-elasticsearch (0.3.0)を入れようとしてハマった

結論

yumでlibcurl-develをインストールする。

背景

  • /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-elasticsearch を実行すると、「libcurlが見つからない」というエラーが出る。
  • Github(https://github.com/uken/fluent-plugin-elasticsearch)を見るとlibcurlが必要になったとのこと。
  • yum install libcurl を実行しても、既に最新版があると言われる。

解決策

結論そのまま。 libcurlではなく、libcurl-develを入れないといけなかった。

恥ずかしながら、develがつくのとつかないので何がどう変わるのかいまいち分かっていなかった。 とりあえずdevelも入れとこ、くらいの思考になってました。

調べてみる

ちなみに、yum info をするとlibcurlとlibcurl-devはそれぞれこんなdescriptionになってる。

yum info libcurl

This package provides a way for applications to use FTP, HTTP, Gopher and other servers for getting files.

yum info libcurl-dev

cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet, and Dict servers, using any of the supported protocols. The libcurl-devel package includes files needed for developing applications which can use cURL's capabilities internally.

なるほど、つまりdevelの方にはアプリケーションの開発に使用するライブラリやヘッダファイルが入ってるってことか。 であれば、今回のようにlibcurlをbuildのときに必要とする場合にはlibcurl-develが必要になるのは納得できる。 すっきりした。

Macにhomebrewで入れたelasticsearchのメモリを設定する

Macにhomebrewでいれたelastcsearchのメモリを設定しようとしたら、無駄にハマってしまったので、備忘録として残し。

結論

/usr/local/bin/elasticsearch.in.sh に ES_HEAP_SIZE を設定する。

内容

例えば128MBにしたい場合、/usr/local/bin/elasticsearch.in.sh を開いて、以下のように記述する。

ES_HEAP_SIZE="128m"

 "256m"とか"1g"といった書き方ができる。

 

あー、ずっと/usr/local/bin/elasticsearch とかplist見てた・・・

 

MacにAdobe Flash Playerをインストールしようとして「アクションリストが見つかりません」と出たときの対処法

結論

インストーラーを直接ダウンロードするURLを書き換える

背景

解決策

Flash Playerの最新版ダウンロードページから、最新のバージョンをコピーする。

f:id:zaki_taka4:20140206174347p:plain

 

Flash Player インストールトラブル対処法 (Mac OS)の「E-8. インストーラーの直接ダウンロード」にあるリンクのURLのバージョン部分をコピーしたものに置き換える

f:id:zaki_taka4:20140206175006p:plain

まとめ

かなりの力技なので、正しいルートをご存知の方がいましたら教えてください。

fluent-plugin-s3のIAMのpolicy設定

fluent-plugin-s3では以下の処理をしているので、

  •  バケット有無の確認
  • バケットの自動作成(auto_create_bucket が trueの場合)
  • バケットのオブジェクト有無の確認
  • オブジェクトの書き込み

これらを許可するIAMのポリシーにすれば大丈夫なはず。

ちなみに、マネージメント・コンソールを見ることは考慮していません。

 

{
  "Statement": [
    {
      "Action": [
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::your-bucket"
    },
    {
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:CreateBucket"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::your-bucket/*"
    }
  ]
}

 

オブジェクトの書き込みができていることは確認しましたが、バケットの作成については未確認です。

間違いやもっと良い方法がありましたらご指摘お願いします。

fluent-agent-liteでタグにホスト名を使うために必要な2つのこと

公開するには恥ずかしいエントリーだけど、ハマってしまう人もいるかもしれないから(多分いないけど・・・)。

 

fluent-agent-liteでタグにホスト名を使う場合、以下のサイトを参考にするとほんの3分とかからない、はずだけれど1時間くらいはまった。

fluent-agent-liteでタグにホスト名を使う - atsumu-t2の日記

http://d.hatena.ne.jp/atsumu-t2/20120904/1346746878

 

このとき、必要な変更は2つである。1つではなく2つである。

  1. <<"EOF" の ダブル・クォーテーションを外す。
  2. `hostname`というコマンド置換を使う。

この1.に気づかなくて1時間くらい「なんでだー」ってなってた。。。

MacBookAirで3本指タップで「調べる」ことができなくなった時の対処方法

気がついたら、Safariなどで文字列を3本指でタップしても、「調べる」機能が反応しなくなっていました。

システム環境設定のトラックパッドを確認してもしっかりチェックが入っているし、チェックをつけ直してもしても直らず、原因不明です。

 

仕方がないので、邪道と思いつつBetterTouchToolを使うことにしました。

BetterTouchToolは簡単にいうと、Macの色々な操作(トラックパッドのジェスチャーやキーボードのショートカット)に対して、色々なアクションを割り当てることができるアプリケーションです。

 

このBetterTouchToolのアクションには、「Use Apple default or do nothing」というアクションがあります。これは「アップルのデフォルトを使用するか何もしないか」です。

これを3本指でタップ(Three Finger Tap)に割り当てます。邪道です。

f:id:zaki_taka4:20121231092829p:plain

 まったく根本的な解決にはなっていませんが、とりあえずこれで「調べる」機能が使えるようになりました。

 

追記(2012/12/31):

ファイルを3本指でタップするとクイックルックを起動する、というのを知って試してみましたが、こちらも反応せず、BetterTouchToolを起動しておくと上手くいきました。

ということは、3本指タップというジェスチャーが拾われていないですね。

TextExpanderでfluentdの設定ファイル作成を効率化する。

知っている人からすれば、何を今更感満点の内容ですが、
TextExpanderを使いだしたので、せっかくなら何か書きたいと思ったので書きます。

文字入力補助ソフトのTextExpanderは、スニペットという省略形を入力することで、予め登録しておいた定型文を入力することが出来ます。
さらに素晴らしいことに、カーソル位置を指定することが出来ます。

たとえば、

<source>
  type %|         # %|はカーソル位置
</source>

と、定型文を作成し、スニペットに「;flues」と登録しておきます。
あとは、エディタ等で「;flus」と入力するだけで、上記の定型文が入力され、カーソル位置がtypeのスペース後に来ます。

これで複数のsourceやmatchを入力したい時にもサクサクに!