2016-01-01から1年間の記事一覧

powerdns+dnsdistの構築

DNS

powerdns+dnsdistの構築 概要 もともとpdns(権威DNS)が動作していた環境にdnsdistを導入した。 以下のような構成。 + | 53/udp | +--------------+ | +----v-----+ | | | | | | | dnsdist | | | | | | | +----+-----+ | | | 10053/udp | +----v-----+ | | …

pylruをマルチスレッドで使うと「KeyError:」が発生する

githubにissueがないのでここに書く。 以下のような2スレッドで同時にlrucacheに書き込むとエラーが起きる。 test.py import pylru import threading import random cache = pylru.lrucache(1024) def f(): while True: key = 'key %s' % (random.randint(1,…

曖昧にならない後方参照の記述方法

pythonで正規表現を使って置換処理をするときに、後方参照で少し困ったことが起きた。 一般的に使われる「\1」のような後方参照の直後に数字を続けると当然だけど後方参照の数字がどこまでなのかわからなくなる、というものだ。 解決方法は簡単で「\1」では…

pdnsを適当にチューニング

pdnsのチューニングは以下のページが参考になる。 https://doc.powerdns.com/md/authoritative/performance/細かくやればきりがないと思うけど、receiver-threadsが一番効果がでそうなので、そこからやってみる。チューニングのきっかけとしては、バックエン…

pythonのsftpserverを試す

pythonで書いているバッチのテスト用にsftpサーバを簡単に立ち上げたかった。 探してみるとちょうどよいsftpseverというものを見つけたので使い方を含めてメモ。 GitHub - rspivak/sftpserver: A simple single-threaded SFTP server gist.github.com

ニフティクラウドのロードバランサをAnsibleから操作できるようにしてみた

AWSならbotoと連携するモジュールをAnsibleが正式に提供しているが、 ニフティクラウドのSDKがそもそもPythonに対応していないので、Ansible対応は難しい。ということでAnsibleに対応するために2点実装した。 (1)botoをニフティクラウド用に修正 (2)An…

implementation of smtpd always returning 500 error.

常に500エラーを返すSMTPサーバを実装した。テスト等に使えるはず。 gist.github.com工夫ポイント: エラーコードの返し方がsmtpdのドキュメントにはなかったので、ソースから特定した。

ログ監視ツール比較

ログ監視を行いたいが、どのツールがよいのか検討したので、簡単にメモする どのツールが良いかというのは、既存環境との組み合わせや、そもそも既存のツールで完結させたいとかそういう要望次第なのでなんとも言えない。 あくまで自分視点で比較をする。 調…

swatchをfluentdに連携させる

swatch(Simple Log Watcher)は昔からあるログ監視ツールらしい。詳細は置いておいて、このswatchの出力をfluentdに送りたい。なぜならばデフォルトでswatchが出力できるのはmailと標準出力なので、サーバの台数が増えてくると管理できなくなる(メール100通…

leapmotionでキー入力がしたいのでプロトタイプを作ってみた

勢いでleapmotionを新宿のヨドバシカメラで買ってきてしまった。 実は前々からジェスチャーで文字入力をやってみたかった。環境 Ubuntu 14.04.4 LTS Leap_Motion_SDK_Linux_2.3.1 どのような入力を実現するか手の指を一本折り曲げた状態で手を左右上下前後に…

perlワンライナー集計処理

以下の様なテキストを入力として受け、出力を合計値にしたい。 a 10000 b c 33 b 100 a 3993出力 c 33 a 13993 b 100シェルスクリプトで実装する方法も考えたが、なんだか面倒なので、 なれないPerlワンライナーにチャレンジ以下を参考にした。 「Perlワンラ…