タグ

ブックマーク / keyamb.hatenablog.com (5)

  • アラートをまとめるシステム "poloxy" の v0.2 をリリースしました - weblog of key_amb

    前回の記事で紹介した poloxy をその後リリースして、稿の執筆時点で v0.2.1 までバージョンが進みました。 ※5/8 v0.3.1 になったので追記しました。 目次: "poloxy" とは Motivation Current Status (※5/8 追記アリ) Milestone (余談) Another Approach 〜 Fluentd との相似について 5/8 追記: AdminLTE という UI テンプレートについて "poloxy" とは 繰り返しになるので詳しい説明は割愛しますが、スライドや README に載せている図を再掲しておきます。 こんな感じで、アラートをまとめて通知してくれるものです。 まとめられたアラートの内容は Web Dashboard で確認できます。 Motivation サーバサイドアプリケーションの開発・運用従事者の方は何かやらか

    アラートをまとめるシステム "poloxy" の v0.2 をリリースしました - weblog of key_amb
  • DateTime::Format::Strptime にパッチを送った話 #Perl - weblog of key_amb

    CPAN モジュールの DateTime::Format::Strptime は DateTime と同じ Dave Rolsky さんが開発しているもので、日付時刻を含む文字列のパースによく使われているのではないかと思います。 このモジュールの挙動が v1.58 から変わっていました。 #!perl use feature qw(say); use DateTime::Format::Strptime; my $strp = DateTime::Format::Strptime->new( pattern => '%Y%m%d', ); for my $str (qw/20160330 access_log.20160330/) { my $dt = $strp->parse_datetime($str); say "$str => undef " and next unless $dt

    DateTime::Format::Strptime にパッチを送った話 #Perl - weblog of key_amb
  • シンプルな分散ジョブスケジューラを作ってみた #appkoyomi - weblog of key_amb

    github.com 掲題の通り、軽量動作する分散ジョブスケジューラを作ってみました。 名前は Koyomi としました。 Perl で書きました。CPAN にもアップしています。*1 Motivation 出発点となった課題感としては、だいたい cron の冗長化法について調べてみた #cron - weblog of key_amb という記事に書いた通りです: バッチサーバの冗長化は割と見過ごされやすい やろうとするとちょっと面倒 上の記事では cron を冗長化するやり方をいくつか紹介したのですが、NFS は SPOF になりやすいし、keepalived を使ったやり方もなんだかトリッキーで少し複雑な気がしないでもないです。 そこで、もっとシンプルに高可用性を達成するやり方はないかなと考えて、実装してみました。 動作原理 仕掛けは割と単純で、スケジュールのデータストアをスケジュー

    シンプルな分散ジョブスケジューラを作ってみた #appkoyomi - weblog of key_amb
  • Ansible メモ - シェル環境変数の参照 - weblog of key_amb

    playbook 上で例えば $HOME のような値を参照する場合、少なくとも2通りのやり方があります。 (1) lookup plugin を使う Frequently Asked Questions — Ansible Documentation playbook に次のように書きます。 vars: local_home: "{{ lookup('env', 'HOME') }}" これで、以降 "{{ local_home }}" で参照できます。 (2) Facts を使う Facts については次の公式ドキュメントに記述があります。 Variables — Ansible Documentation 環境変数は "ansible_env" というハッシュの中に入っており、$HOME は次のようにして取り出せます。 {{ ansible_env.HOME }} 以上です。

    Ansible メモ - シェル環境変数の参照 - weblog of key_amb
  • IO負荷の高いプロセスを特定する方法 - weblog of key_amb

    カーネルの I/O Accounting 機能を利用する Linuxでカーネルのバージョンが 2.6.20 以降であれば、IO Accounting機能を使うとよい。 これが有効になっていれば、プロセス毎のI/O統計情報が /proc/${pid}/io に出力される。 …が、全プロセスについて、これを自前で分析するのは疲れるので、pidstat や dstat のようなツールを使うのが楽。 参考 IO Accounting 機能で I/O 負荷の高いプロセスを特定 :: drk7jp dstatの万能感がハンパない - (ひ)メモ iodump 2.6.19 以前のカーネルではどうすればいいか。 例えば、iodump というツールがある。 これは以前 Maatkit に含まれていた Perl スクリプトである。 使い方としては、以下の通り。 # download iodump wget

    IO負荷の高いプロセスを特定する方法 - weblog of key_amb
  • 1