としたにあんの左脳

備忘録です.

LVMに入れたディスクを抜く

60GBのSSDを3枚ぶっこんで180GBのLVMを作った。 最近、その中の1枚が調子悪くて、LVM全体がRead-Only FileSystemになるようになった。 /dev/sdbが調子わるいみたいなので、抜くことにしたが、一苦労だったのでメモ。 [root@openstack-03 ~]# pvdisplay ---…

Ubuntu14.04でQRコード読み込む

UbuntuでQRコードを読みたい。 zbar-tools というパッケージをインストールする $ sudo apt-get install zbar-tools zbarimgというコマンドが追加される。 $ zbarimg qrcode.jpg QR-Code:QRCode on Ubuntu scanned 1 barcode symbols from 1 images in 0 sec…

ld: library not found for -ltbb

ビルドしてたらtbbのエラー出てきた。 ld: library not found for -ltbb 隣の人に聞いたら上手くいった。 $ brew install tbb $ export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH

C++でglobっぽいの

参考:c++ - Can I use a mask to iterate files in a directory with Boost? - Stack Overflow boost使う #include <boost/filesystem.hpp> #include <boost/regex.hpp> #include <boost/foreach.hpp> void re_glob(boost::filesystem::path& target_path, std::string& re, std::vector< std::string >& results) { con</boost/foreach.hpp></boost/regex.hpp></boost/filesystem.hpp>…

hipchat-cliの使い方

hipchat/hipchat-cli · GitHub コマンドが終了したらHipchatで通知飛ばしたい時とかに便利 インストール wget https://raw.githubusercontent.com/hipchat/hipchat-cli/master/hipchat_room_message chmod +x hipchat_room_message mv hipchat_room_message …

隠されたgccの歴史

138億年前 ビッグバンの超高温度・超高密度の状態の中でgccが生まれる 40億年前 地球で原始生命が生まれたころ,宇宙のどこかの生命体によりgccが発見される 27億年前 gccを材料とした初めての宇宙船が建造される 2億5000万年前 地球に来ていた宇宙船が現在…

Ansible 勉強会 #1 にいってきた

Ansible勉強会に行って来たので,感想とかをつらつらと. connpassで参加登録した時は補欠100番目とかでしたが,イベント開始の2時間前とかに繰り上がりの連絡がきて急いで行ってきました! 急なお願いにもかかわらず早退をさせてくれた会社に感謝です. と…

Ubuntu12.04のulimitの上限を上げる.

Ubuntu 12.04(他のLinux系OSも同じだと思う)でこんなプログラムを動かすと. IOError: [Errno 24] Too many open files: xxx っていうエラーがでる. 以下のコマンドで確認できるファイルオープン数の上限が1024になっているせいでファイルオープンできなくて…

eth1のIPアドレスをワンライナーで取得する.

ifconfig | grep eth1 -A 2 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'

UbuntuでNASをマウントする方法(smb)

$ sudo mkdir /mnt/smbfs $ sudo apt-get install smbfs $ sudo mount -t smbfs -o username=[user_name] -o password=[password] //192.168.x.x/[folder] /mnt/smbfs/

夜間バッチでzabbixのトリガーを発動させない方法

zabbixを使って監視をしている. 最近,夜間に走らせているDBのバックアップスクリプトのせいで, PROBLEM: Disk I/O is overloaded on XXX のアラートメールが来まくる. 良くない. Template OS Linuxのデフォルトでは直近5分間のiowaitが20%を超えるとト…

motoはソケットを使うライブラリと併用できない問題

motoを使ってテストをしてた時,テスト中にテストが進まなくなる現象が起きた. テストを見てみると,pymongoを使ってmongodbを叩いているプログラムのテストだった.(もちろんそのメソッドでbotoを使っていた) そのテストはmockを使わずに,実際のmongodbイ…

pythonでbotoを使ったプログラムのテストをする

pythonでS3を使ったプログラムを書く際に使用するライブラリとしてbotoが有名だと思う. 使い方は以下のサイトとかを参考にしたらいいと思う. [Python] botoを使ってS3にファイルを保存する boto でさくらのBASE Storageを弄る « 不定期な記録 botoのサンプ…

qpstudyに行ってきた

業務経験半年な右も左もわからないペーペーのインフラエンジニアなので qpstudy 2014.04 一般枠 〜俺の屍を超えて行け、でも踏まないで〜 on Zusaar に参加してきました! 勉強会って結構敷居高いイメージあるけど、すごく敷居が低い感があって行きやすかっ…

複数のdictを一つのdictにする方法 (python2系)

>>> a = {'a':1 } >>> b = {'b': {'bb':2, 'bbb':22}} >>> c = {'c': "33"} >>> d = dict(a.items() + b.items() + c.items()) >>> d {'a': 1, 'c': '33', 'b': {'bbb': 22, 'bb': 2}}

E [glusterfsd-mgmt.c:621:mgmt_getspec_cbk] 0-glusterfs: XDR decoding error

[glusterfsdを起動して,クライアント側でマウントしようとして,何かうまくいってないっぽい. /var/log/glusterfs/mnt-gfs.logをみてみる. ... E [glusterfsd-mgmt.c:621:mgmt_getspec_cbk] 0-glusterfs: XDR decoding error ... って書いてある. (ここ)…

ubuntuでserviceの起動時のon/offを変更する

sysv-rc-confを使う. $ sudo sysv-rc-conf ssh on $ sudo sysv-rc-conf jenkins off

jsonのnullをpythonでロードするとNoneになる

>>> import json >>> json_str = '{"bar": null}' >>> json.loads(json_str) {u'bar': None} >>>

Vagrantでクリーンなマシンを手に入れる

ChefのクックブックやAnsibleのPlaybookを作る時,ミドルウェアの検証を行いたい時など,クリーンなマシンが必要となることが多くあると思います. プライベートクラウドをもっているところならそれを使えばいいと思いますが,プライベートクラウド作るのは…

mongodbのObjectIdの生成規則

MongoDBのマイグレーションとかしてたら,MongoDBのObjectIdって本当にユニークだっけ?っていう疑問がわいた. 確かいろいろな要素を使って,ユニークになるようにできてたよなぁ...と思って,ちゃんと調べてみた. とりあえず公式のObjectIdの説明.Obj…

Ubuntu Firewall でudpを許可する

fluentdのforward input plugin を使用する際,受け取り側のホストでIP制限をしている場合,ポートを開放してあげる必要があります. fluentdのforward input plugin はイベントの転送をUDPで行います. 今日,fluentdの設定をしていて,うまくフォワードで…

さくらのクラウドで名前解決ができない時の解決法

さくらクラウドのインスタンスを立ち上げた直後にapt-getをしたらエラーになった. いろいろ調べると名前解決ができていないらしい. ここを参考に $ sudo dpkg-reconfigure resolvconf $ sudo reboot してみる.... まだ名前解決できない. /etc/network/in…

fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

OpenCV OpenCVをソースからビルドしていて,以下のエラーが出た. $ cmake .. $ make ... fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory ... 原因はEigenをBitBucketから持ってきて,手動で/usr/local/includeにインストール…

mongoのISODateのtimezone問題に対処する

mongodbのISODateはtimezoneに対応してないらしい. いろいろ検証してみて,最後はAggregation Frameworkでどうにかしてみようと思う. 準備 以下のスクリプトを動かすとサンプルデータがmongodbに入る. データの形式は以下の通り. 日本時間で2013/01/01 0…

Fluentd Casual Talks #3いってきた

Fluentd Casual Talks #3にいってきたので感想を残しときます. @tagomoris さん スライド Norikraのfluentプラグインのお話. Norikraというのとfluentdを連携してSQLチックにフィルタリングしてゴニョゴニョできるらしい. 一定時間ごとにGroupしてcountし…

Flaskでltsv形式のログを出してみた.(リベンジ)

前回つくった,Flaskのltsvロガーがイケてなかったので,リベンジ. 今回は辞書を渡すようにしたので,使いやすくなったはず.

Flaskでltsv形式のログを出してみた.

前置き 最近,いろいろな問題に直面して,ログの重要性を実感しました.そのため,複数のサーバに分散したログを収集する試みを行っています. その際使用しているのがfluentdです. fluentdの説明は割愛しますが,以下の記事が参考になると思います. Fluen…

Boost.Logのエラー

Boost1.54でロガー機能が追加されたらしく,使ってみようとしたところ, Undefined symbols for architecture x86_64: "boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)", refere…

fluentdでerror="argument out of range"というエラー

nginxからltsvでログはいてtd-agentでltsvで受けようとしたら, error="argument out of range” というエラーがでた. 2013-11-15 00:28:05 +0900 [warn]: "time:15/Nov/2013:00:28:05 +0900\thost:xxx.xxx.xxx.xxx\tforwardedfor:-\treq:GET /foo/bar HTTP/…

supervisordのstartsecs

supervisordのstartsecsって具体的に何なんだということで,以下の設定で設定でsupevisorを使ってプロセスを起動してみる.プロセスの起動時間をいじってみて,実験してみる. supervisor.d/demo.ini [program:demo] command=python /home/vagrant/test.py p…