カメニッキ

カメとインコと釣りの人です

新宮 相島の浮き波止への渡しは連絡先変わってます!!!

現在渡しをされてる方は090-2503-7228の方1名だけだそうです!!!

 

「相島 浮き波止」でググると出てくる以下の電話番号へ掛けたところ「うちはもうやってないですよ~~」と言われました。(多分何件も掛かってくるのだろう…)  

 

- 092-962-2738

- 092-962-2881

 

 

(追記)

11/27行ってきました!65cmのシーバス釣れました😶
f:id:tapira:20171129143945j:image

 

 

GMOペパボを退職します

11月末日をもって退職することとなり、本日が最終出社日でした。 11/30まで無職です。 2年半と少し、在籍したことになります。

これまで

SIerからの未経験インフラエンジニアとして採用いただき、主にロリポを担当してました。
日々の運用からgolangやmrubyを使用した開発など、楽しく仕事できました。

近くの席にスーパーなエンジニアが何人も座ってて、仕事ぶりをみたりアドバイスを受けることができる環境は刺激的でした。
使ってるOSSにbugfix PRしたり、100人以上の前で喋ったり、何か問題が起きた時にシステムコールやcoredumpを追いかけて原因を突き止めたり、
これまでそういうことをまさか自分がやるとは思ってなく、とてもよい経験でした。

仕事外では釣り部 部長として 船釣りや離島釣り、イカ部で夜スプラトゥーン大会楽しかったです。

朝目が覚めて「あ〜仕事か・・いきたくないな・・・」と思うことがなくて、それって自分の中ではすごいことだと思う。。。

これから

12月からヤフー株式会社で働かせてもらいます。小倉勤務です。 ソフトウェアエンジニアとしてがんばります。

最後に在職中に社内外お世話になったで方々、ありがとうございました!!

fluentdでログ中の特定キーワード出現回数を集計しTreasure Dataへインポートする

やりたいこと

外部からのアクセスを、ある条件をもとにブロックした時、/var/log/nginx/blocked.log というファイルにログ記録しています。 集計単位(10分毎とか)ごとに、その件数をカウントし、Treasure Dataへインポートするためにやったことのメモです。

前提

  • 全部ログ突っ込んで抜き出したら? > ログ量が膨大なので...

必要なtd-agent-gem

  • キーワードをもとにログ行数をカウントするのに使います github.com

  • Treasure Dataへインポートするために使います* github.com

conf

<source>
  @type tail
  format /^.+nginx: (?<time>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) \[(?<log_level>\w+)\] (?<pid>\d+).(?<tid>\d+): (?<message>.*)$/
  time_format %Y/%m/%d %H:%M:%S
  path /var/log/nginx/%Y%m%d/blocked.log_%Y%m%d_%H
  pos_file /var/log/nginx/blocked.log.pos
  tag nginx-blocked.log
</source>

<match nginx-blocked.log>
  type grepcounter
  count_interval 600
  input_key message
  regexp BLOCKED
  threshold 1
  add_tag_prefix blocked.count
</match>

<filter blocked.count.nginx-blocked.log>
  @type record_transformer
  enable_ruby
  remove_keys message,input_tag,input_tag_last
  <record>
    time ${Time.now.to_i}
  </record>
</filter>

<match blocked.count.nginx-blocked.log>
  @type tdlog
  apikey xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  auto_create_table
  database test
  table blocked_count
  buffer_type file
  buffer_path /var/log/td-agent/buffer/td
  flush_interval 600s
</match>

補足

  • /var/log/nginx/%Y%m%d/blocked.log_%Y%m%d_%H をtailで監視します。
  format /^.+nginx: (?<time>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}) \[(?<log_level>\w+)\] (?<pid>\d+).(?<tid>\d+): (?<message>.*)$/
  time_format %Y/%m/%d %H:%M:%S

でログ形式・Time形式を指定しており、該当したものに nginx-blocked.log tagを付与しています。

  • ここで行数のカウントをおこなっています。 内容としては 600sec 単位に BLOCKED キーワードを抜き出しています。 threshold 1 と本来の使い方では回数がしきい値超えた時にmailする、などとなるようですが、今回は全て記録したいため 1 としました。

  • filterを使用して以降の処理 tdlog で {"time": 1234567, "count": 123 }のようなjson形式でTreasure Dataへなげれるように整形しています。 record内でrubyを使いたいのでenable_ruby grepcounterから使わないキーも渡ってきているのでremove_keys message,input_tag,input_tag_lastで削除します。 recordディレクティブ内でtime` というキーでunixtimestampを列追加しています

  • Treasure Dataにデータインポートしています。 使い方は標準の内容なので割愛


  • Apacheのログを全部TDに突っ込む
  • 条件に一致したnginxログをTDに突っ込む

のような方法はすぐ見つかったのですが、集計した個数を一行TDに突っ込む方法が見つからず苦戦しました。(そもそもTDの使い方にあっているか謎) 参考までに

Fukuoka.go#9でLTさせてもらった

connpass.com

当日、急遽参加させてもらうことになって、いそいそお昼休みに資料作ってなんとか間に合った

gitpitch.com


内容は初歩的なもので、ここ数ヶ月golangに触れる機会があって、その時ハマったgolangのゼロ値によるものでした。 トーク前に某golang貴公子に「それもっといい方法ありますよ」とプレッシャー掛けられた この辺使えと sql - The Go Programming Language


僕は人前で喋るのも資料作るのも苦手なので、これらのイベントの喋る側は避けて通ってるけど、
喋る側としてイベント参加したほうが絶対おもしろいな〜と、PHPカンファレンス福岡に引き続き思った。。。


『Goならわかるシステムプログラミング』www.lambdanote.com

面白そうな本が予約受付してたのでポチッた

おしまい

爬虫類用メタルハライドランプ ソーラーラプター 70wを導入した

Twitterには書いてたんですが、最近ヒョウモンリクガメアダルト個体♀が調子悪く、環境改善の一貫で導入。

我が家では自作の1.2m四方くらいの小屋で飼育していますが、元々使用していたハイパーサン100wでは熱量に不満がありました。

先週の病院と引き続きかなり痛い出費ですがやむなし。

ハイパーサン100wとソーラーラプター70wの違い

明るさ・熱量に関しては圧倒的に後者が強いです。 同じ位置にとりつけてホットスポットの温度で10℃くらい変わりました。 紫外線量については高価な測定器はもっていないため、不明です。

が、明らかにバスキングにやってくる頻度は増えており、交換してよかったなという感想です。

ソーラーラプターに関するメモ

  • 安定期は電源オン直後ジーーーーーっと音を発すがすぐ止まる
  • 安定期の温度は50℃ほどまで上昇するので設置場所は要注意
  • 50hz 帯ではちらつきなど生じるそう http://lizardcare.net/2016/10/1061675442/
  • オフにした直後にオンしても点かないのでしばらくまつ