データセンターダイレクト 紹介資料ダウンロード

4月 14

出勤して、マイデスクの引き出しを開けたら、エビフライの尻尾が入っていました。
同僚に聞いたところ「気のせい(Fairy of Tree)」だそうです。
気が付けば地雷原ど真ん中のsakachan!です。

さて、windows上でActivePerlを起動させた時にコマンドゥィンドウが立ち上がってしまう現象が起きるのはご存知でしょうか。
私も今まで「そういうものだ」としか思っていませんでしたが、最近、作成したPerlプログラムは数分おきに起動し、起動から終了までの時間が短いため、ウィンドウが「パッパッ」という感じに、瞬間的に開いて閉じる動作を繰り返すので少し目障りに感じていました。
それに、起動の瞬間に偶然、ウィンドウの×ボタンを誤って押して閉じてしまったら、処理が異常終了してしまうのことも心配していました。

perl起動時に、ウィンドウを表示させない方法の一つが”wperl”です。ActivePerlに標準で付いています。
使用方法は非常に簡単で通常”perl”と入力する部分を”wperl”にするだけです。

C:/Perl/bin/perl.exe C:/test.pl
↓
C:/Perl/bin/wperl.exe C:/test.pl

perlとwperlの違いはウィンドウを表示の有無だけのようです。

同じような使用用途で”ruby”には”rubyw”があるようです。
実際に使用してみましたが、使い方は同じでした。

C:/ruby-1.8/bin/ruby.exe c:/test.rb
↓
C:/ruby-1.8/bin/rubyw.exe c:/test.rb
投稿者: SAKACHAN!
4月 07

スッキリスリムな体づくり、無理なくダイエットに成功したsakachan!です。

MRTGとは”Multi Router Traffic Grapher”の略でSNMP Agentから取得したMIBを利用してトラフィックや、CPU、メモリ、ディスクの使用率などをグラフ化できるツールです。

MRTGはプライベートでも使用しているのですが、今回は普通に実行するのではなく、複数のnodeを一つのconfigで管理できるよう、便利な機能として、外部ファイルをIncludeする方法を試してみようと思います。

最初はうまく動かなかったので、まずは失敗例を書きます。
mrtgコマンドで読み込む”test.cfg”のinclude部分は以下の通りです。

---省略---
WorkDir: /home/sites/hogehoge.com/web
Include: /home/.users/333/admin/mrtg/test.inc
Include: /home/.users/333/admin/mrtg/test2.inc
---省略---

includeさせるファイルの内容は以下の通りです。
全て記載すると長いので最初の部分だけ。

test.inc

---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu]: cpu
WorkDir: /home/sites/hogehoge.com/web/test/
Title[cpu]: CPU Load Average
---省略---

test2.inc

---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu2]: cpu
WorkDir: /home/sites/hogehoge.com/web/test2/
Title[cpu2]: CPU Load Average
---省略---

mrtgの実行結果、あっさり成功したようにみえました。
特にエラーは出ませんでした。
しかし、出来上がったグラフを見てみると、test2.incのグラフは更新されているが、test.incのグラフが更新されてない。

エラーメッセージも出力されなかったので、いろいろ調べましたが、
どうやら、WorkDirの指定は一つしかできないみたい。
今回はtest.cfgとtest.incとtest2.incにそれぞれ異なるWorkDirを指定したのがいけなかったみたいです。

なので”WorkDir”を統一して作業ディレクトリはWorkDir配下のPathをDirectoryに記述します。

ここから成功例を書きます。
WorkDirをtest.cfgから削除して

---省略---
Include: /home/.users/333/admin/mrtg/test.inc
Include: /home/.users/333/admin/mrtg/test2.inc
---省略---

test.incとtest2.incのDirectoryも出力先に合わせて以下のように修正。

test.inc

---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu]: test/cpu
WorkDir: /home/sites/hogehoge.com/web/
Title[cpu]: CPU Load Average
---省略---

test2.inc

---省略---
IconDir: /mrtg_icon
Language: eucjp
Directory[cpu2]: test2/cpu
WorkDir: /home/sites/hogehoge.com/web/
Title[cpu2]: CPU Load Average
---省略---

この状態でmrtgを実行した結果、二つのグラフの更新に成功しました。

ただし、この状態で新規でグラフを作成したい場合は、各ファイルでWorkDirを共通に指定しているため正常に出力されません。
indexmakerで以下のようにprefixを使用する必要があります。

indexmaker test.inc --prefix ../  --output=/home/sites/hogehoge.com/web/index.html

WorkDirを起点とした相対pathでDirの指定をします。

これで、グラフが正常に表示されれば成功です。

投稿者: SAKACHAN!
1月 30

カラオケでは自分の残りHPを計算して選曲するようになってしまったsakachanです。

以前、debianのバージョンを3.1から4.0へ上げて同じようにsnmpのMIBの取得したかったのですが、スムーズに動かなかったですし、当時は調べてもなかなか原因が見つからなかったので、解決策を手短に書きます。

snmpwalkコマンドを入力しても以下のようにMIBが取得できない。

$ snmpwalk -v 2c -c public 192.168.0.1
Timeout: No Response from 192.168.0.1

Debian4.0のsnmpdは標準で127.0.0.1で待機しているため、上記のコマンドではエラーが返ってくる。
なので、待機状態の修正を行う。

$ vi /etc/default/snmpd             

---省略---
#SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1' ← 127.0.0.1を削除
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
---省略---

上記のようにsnmpdを編集する。

$ snmpwalk -v 2c -c public 192.168.0.1             

SNMPv2-MIB::sysDescr.0 = STRING: Linux hogehoge 2.6.18-5-686 #1 SMP Mon Dec 24 16:41:07 UTC 2007 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (99317355) 11 days, 11:52:53.55
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysName.0 = STRING: hogehoge
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (8) 0:00:00.08
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
---省略---

上記のようにMIBが取得できるようになった。

投稿者: SAKACHAN!
1月 28

家ではハンターのsakachanです。

業務で必要だったためDummy Fileを作成した。ついでに作成時間も測定した。
※作成時間は起動しているプロセスでも左右されるので参考までに。

実験した機種は以下の通り。

NEC社製 Express5800/i110Ra-1h
OS:RHEL4
CPU:Intel PentiumM 1.73GHz
MEM:1GB

今回はddコマンドで作成した。コマンドは以下の通り。

dd if=読み込み of=書き込みファイル bs=1度に書き込むバイト count=ifからofへの転送数
dd if=/dev/zero of=hogehoge bs=1M count=10

「zeroをhogehogeへ書き込む。1Mバイトで10カウントする」
という意味。
10Mのダミーが一瞬でできる。

同じように1Mサイズで10000カウントで10Gのダミーをつくってみる。

dd if=/dev/zero of=hogehoge bs=1M count=10000

この方法も、サイズは10Gだがzero埋めするだけなので比較的早く240秒で処理が終了した。

zeroではなく乱数でダミーを作成したい場合は以下のように入力する。

dd if=/dev/urandom of=hogehoge bs=1M count=10
ファイル容量:作成時間
10M:9s
100M:35s
300M:116s
1G:333s

~オマケ~
大容量の乱数のダミーを作りたい場合はリソースを消費し、時間がかかるのでプロセスの優先順位をあげると処理が早くなる。
<優先順位の上げ方>

renice 優先順位 PID
renice -5 1111

優先順位は9~-20(-20の方が優先順位が高い)

投稿者: SAKACHAN!
12月 06

地雷を踏まない男になりたいsakachan!です。

少し、趣味の話をします。

7年くらい前から硬貨をコレクションしています。
金貨や銀貨、地金など収集しておりますが、やはり一番凝っている硬貨が金貨です。

資産運用ではなく単純にGOLDが好きなので収集しています。
運用目的では無いとはいえ、やはり価格が気になるので、時々、市場を除いています。
7年前なので1g1000円くらいの頃からコツコツ購入していますが、今は1g3000円くらいまで高騰しています。
やはり高騰すると嬉しいものです。

コレクションの一部をご紹介させていただきます。

携帯で撮影したので画像が汚いですがイギリスのブリタニア金貨です。
p1000256.JPG

少し珍しいですが、これはマン島の金とチタンのバイメタルコインです。
p1000254.JPG

これはデザインが気に入って当時13000円で購入したアメリカの金貨ですが、今は市場で23000円くらいで取引されているようです。
p1000257.JPG

11月9日の最高値1g3216円から少しづつ下落しているので、いらなくなった金貨や地金をオークションでもかけようかな。と検討中です。

投稿者: SAKACHAN!
11月 01

山本 昌の本名は山本 昌広。
こんばんは。SAKACHANです。

中日ドラゴンズが、クライマックスシリーズを制し日本シリーズが盛り上がっていますね。
2年連続は球団至上初ですよ。

私はスポーツ全般が好きなのですが、特に野球が好きです。
子供の頃、父とキャッチボールをしたり、町内の野球チームに半ば強制的に参加させられたり、いろいろ野球に携わる少年時代を送っていたので、いつの間にか野球好きになっていました。
当時、住んでいる所が大曽根近辺だったため、ナゴヤドームが近く、よく家族や友人と中日の応援に行っていました。
その名残か今でも時々、友人と一緒にドームまで行き中日戦を観戦します。

日本は、WBCでも世界屈指の強豪キューバを破って世界一に輝き、プロ野球球団も12球団もあり、シーズン中は毎日、テレビやラジオで試合放送し、ニュースや新聞にも試合の分析、予想、結果が細かく載る、ドコにいても野球の情報が入ってくる”野球の国”と言っても過言では無いです。

しかし、少し前に、「近所付き合いをしない家庭や、外で遊ばなくなった子供、父親とコミュニケーションを取らない子供が増えており、若者の野球離れが始まっている」というような記事を目にしました。

ドームでは、小学生や若い女性なども結構見かけますし、今の時期は会社の喫煙所などで、日本シリーズの話をよく聞きますので、私には「若者の野球離れ」は実感がない今日この頃です。

投稿者: SAKACHAN!
9月 25

最近はナゴヤドームで竜神会の人たちと一生懸命中日ドラゴンズを応援しています。
FUKUDOME Tシャツも買っちゃいました。
グーテンモルゲン。sakachanです。

WordPressのデフォルトでは記事に対してのURLが以下のようにパラメータを渡す形で形成されています。CGIなどでもなじみがある形式だと思います。

  • http://sakachan.jp/sakachan/?p=123(記事)
  • http://sakachan.jp/sakachan/?cat=123(カテゴリ)

が、こういったURLに関してよく耳にする話の中に検索エンジンについての話があります。検索エンジンは動的に生成されるページっぽいURL形状を嫌っているという話です。

知らない人が自分のブログに辿り着く方法は、一般的に検索エンジンからがほとんどだと思います。知って貰いたくて公開している情報が検索エンジンに嫌われてしまうと知らない人に知って貰うことができません。

というわけで今回は、検索エンジンに嫌われない様にWordPressのパーマリンクを変更してみます。
Continue reading »

投稿者: SAKACHAN!
8月 06

自宅で飼っている熱帯魚が抱卵しました。毎日、家に帰るのが楽しみです。
こんにちは。みんなのsakachan!です。

今日はApacheの認証について書かせていただきます。

Apacheではサイトへのアクセス承認として、指定したホストからの接続は許可する様に設定したり(authz_host_module)、Basic認証とDigest認証 ~Basic認証編~の様にパスワード認証で接続を承認したり(auth_basic_module)するのが一般的だと思います。

試しにそれぞれを.htaccessで記述してみましょう。まずは指定したホストからの接続は許可する様に設定(authz_host_module)する方からです。127.0.0.1からの接続を承認しますが、それ以外は承認しません。

Order deny,allow
Allow from 127.0.0.1
deny from all

次はパスワード認証で接続を承認する設定(auth_basic_module)です。詳しい話はBasic認証とDigest認証 ~Basic認証編~を読んでいただけたらと思います。

AuthUserFile /home/hoge/passwd/.htpasswd
AuthName "Please enter your ID and password"
AuthType basic
Require user sakachan

では、127.0.0.1からの接続を承認し、それ以外はパスワード認証で接続を承認する場合はどうなのでしょうか。これはちゃんと方法があって、上記二つの例をくっつけるついでにSatisfyディレクティブを使用します。では、実際に.htaccessにしてみます。

AuthUserFile /home/hoge/passwd/.htpasswd
AuthName "Please enter your ID and password"
AuthType basic
Require user sakachan
Satisfy Any
Order deny,allow
Allow from 127.0.0.1
deny from all

これで127.0.0.1からの接続を承認し、それ以外はパスワード認証で接続を承認することができるようになります。
場合によってはとても便利な設定ですので、ちょっとおすすめです。

投稿者: SAKACHAN!
7月 19

最近、腰痛が酷いです。
同僚に「あなたは、まるで、おじいさんのようです」と言われました。
こんにちは。sakachan!です。

今回はカーネルモジュールのコンパイルで無茶を試してみましたのでそのことを書いてみたいとおもいます。

普通にCentOSをインストールした後、yumでパッケージのアップデートをしました。そのときにkernel関係のパッケージもアップデートが掛かります。いつもならここで再起動してからkernel-develをインストールしてカーネルモジュールのコンパイルをするのですが、今回はそのまま実施してみます。

$ sudo yum install kernel-devel
: 省略    

You must run a dkms build for kernel 2.6.18-8.el5 (i686) first.      

Error! Your kernel source for kernel 2.6.18-8.el5 cannot be found at      

/lib/modules/2.6.18-8.el5/build or /lib/modules/2.6.18-8.el5/source.      

You can use the --kernelsourcedir option to tell DKMS where it's located.      

exited with status 1.

ある意味当然なのですが、(たぶん)kernel source 2.6.18-8.el5が見つからないと言われてエラーがでてしまいました。
一応確認してみます。

$ LANG=C ls -dl /usr/src/kernels/*
drwxr-xr-x 18 root root 4096 Jul 17 08:13 /usr/src/kernels/2.6.18-8.1.8.el5-i686

これを見ると、エラー通り2.6.18-8.el5はなくて2.6.18-8.1.8.el5-i686だけがありました。実行中のカーネルバージョンに対応するソースコードがないのでエラーが起きたと分かりました。で、普通なら動作中のKernelを2.6.18-8.1.8.el5-i686に切り替えてからいろいろすればよいのですが、ムチャしてみます。

要求してきたカーネルバージョンのソースコードがあると見せかけるためにシンボリックリンクを張ってみます。

$ cd /usr/src/kernels
$ ln -s 2.6.18-8.1.6.el5-i686 2.6.18-8.el5-i686

この状態でカーネルモジュールのコンパイルをしたところ何もなく済んでしまいました。
でもまぁこのカーネルモジュールでの運用動作を信用することはできませんよね。

投稿者: SAKACHAN!
6月 07

夜中にハウジングのお客様の障害対応をしました。

22時にお客様のサーバの通信確認をするのですが、
複数あるサーバのうち、1台だけ通信ができませんでした。

手順書に従い、すぐにお客様側のルータの再起動を実施したのですが通信ができず、会社側のルータを再起動しても通信できませんでした。

仕方が無いのでお客様の担当者様に電話連絡したのですが、
「通信ができないサーバは今調子悪いんですよ」とのこと。

再度24時にお客様から依頼があり、ルータを再起動したら通信ができるようになりました。

このハウジングのお客様は偶然にも私の担当のお客様です。
月報の提出とか、お客様から依頼のあった作業の追加、運用手順の修正などは私が行っています。
だからこそ、「安心したサービスを提供したい」という気持ちが強いので、とても心配してしまいました。 
事前に「1台調子悪いよ」の情報を頂けたら、お預かりする立場と
しては嬉しいのですけど・・・。 ふ~も。

投稿者: SAKACHAN!
Get Adobe Flash playerPlugin by wpburn.com wordpress themes