アーカイブ

投稿者のアーカイブ

Tomcatのスレッド数をグラフ化するMunin plugin

2010 年 12 月 19 日 コメントはありません

会社で使おうと思っていたTomcatのスレッド数をグラフ化するMunin pluginがあるのですが、XML::Simpleに依存していて「Munin pluginのためにわざわざPerlモジュールインストールするのもなぁ」と思ったので、ついかっとなってXMLをパースするところを正規表現で書き直してみました。ついでにmaxThreadsも表示するようにしたり、微調整もしています。プラグインはgithubに上げてあります。

なんでXML::Simpleを使っていたかというとTomcatのstatus画面がXMLで出力されているからなのですが、頑張ればこのぐらいのXMLは正規表現でパースできるということが実践できて良かったです。

↓は実際のスレッド数のグラフ。

munin_tomcat_threads

Tomcatハンドブック 第2版

著者/訳者:Jason Brittain Ian F. Darwin

出版社:オライリージャパン( 2008-11-21 )

大型本 ( 560 ページ )


カテゴリー: Munin, Perl, Tomcat タグ: , ,

PythonからGrowlを利用する

2010 年 12 月 10 日 コメントはありません

GrowlというMacの通知インターフェースをPythonから使ってみたというお話。

Growl Python bindingをインストール

まずはGrowl本家からGrowl SDKをダウンロードしてダブルクリックし、

$ cd /Volumes/Growl\ 1.2.1\ SDK/Bindings/python
$ sudo python setup.py install

でインストールします。そしてシステム環境設定 -> Growl のネットワークタブをクリックして

  • 受信される通知を聞く
  • リモートアプリケーション登録を許可

の2つを有効にします。そしてGrowlを再起動しておきます。

スクリプトを書いて実行

あとは下記のようなコードを書いて

$ python growl_sample.py

として実行するとGrowlから通知が来ます。

growl_sample

#!/usr/bin/env python
# coding: utf8
import Growl
 
g = Growl.GrowlNotifier(
    applicationName = 'GrowlPython',
    notifications = [ 'Demo' ],
    defaultNotifications = [ 0 ],
    hostname = 'localhost',
    password = '',
)
g.register()
g.notify(
    noteType = 'Demo',
    title = 'hello',
    description = u'Growlへ通知!',
    sticky = False
)

余談

最初はpypiにあるgrowl-pyというPure Pythonなモジュールを使いたかったのですが、どうもメッセージに日本語を入れるとうまく通知されなかったので純正のものを使いました。

初めてのPython 第3版

著者/訳者:Mark Lutz

出版社:オライリージャパン( 2009-02-26 )

大型本 ( 808 ページ )


カテゴリー: Python タグ:

gitでtagを作成する

2010 年 12 月 3 日 コメントはありません

gitでのタグの作り方のメモです。

tagを新しく作る

$ git tag -a 1.0.0 -m 'v1.0.0'

remoteにpushする

$ git push origin 1.0.0

tagを表示する

$ git tag

tagをremoteから取得する

$ git fetch --tags
   or
$ git pull --tags

tagを削除する

$ git tag -d 1.0.0

remoteにも反映させる。(タグ名に’:'をつける)

$ git push origin :1.0.0

参考

カテゴリー: Git タグ:

sshで初回ログイン時に”The authenticity of host ‘host’ can’t be established…”を聞かれないようにする設定

2010 年 11 月 30 日 コメントはありません

sshで ~/.ssh/known_hosts にないマシンにアクセスする場合

The authenticity of host 'your-host (127.0.0.1)' can't be established.
RSA key fingerprint is 7f:cd:9a:d8:1d:9a:47:3b:97:e7:8e:c3:81:c8:2e:97.
Are you sure you want to continue connecting (yes/no)?

と聞かれます。社内用のサーバなどの場合、そんなに厳しく接続先のマシンをチェックしなくてもよいのであれば、sshクライアント側の ~/.ssh/config に下記の設定を書くことでこれを聞かれないようにできます。

host 192.168.1.*
    StrictHostKeyChecking no

~/.ssh/config ファイルのパーミッションは 600 じゃないと怒られるので

$ chmod 600 ~/.ssh/config

としておきます。これで大量のサーバに最初に初めてssh接続した時の “yes” を入力するだけの簡単な仕事から解放されます!

カテゴリー: SysAdmin タグ:

気になるiPhoneアプリをストックしておく方法

2010 年 11 月 3 日 コメントはありません

iPhoneでAppStoreでアプリを探していて「これ良さそうだけど、インストールはあとでやりたい」と思うことはありませんか?例えば容量が大きくてWiFiじゃないとダウンロードできないとか、電波が弱くてダウンロードするのに滅茶苦茶時間がかかる場合とか。

自分はもともと「AppStoreでAmazonのカート的な機能があったらいいのになぁ」とよく思っていたのですが、ちょっとした工夫で気に入ったアプリをストックしておいてあとでまとめてインストールする方法を考えたので、今日はその紹介をしたいと思います。

すごくざっくり言うと「AppStoreの友人に知らせる機能を使って自分のGmailアカウントにメールを送る」というただそれだけです。具体的には以下のような流れになります。Gmailを使うことが前提ですが、アドレスのエイリアスを作れて振り分けできればGmail以外でもいけます。

  1. まず連絡先に youraccount+iphoneapp@gmail.com というアドレスを登録しておきます(youraccountの部分は自身のものに置き換えてください)
  2. Gmailのフィルタの設定でyouraccount+iphoneapp@gmail.comにメールが来たら適当なラベル(例えばiphoneapp)をつける設定をします
  3. AppStoreでストックしておきたいiPhoneアプリがあったら「友人に知らせる」をクリックして1.で登録したアドレスにメールを送ります
  4. Gmail上のiphoneappラベルにメールが来ているので、リンクをクリックしてアプリをインストール

どうでしょう?これで気に入ったiPhoneアプリを忘れずに「あとでインストール」することができます。若干回りくどいですが自分はこれでアプリのインストールを忘れずにするようになりました。

カテゴリー: iPhone タグ:

watchでコマンドの出力を監視する

2010 年 10 月 31 日 コメントはありません

Unixには watch という、n秒ごとに定期的にコマンドを実行してその出力を表示するコマンドがあります。

例えば netstat -na した結果を wc で数えて現在のコネクション数を1秒ごとに表示するには

$ watch -n 1 'netstat -na | wc -l'

とやります。このコマンドを知る前までは

$ while true; do netstat -na | wc -l; sleep 1; done

とやっていてタイプするのが面倒だったので、かなり楽になりました。

補足ですが、時系列でコマンドの出力を表示させたい場合もあるので、while true; do netstat -na | wc -l; sleep 1; done のやり方も場合によっては全然有効だと思います。

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

著者/訳者:ブルース ブリン

出版社:ソフトバンククリエイティブ( 2003-02 )

単行本 ( 434 ページ )


カテゴリー: Linux タグ:

Muninの好きなところ

2010 年 9 月 19 日 コメント 2 件

リソース監視ソフトウェアにMuninというものがありますが、個人でも仕事でも使っていて割りと好きなものの一つです。どういうところがいいかというと

  1. インストールが簡単ですぐ動かせる
  2. Munin自体は静的なHTMLファイルを生成するだけなので、Webサーバは何でもよい。自分の好きなWebサーバを使えばよい
  3. リソース情報の収集は単に /etc/munin/plugins 配下のコマンドを呼び出しているだけなので、好きな言語でプラグイン(コマンド)を作れる

かなぁと。

ただ一方で、管理するサーバの台数が100台規模になってくるとグラフの生成に時間がかかる(ものによっては10分以上)という問題があるので、最近は代替できるソフトウェアを模索中です。

カテゴリー: Munin タグ:
Pages: << 1 2 3 4 5 6 7 8 ...23 24 25 >>