2015-02-01: 私設インフラ業, ストライクウィッチーズ OVA 2

なんかいろいろやっていた。どようびは 23 時起床でどこかへ消えました。

私設インフラ業

  • zabbix の discovery をちゃんと書いたことがなかったので fluentd で書いてみた。めっちゃアイテムとトリガーが増えたけど… http://blog.sorah.jp/2015/02/01/monitoring-fluentd-with-zabbix
    • trigger の初回 OK (recover) メッセージなんとかならんのか、とずっと思っていたけど、Recovery message ON の状態で condition に "Trigger value = PROBLEM" 追加で回避できるらしい (情報ありがとうございます)。 http://twitter.com/qryuu/status/561788623754780672
  • fluentd を全ホストに導入した
    • 諸々のログ転送にちゃんとつかっていきたい (今のところ通知系と nginx ログくらいでしかつかってなかったので nginx ないホストとかには入っていなかった。)
    • 適当に他ホストでつかっていた puppet module 突っ込んで、設定ファイルを配置したら動いた。便利。過去のわたしはえらい。
  • fluentd の fluent-plugin-rewrite.gem を fluent-plugin-rewrite-tag-filter.gem にリプレースした。
    • fluent/* 配下にコードがあったから、というのが大きな理由
    • nginx のアクセスログを virtual host ごとにタグ分けるのにつかっている。
    • 今回の変更から、見知らぬホストは other とかいうタグをつけて一個にまとめた。なんかたまによくわからない host ヘッダつけてくる人がいるので…
    • ↑雑に sorah.jp とかのドメイン配下でやってたので sorah.jp 以下に適当なサブドメインつけてアクセスしてくるとやっぱり増えてしまうので、結局 LTSV で server_name:$server_name みたいなフィールドを増やして、それで分岐させるように変更した。
    • $server_name を log_format で見ると、server_name ディレクティブの第一引数になって便利。
  • glibc を上げたり…
    • なにが GHOST だ

fluentd の nginx まわりはいまのところこんな感じ。

<source>
  @id in:nginx
  type tail
  path /var/log/nginx/access.ltsv.log
  pos_file /var/log/fluentd/pos.nginx
  tag nginx.access
  format ltsv
  time_format %d/%b/%Y:%H:%M:%S %z
</source>

<match nginx.access>
  @id nginx.access:rewrite
  type rewrite_tag_filter
  rewriterule1 server_name ^((?:.+\.)?(?:sorah\.jp|sorah\.me|ajunk\.org|privs\.net|her)|localhost)$ nginx.access-sites.$1
  rewriterule2 server_name ^(.+)$ nginx.access-sites.other
</match>

<match nginx.access-sites.**>
  @id nginx.access-sites:copy
  type copy

  <store>
    @id nginx.access-sites:forest
    type forest
    subtype s3

    remove_prefix nginx.access-sites

    <template>
      @id nginx.access-sites:s3:__TAG__

      aws_key_id ...
      aws_sec_key ...
      s3_region ...
      s3_bucket ...

      path nginx/__TAG__/

      buffer_path /var/log/fluentd/s3.buffer.nginx.access-sites.__TAG__

      time_slice_format %Y%m%d
      time_slice_wait 10m
      utc
    </template>
  </store>

  # あとは file とか色々あるけど割愛
</match>

tmux の syncronize-panes にも限界があるなあという所で何か便利なソリューションを導入したい。Rundeck とかかなぁ。

次は nginx の discovery を書きたい。サイトあたりの rps とか response code 状況を勝手にグラフつくって出してほしいんだよなあ。

ストライクウィッチーズ Operation Victory Arrow Vol.2 エーゲ海の女神

vol. 1 に引き続き ('14/09/21) 見てきた。起床時間 (土曜 23 時) 的に、日曜夕方くらいには寝るつもりだったんだけど日曜夕方の枠でいくことになった

  • こんなパンツおおかったですっけ
  • 「このキャラ見たことない…」「小説版に出てきた気がする」「なるほどな〜〜」
  • フランチェスカの CV 斎藤千和だったのか。
  • シャーリーかっこういい。
  • 良い話だった。

角川シネマ新宿、前回もここでみたんだけど今回はめっちゃスクリーンちいさいし座席も少ないなぁと思ったらおおきい方の部屋ではラ! の SSA LV やってたみたい。どうでもいいけれど、ラ! のライブ一度くらいはいってみたい気がする (また揉めてて大変そう)

帰りはなぜか「Java は Vim でかくの辛い気がするけれど Go はメンタリティ java なのに vim-gocode とか godef のおかげでなんとか vim でもやっていけてすごい、というか無いとつらいんだけれど。型付きのエディタサポート最高〜」みたいな話をした。「なんで型がない Ruby のコードメンテできてるんですかねえ」「Ruby は 1 class 1 file の文化あるけど Go は 1 interface の関係物が複数ファイルに跨っていたりファイル命名規則が特になかったり、あとは異常に変数名省略してるからでは」などなど。

Published at 2015-02-01 23:59:59 +0900