Blog
2007/05/21のBlog
[ 15:36 ]
[ 開発者のつぶやき ]
(こ)です。
大好評(?)の豊洲お食事どころシリーズ第2弾
豚道楽(豊洲店)
です。
(こ)はもっぱらお昼ごはん利用ですが、ランチメニューとして、
6種(ご飯もの)+2種(めんもの)があり、価格もそれなりです。
ですが、
・ソフトドリンクのみ放題(たぶん)
・スタンプためると1食無料(たぶん)
なもので(こ)はたまに昼ごはんしに行きます。
#お肉好きだしね。
(こ)。
[ 13:12 ]
[ 運用管理の気になること ]
(こ)です。
WEBMのオープンソース実装の1つであるOpenPegasusを触ってみました。
OpenPegasusはRed Hat EL4にはupdate2から含まれており、パッケージのCDからインストールすることができます。
ここでは、OpenPegasus(パッケージ名がtog-pegasusなのはなんでだろう?)に含まれる/usr/bin/osinfoを実行してみます。
まづは、ローカルホスト内でアクセスできるかな?
OpenPegasusの(再)起動
[root@redhat01 ~]# service tog-pegasus restart
アクセスするユーザの作成
[root@redhat01 ~]# adduser guest
[root@redhat01 ~]# passwd guest
[root@redhat01 ~]# usermod -a -G pegasus guest
コマンドの実行
[root@redhat01 ~]# /usr/bin/osinfo -h redhat01 -p 5989 -s -u guest
Please enter your password:
OperatingSystem Information
Host: redhat01
Name: Red Hat Enterprise Linux AS
( 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 )
Version: 2.6.9-42.ELsmp
UserLicense: Unlimited user license
Number of Users: 5 users
Number of Processes: 140 processes
OSCapability: 32 bit
LastBootTime: Apr 17, 2007 13:12:46 (00900)
LocalDateTime: May 15, 2007 19:56:48 (00900)
SystemUpTime: 2443442 seconds = 28 days, 6 hrs, 44 mins, 2 secs
素敵に取れましたね。
んでこのマシンにリモートからアクセスすると。
[root@redhat02 ~]# /usr/bin/osinfo -h redhat01 -p 5988 -s -u guest
Please enter your password:
osinfo error: Cannot connect to redhat01:5988. Connection failed.
ありゃ、接続失敗。
どうやら証明書がいるらしい。。。
続きは別の記事で。
(こ)
[ 09:13 ]
[ 開発者のつぶやき ]
どうも (こ)です。
Hinemosの動作環境OSの1つであるRed Hat ELですが、そういえば
4月にEL5がリリースされています。
http://www.jp.redhat.com/news_releases/2007/04182007.html
Hinemosでも対応が求められると思うのですが、
まだまだ、手が回りません。ロードマップの作成からだな。
まずは。
#というかクライアントのvista対応もしてないです。(^_^;)
(こ)
2007/05/18のBlog
[ 12:28 ]
[ 開発者のつぶやき ]
そういえばGWに旅にで出ていたら
鳥取で面白いのぼりを見つけました。
「カレールウ消費量日本一のまち・鳥取」
へーそうなんだぁ。と同時に
・なぜカレー”ルウ”なのか?(カレーライスじゃなくて?)
・鳥取の人ななんでカレー好きなの?(らっきょうあるから?)
なんて疑問が沸いてきました。
(が当然のごとく、昼食にカツカレーをいただきました。おいしかった。)
鳥取カレー倶楽部
(こ)
[ 11:02 ]
[ 運用管理の気になること ]
(こ)です。
割と教科書的内容ですが、
SNMPのv3とかは(こ)もあまり知識がないので参考になります。
http://www.itmedia.co.jp/enterprise/special/0705/snmp/
これからもっと深いところにいくのでしょうか?
(こ)
2007/05/17のBlog
[ 15:50 ]
[ 開発者のつぶやき ]
どうも (こ)です。
HinemosのWindowsセットアップガイドについて
書かれていたので反応します。
windowsでUCD-MIBがほんとに取れないのか?
についてですが、私が試した限りではHinemosに必要な
情報は取れませんでした。
(て事はもしかしたら取れるのかも。)
あわせて机上調査としては
http://net-snmp.sourceforge.net/docs/README.agent-mibs.html
にある可不可は以下のとおりです。
前略
Platform Keys
------------------
A All systems
U unix based
L Linux
S Solaris
H HP-UX
B BSD Based
F FreeBSD
O OpenBSD
N NetBSD
X MacOSX
W Win32 based
$ Microsoft
C cygwi---
M MingW
中略
------------------------------------------------------------------------------
UCD-SNMP-MIB
prTable U $ ~3.2 O ucd-snmp/proc.c
memory.*.0 U ~3.2 O ucd-snmp/memory*.c
extTable U $ ~3.2 D ucd-snmp/extensible.c
dskTable U 3.2 O ucd-snmp/disk.c
fileTable A 3.6 O ucd-snmp/file.c
laTable U $ ~3.2 O ucd-snmp/loadave.c
systemStats.*.0 U 3.4 O ucd-snmp/vmstat*.c
ipFwAccTable U 3.5 O misc/ipfwacc.c
dlModTable U 4.2 O ucd-snmp/dlmod.c
diskIOTable U 4.1 O ucd-snmp/diskio.c
ucdDemoMIBObjects A ~3.5 O examples/ucdDemoPublic.c
logMatch U ~3.5 O ucd-snmp/logmatch.c
version.*.0 A ~3.2 O ucd-snmp/versioninfo.c
snmperrs.*.0 A ~3.5 O ucd-snmp/errormib.c
mrTable (D) ---
後略
ということでHinemosに必要な情報はほとんど取れません。
(このドキュメントが正しければ。)
#ドキュメントの見方が間違っていたらご指摘ください。
何かの参考になれば。
(こ)
[ 11:20 ]
[ バグ・不具合情報 ]
一方hienmos_agentはRuntime.execというメソッドを利用しているので
そのサンプルを作成して実行したところ
[root@redhat01 tmp]# strace java HelloShell
execve("/usr/java/jdk1.5.0_11/bin/java", ["java", "HelloShell"], [/* 27 vars */]) = 0
uname({sys="Linux", node="redhat01", ...}) = 0
中略
mmap2(NULL, 528384, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb1dfd000
clone(child_stack=0xb1e7d4c4, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|
CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0xb1e7dbf8, {entry_number:6, base_addr:0xb1e7dbb0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb1e7dbf8) = 12689
futex(0xb251798c, FUTEX_WAIT, 1, NULL) = 0
後略
ということでコンソールとjavaではプロセスのfork方法が違うようです。
google先生に聞いたところexecveもcloneもプロセスをフォークするため
のシステムコールのようですが違いはあるのでしょうか?
#それとも、ぜんぜん違うところで、動作の違いが作られているのでしょうか?
力不足でギブアップです。
ちなみに、
Runtime.getRuntime().exec("/tmp/hello.sh");
では駄目でも、
Runtime.getRuntime().exec("sh /tmp/hello.sh");
ではrootで実行できるので、Hinemosのジョブ管理で
このようなことに遭遇した場合にはシェルから実行するように
してみてください。
(こ)
[ 10:30 ]
[ バグ・不具合情報 ]
さっきの続き
ですので、困った時のstraceでどこでパーミションのチェックをしているか調べてみました。
rootで実行
[root@redhat01 tmp]# strace /tmp/hello.sh
execve("/tmp/hello.sh", ["/tmp/hello.sh"], [/* 27 vars */]) = 0
uname({sys="Linux", node="redhat01", ...}) = 0
brk(0) = 0x877e000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
後略
(権限のないユーザ)user1
[user1@redhat01 ~]$ strace /tmp/hello.sh
execve("/tmp/hello.sh", ["/tmp/hello.sh"], [/* 21 vars */]) = -1 EACCES (Permission denied)
dup(2) = 3
fcntl64(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
ということで、シェルスクリプトをコンソールから実行する場合には
execveというシステムコール内でアクセスのチェックが行われているようです。
(こ)
[ 10:23 ]
[ バグ・不具合情報 ]
(こ)です。まいど。
Hinemosの不具合ではないとおもうのですが、気になることがあって調べてみました。
みなさん、linuxにおけるrooユーザの権限は強大だとはご存知ですようね?
例えば、以下のようなシェルスクリプトがあったとします。
-rwx------ 1 guest guest 77 5月 16 17:45 hello.sh
===サンプルシェルスクリプト hello.sh===
#!/bin/sh
DATE=`date`
echo "Hello World ==$DATE=="
echo "Hello World ==$DATE==" > /tmp/hello.txt
exit 0
===サンプルスクリプト終わり===
このスクリプトは所有者しか実行できないはずですが、rootユーザ(uid 0のユーザ)であれば実行できます。
[root@redhat01 tmp]# /tmp/hello.sh
Hello World ==2007年 5月 17日 木曜日 10:51:16 JST==
ですが、root権限で実行しているはずのhinemos_agentでは実行できません。
具体的には、hinemos_agentで利用しているRuntime.execのサンプルで
示すと
===サンプルHelloShell====
import java.util.*;
import java.lang.*;
public class HelloShell {
static public void main(String args[]) {
try {
Process process =
Runtime.getRuntime().exec("/tmp/hello.sh");
}
catch(Exception e) {
e.printStackTrace();
}
}
}
====サンプル終わり=====
を実行すると、
[root@redhat01 tmp]# java HelloShell
java.io.IOException: java.io.IOException: /tmp/hello.sh: cannot execute
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:429)
at java.lang.Runtime.exec(Runtime.java:326)
at HelloShell.main(HelloShell.java:6)
となるわけです。
これってなんでなんでしょうか?
(こ)
2007/05/16のBlog
[ 11:34 ]
[ 関連情報 ]
Hinemosハンズオンセミナー(初級)6月度開催の募集ですが、
定員に達したため申し込みを締め切りました。
次回は7月度が開催されますので、ふるってご参加ください。
#しかし最近は申し込みのスピードが速い。
(こ)
[ 09:33 ]
[ 運用管理の気になること ]
毎度 (こ)です。
最近気になっていることのひとつにSNMPに代わるサーバ・ネットワーク
管理プロトコルがあります。
その次世代スタンダードになろうとしているのがWEBMであり、CIMなのですが、その実態は私にはいまいちつかめていません。
MSのサイトでは
CIM ( Common Information Model )は、コンピュータ業界を中心とする DMTF ( Distributed Management Task Force )という標準化団体で開発されたオブジェクト モデル スキーマです。CIM モデルの開発と拡張は、システム、デバイス、ネットワーク、分散アプリケーション、所有コストなどを含むスキーマの様々な分野に焦点を当てた DMTF 内のいくつかのワーキング グループによってサポートされています。
中略
CIM スキーマは、WBEM ( Web-based Enterprise Management )イニシアチブの管理オブジェクトのモデリング基盤として機能します。WBEM は、様々な既存の管理技術とインターネット技術を利用して、エンタープライズ コンピュータ環境を管理する統一的な手段を提供する DMTF 内の業界イニシアチブです。WBEM は、ブラウザ ベースでもユーザー インターフェイス( UI )ツールでもありません。
なんて書いてありますが、なんことやら。。。
WEBMはSNMPみたいなプロトコル?CIMはMIBみたいなもの?
(こ)
2007/05/15のBlog
[ 15:22 ]
[ 開発者のつぶやき ]
http://www.itmedia.co.jp/news/articles/0705/15/news022.html
この主張の内容はさておき、特許ってオープンソースにとって重要なファクターだなぁ。と感じる今日この頃です。
文章中にあるOpen Invention Networkとか言う新らたな動きもありますが、基本的にはオープンソースが特許の侵害をしている場合には、ユーザがその責務を負う事になります。
特許により、エンジニアリングが発展してきたのもまた真実ですが
特許とオープンソースはどのような関係を築くのでしょうか?
(こ)
2007/05/14のBlog
[ 17:05 ]
[ 関連情報 ]
(こ)です。
下の記事とも関連しますが、
Hinemosハンズオンセミナー(初級)の6月開催の受付を開始しました。
#本セミナーはHinemosを操作いただきご理解いただくもので無料となっております。
最近人気ですぐに満席となってしまう本セミナーですので、
参加されたい方は下記より早めにお申し込みください。
申し込み詳細はこちらから
(こ)
[ 13:06 ]
[ 関連情報 ]
(こ)です。
Hinemos教育サービスについてのアナウンスです。
今まで、Hinemosハンズオンセミナ(初級)ということで無償セミナーを実施してまいりましたが、
このたびより深くHinemosを習熟していただくために有償コース「Hinemos ハンズオンセミナ(導入・設定)コース」を
開催させていただくことになりました。
Hinemosハンズオンセミナ(導入・設定)コースは、Hinemosを用いた運用管理システムの
構築をこれから予定している方や、既に Hinemosにより構築された運用管理システムの
オペレーションをされている方などを主な対象とした、エンジニア向けの研修コースです。
このセミナでは、Hinemosのインストール手順からHinemosの各機能の設定の流れ、
また運用画面の操作方法などを、マシンを実際に操作しながら学んで頂くことを目的としております。
開催日程や御申し込み方法などの詳細は、下記のページをご参照下さい。
Hinemosハンズオンセミナ(導入・設定)コース
以上、皆様のご参加を心よりお待ちしております。
2007/05/10のBlog
[ 17:23 ]
[ 関連情報 ]
どうも (こ) です。
ちょっと遅くなりましたが、アナウンスです。
LinuxWorld Expo/Tokyo 2007にHinemosを出展することになりました。
詳細は
ここに書いてあります。
ぜひご来場いただき、 (ざ)とか(こ)とかを探してみてください。
(こ)
2007/05/08のBlog
[ 12:40 ]
[ 開発者のつぶやき ]
Team Hinemosでは3月からhinemos.infoというポータルサイトを運営しています。
となると、ポータルサイトにはたくさんの訪問者の方に来てほしいと願っているので、以下のような記事が自然と目に留まります。
http://web-tan.forum.impressrd.jp/e/2007/04/24/1047
特に気になった点として以下の抜粋を。
研究グループはさらに具体的に、ウェブサイトのどのような特徴がサイトの信頼性にどの程度の影響を及ぼすかをアンケート調査結果から統計解析して、50項目超の重みつきチェックリストを作成した。信頼されるサイトの上位5つの要素はこんな項目だ。
1. 以前に利用して有益だとわかっていた
2. 運営組織は広くリスペクトされている
3. 顧客の質問に迅速に答えてくれる
4. 実世界の物理的住所を表示している
5. 以前の訪問から更新されている
ウェブマスターにできることは、問い合わせには迅速に答えること、リアルな組織のデータを示すこと、更新を怠らないことである。逆に、信頼性を落とすワースト5は次のようになっていた(4位と5位は同率)。
* 1位 広告とコンテンツを区別できない
* 2位 新しいコンテンツがほとんど追加されない
* 3位 自動的にポップアップ広告が表示される
* 4位 信頼できないサイトへリンクしている
* 4位 機能しないリンクがある
* 4位 ナビゲーションが悪い
* 5位 タイプミスがある
* 5位 サイトにアクセスできないときがある
なるほどって感じです。Hinemosポータルとしてはサイトとしてのミス(typoやダウン、リンク切れ)が無いことと更新が頻繁であることを取り合えず心がけていこうと思います。
(こ)
2007/05/07のBlog
[ 14:16 ]
[ 開発者のつぶやき ]
(こ)です。
Red Hat EL4 64bit版では、ライブラリ系のパッケージが
32bit と 64bit版の両方含まれている場合があります。
[root@redhat03 ~]# rpm -qa | grep glib2
glib2-2.4.7-1
glib2-2.4.7-1
こんなときは
[root@redhat03 ~]# rpm -qa --queryformat "%{name}-%{version}-%{release}.%{arch}\n" |grep glib2
glib2-2.4.7-1.i386
glib2-2.4.7-1.x86_64
とかすればよいらしい。
(こ)