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

vCenter alarmをトリガにしてvmware powercli を実行する

version: VMware vSphere version 5.1例えば簡易的な(偽)オートスケールを作りたい場合、vm1にトリガを設定して、vm1のcpu使用率が高くなったときにpowercliでvm2を起動するようなことを書いておけば良い。が、このトリガ実行するコマンドを指定するのに一工…

elasticsearch + kibana + fluentの組み合わせでリアルタイムにログを可視化

参考 http://a3no.hatenablog.com/entry/2013/09/11/005232 http://open-groove.net/elasticsearch/fluentd-kibana/ http://inokara.hateblo.jp/entry/2013/09/07/122149 かなり良さげ。といいつつelasticsearchとkibanaをまだよくわかってない。 elasticsea…

apacheのdefaultのlogformatを少しだけいい感じにカスタマイズする

一部でLTSVが流行っていたりしますが、いまはそれは考えません。 apacheのdefualt のcombined LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 少しだけいい感じにしたformat LogFormat "%a %l %u %t \"%r\" %>s %b \"%…

apache AddHandlerはAddTypeより優先される?

AddHandler/AddType: 特定の拡張子に特定の動作をさせる設定。 AddType application/x-httpd-php .php AddHandler cgi-script .cgi例えばこう設定している場合、index.cgi をrenameして index.cgi.yyyymmdd などとしていてもcgiとして動作した。index.php を…

nc でport scan

nmapも使ってたりすると混同してオプション忘れがちになるのでメモ。 ncでport scan(daemonがlistenしているか確認するだけ#データ何も送らなくてよい)場合は-z optionを使うと良い。 $ nc -z 192.0.2.1 80; echo $? Connection to 192.0.2.1 80 port [tcp/h…

CentOS 5.10でmysql51、mysql55がパッケージに追加されていた

RHEL 5.10はまだ使ってないけど、恐らくそっちに追加されて追随しているものと思われる。 http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.10 # yum search mysql51 mysql51.i386 : Package that installs mysql51 mysql51-build.i386 : Package shipp…

nginxで特定の条件(ソースIPなど)の場合のみreverse proxyとして動作させる設定

こんなトリッキーなことしないほうが良い気もするけど。ソースIPの指定はif $remote_addr で正規表現で書いてもいいけど、複数あると煩雑になるのでgeo使ったほうが楽ですね。 気をつけないといけないのはifのの中などでproxy_passを指定する場合は URLの指…

netappのディスクの実効容量の目安 memo

昔の謎メモに残ってただけなのでかなり適当。 こんなことしなくてもベンダかメーカに聞くのが正しいんだけど、超概算でいいからさくっと計算したいときにはだいたいあってると思いますが何せ適当なので責任は取れません>< SATA 1TB 12本をsnapshot 20% と…

ansibleでvalidate optionを使うとエラーになる現象の対策

tasksでhttpd.conf をcopyする際にvalidateにapachectl configtestを実行するよう設定すると、、、 - name: copy httpd.conf template action: template src=/template/apache/conf/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf backup=yes validate='/us…

Logfile::Rotate - perl でログをローテート

諸事情でlogrotate を使わないでスクリプトで自前でローテートしたいときがたまにあって、でも自力で hoge.log をhoge.log.1(.gz)、hoge.log.1(.gz)をhoge.log.2(.gz) にリネーム、、、なんてことやってたんだけど面倒くさくてやだなーと思っていたら素敵モ…

junos memo

ping virtual router 内のnetworkへのping > ping 192.0.2.1 routing-instance vr_name routing static route 確認 # show routing-optionsvirtual router のrouting確認 # show routing-instances vr_name routing-options

checkinstall でrpm作成の復習

毎回ソースインストールをする苦行は辛いし、かといって1からspecファイル書くのもこれまた辛いので、 checkinstall に頼ろうとしたけど久しぶりすぎて完全に忘れていたので復習。 install checkinstall git から取ってくる。 $ git clone http://checkinsta…

CentOS 6.4 epel のunbound でmessagesにcould not open autotrust file for writing, /etc/unbound/root.anchor のerrorが出続ける件

error: could not open autotrust file for writing, /etc/unbound/root.anchor.47922-3: Permission denied https://bugzilla.redhat.com/show_bug.cgi?id=910756 このbugzilla見てるとfedora 19のpackageでは直っているらしい。動作を見ているとunbound ユ…

YAPC::Asia 2013 のチケット買いました

多忙すぎてブログ放置しすぎなので近況報告ついでに。 http://yapcasia.org/ 日程がけっこう微妙なので迷ってたけど売り切れたら嫌なのでポチりました。楽しみですね(^p^) 追記 仕事の都合でヤーピックいけませんでした。かなしお

bashでファイルのリダイレクトによる上書きを防止するオプション

自分が運用する環境では、うっかりrm、mv、cpでファイルを消さない/上書きしないようにbashのaliasの機能を使って"-i"オプションを有効にしています。 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'これはこれでいいんですが、このaliasはうっかりフ…

proftpdでTimesGMT OFFにしているのにchrootユーザだと時刻がGMT表記になる現象の対策

今まではinetdモードで動かしていて、その場合は /etc/xinet.d/proftpd にenv =TZ=JST-9 と書いておけば良かった。 service ftp { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.proftpd log_on_failure += USERID disab…

serverspec でサーバの設定状況をテスト

http://serverspec.org/ # gem install rake # gem install serverspec 使ってみた。rspecを使って、サーバのファイル、ファイルの中身、listenしているportや、起動スクリプト(chkconfig の状況など)をテストできるブツ。ぱっと使って見たけど簡単で良さそ…

python製の構成管理ソフト ansible を使ってみたのでまとめ

python製 構成管理ソフト https://github.com/ansible/ansible/ http://www.ansibleworks.com/docs/ chef(まともに使ったことないので良く知らないけど)は各nodeが管理サーバへアクセスする方式で、ansibleはサーバから各nodeへアクセスするpush方式。なので…

LINE のサーバのアドレス

proxyを経由しないとinternetへ接続できない環境下で、PCのLINE アプリケーションで接続できへんと言われた。 今のところ、LINEにはproxyを設定する項目がないようなので、proxyを経由させずにFWでNATさせるなどをするしかない。 ちなみに、プロキシでintern…

varnishでbackendのapacheにPOSTしているときにたまに(1/1000ぐらい)503 Service Unavailable になる現象はpassをpipeに変えたら出なくなった

https://www.varnish-cache.org/lists/pipermail/varnish-misc/2011-March/020169.html これも同じような感じ? backendの設定とbackendに投げる設定のvclはこんな感じ(抜粋) backend probe healthcheck { .url = "/index.html"; .interval = 30s; .timeout …

rsyslogで文字列とfacilityでfilterする

http://www.rsyslog.com/doc/rsyslog_conf_filter.html 監視サーバやLBからの死活監視のログが出続けるのが嫌なので、facilityごとに特定の文字列を含まないものだけログに出したいなーと思っていたら、rsyslogのdocumentにそのままの例がのっていた。 if $s…

linuxでiSCSI

恥ずかしながらiSCSIに触れる機会が全くなくて、さすがに卒業したいので、 とりあえずlinuxサーバでやってみた。iSCSI target : server iSCSI initiator : client target # yum install scsi-target-utils # chkconfig tgtd on # service tgtd start tgtadm …

RHEL6系のnfsのdefaultのversionを3に変更する

RHEL6系からnfs client nfsd ともにversionが4になったので、nfs serverがNFSv4に対応していない場合、clientのfstab内に vers=3 と都度書いていかないといけなくて、これが面倒だったりするのでdefaultの設定を変更したいという話。 clientの設定は/etc/nfs…

packstackでopenstack install するときにハマった

http://openstack.redhat.com/Quickstart CentOS 6.4 epel リポジトリはpackstack時にinstallされる あらかじめepelリポジトリをinstallしている場合はenabled=1にしておくこと selinuxを無効にしている場合、puppet の実行でerrorになる remoteでsetenforce…

最近のtomcatのmanager画面 はtomcat-users.xml でrolename tomcatを指定するとアクセスできない

defaultに用意されているrolename="tomcat" のまま利用すると。。。 <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/>ブラウザでhttp://192.168.0.1:80…</user></user></user></role></role>

linuxでファイルが多いディレクトリの中を素早くlsする

最近忙しかったり、怠けてたり、ネタがなかったりで気がついたら4月何も書いてなかったのでせめて小ネタでも書く。ext3などのファイルシステムによっては1ディレクトリ中のファイルが10万単位になると、lsを実行した際の応答が遅くなる。これはファイルの結…

swatch exec で指定して他のプログラム実行させると、子プロセスがdefunct になってゾンビで生き続けてうざいので、Swatch::Actions のsub exec_command 内に local $SIG{CHLD} = 'IGNORE'; を足した

件名の通りで、内容は1つ前のエントリとほぼ同じ。 # diff -u /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm --- /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org 2013-03-06 14:0…

perlでforkした子プロセスを投げっぱなしにする

親プロセス側はdaemon的に常駐させて、子プロセスだけ先に終了するような場合で、waitpid で待たなくても良い場合はSIGCHLD を受けても無視するようにすれば良いようだ。 $SIG{CHLD} = 'IGNORE';

glusterfs distributed でvolume 作ると、gluster native でmount したときに応答返ってこない(straceするとgetdentsが出続ける) 問題はサーバ側のfilesystemをext4からxfsに変えたら発生しなくなった

タイトルのまま。 ext4 でdistributed volume 作ると、まともに使えなくて困っていた。(stripe だと問題なし) サーバ # mkfs.ext4 /dev/vdb1 # mount /dev/vdb1 /data # gluster volume create vol1 gf01:/data/vol1 gf01:/data/vol1 gf03:/data/vol1 # glus…

inittab からプロセスをrespawnさせる時はフォアグラウンドで実行する

良く考えたら当たり前なんだけど。(使ってないからわからないけど、daemontools から起動するときもたぶん同じ理由でフォアグラウンドで起動しているはず)sshd などは実行すると親プロセスから切り離してバックグラウンドで動いてしまうので、いつものように…