調子に乗ってWindowsにも入れてみた

試しなんでXPなんだけど

http://www.jory.info/#downloads_muninnode
ここ↑から munin-node-win32 のBinaryをダウンロードして解凍
できたフォルダをProgram Files配下へ移動
コマンドプロンプトを開いて

> "c:\program files\munin\munin-node-win32.exe" -install

ってするとサービスに登録してくれる*1

あとは監視する側のmunin.confにFQDNまたはIPアドレスを書き加えるだけ
すばらしく簡単w

*1:MSI Installerを落として入れたらこの辺の手間はいらないのかも

CentOSにmunin-nodeを入れてみる

昨日Gentooへのインストールが出来たので、監視される側としてCentOSにmunin-nodeを入れてみる

yumでいっぱつ

# yum install munin-node

としてみたところ、主にPearl関連で6つインストールされるみたいだけど、やばげなのは特になかったので

# yum -y install munin-node

として一気にインストール

で、これだけでpluginとかも設定が終わってるw
すばらしい

あとは

# /etc/init.d/munin-node start
# chkconfig munin-node on

して起動時に起動するようにして設定終わり

監視する側も2行だけ

# vi /etc/munin/munin.conf

で設定ファイルを開いて

[監視対象のサーバ名]
    address 監視対象のサーバ名またはIPアドレス

って書くだけ
これで5分後にはグラフができるって、すげぇ簡単

GentooにMuninを入れてみる

まずは様子見

# emerge -p munin

なんか x11-libs/cairo-1.8.8 ってのが「USEフラグに'svg'足せやごるぁ」って言ってるので、

# USE="svg" emerge -p munin

ってしたら67個もインストールされるみたい

perl-core/MIME-Base64-3.08
media-libs/freetype-2.3.9-r1
perl-core/Time-HiRes-1.97.19
perl-core/Storable-2.20
perl-core/Test-Harness-3.17
perl-core/Package-Constants-0.02
perl-core/Scalar-List-Utils-1.21
perl-core/PodParser-1.38
dev-perl/HTML-Tagset-3.20
dev-perl/Net-Netmask-1.9015
dev-perl/HTML-Template-2.9
dev-util/gtk-doc-am-1.11
dev-perl/IO-Multiplex-1.09
dev-perl/Crypt-DES-2.05
sys-devel/automake-1.9.6-r2
virtual/perl-MIME-Base64-3.08
perl-core/Compress-Raw-Bzip2-2.021
perl-core/Compress-Raw-Zlib-2.021
dev-libs/glib-2.20.5-r1
dev-perl/HTML-Parser-3.64
virtual/perl-Storable-2.20
dev-perl/net-server-0.97
virtual/perl-Time-HiRes-1.97.19
virtual/perl-Test-Harness-3.17
virtual/perl-Package-Constants-0.02
virtual/perl-Scalar-List-Utils-1.21
virtual/perl-PodParser-1.38
dev-perl/XML-Parser-2.36
x11-misc/util-macros-1.3.0
perl-core/digest-base-1.16
perl-core/Getopt-Long-2.38
virtual/perl-Compress-Raw-Bzip2-2.021
virtual/perl-Compress-Raw-Zlib-2.021
dev-util/intltool-0.40.5
x11-libs/pixman-0.17.2
dev-perl/HTML-Tree-3.23
dev-perl/URI-1.38
perl-core/IO-Compress-2.021
virtual/perl-digest-base-1.16
virtual/perl-Getopt-Long-2.38
perl-core/Digest-MD5-2.39
virtual/perl-IO-Compress-2.021
dev-perl/Digest-SHA1-2.11
virtual/perl-Digest-MD5-2.39
perl-core/Archive-Tar-1.54
dev-perl/Digest-HMAC-1.01-r1
virtual/perl-Archive-Tar-1.54
dev-perl/Authen-SASL-2.12
perl-core/libnet-1.22
virtual/perl-libnet-1.22
dev-perl/Net-SNMP-5.2.0
perl-core/Module-Build-0.34.0201
virtual/perl-Module-Build-0.34.0201
perl-core/ExtUtils-ParseXS-2.20.0401
virtual/perl-ExtUtils-ParseXS-2.20.0401
perl-core/version-0.77.02
virtual/perl-version-0.77.02
perl-core/Text-Balanced-2.0.0
virtual/perl-Text-Balanced-2.0.0
media-libs/fontconfig-2.6.0-r2
app-admin/eselect-fontconfig-1.0
x11-libs/cairo-1.8.8
x11-libs/pango-1.24.5-r1
net-analyzer/rrdtool-1.3.8
dev-perl/Crypt-SSLeay-0.57
dev-perl/libwww-perl-5.831
net-analyzer/munin-1.3.4-r2

インストールが終わると、「emerge --config net-analyzer/munin を実行しなさいよ」みたいなメッセージが表示されるので実行する

# emerge --config net-analyzer/munin

なんかこれで基本の設定ができる、らしい

次に使えるpluginをごっそり指定

munin-node-configure --suggest --shell --families auto

このコマンドで使えるpluginのシンボリックリンクを /etc/munin/plugins/ へ作るコマンドを教えてくれる
がさーっと作って5分待つ

と、なんか作成されるグラフがおかしい

どうやらfontが入っていない模様
なにいれていいかよくわかってないので、それっぽいものを入れてみる

# emerge  corefonts

よかったみたいw

device-mapperがlvm2に含まれるようになったそうで

以下本日のemerge -up world の出力

[ebuild     U ] sys-apps/busybox-1.14.2 [1.13.2]
[ebuild     U ] dev-db/mysql-5.0.84-r1 [5.0.70-r1] USE="community%* -profiling%"
[ebuild     U ] sys-libs/e2fsprogs-libs-1.41.9 [1.41.3-r1]
[ebuild     U ] sys-apps/util-linux-2.16.1 [2.14.2] USE="perl%*"
[ebuild     U ] sys-fs/e2fsprogs-1.41.9 [1.41.3-r1]
[blocks b     ] <sys-fs/e2fsprogs-1.41.8 ("<sys-fs/e2fsprogs-1.41.8" is blocking sys-libs/e2fsprogs-libs-1.41.9, sys-apps/util-linux-2.16.1)
[ebuild     U ] sys-fs/udev-146-r1 [141] USE="devfs-compat%* -extras%"
[ebuild     U ] sys-fs/lvm2-2.02.51-r1 [2.02.36]
[blocks B     ] <sys-fs/lvm2-2.02.45 ("<sys-fs/lvm2-2.02.45" is blocking sys-fs/udev-146-r1)
[blocks B     ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/udev-146-r1)
[blocks B     ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/lvm2-2.02.51-r1)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

 ('ebuild', '/', 'sys-fs/udev-146-r1', 'merge') pulled in by
   virtual/dev-manager required by world

 ('ebuild', '/', 'sys-fs/lvm2-2.02.51-r1', 'merge') pulled in by
   sys-fs/lvm2 required by world


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked

一瞬途方にくれたんですが、http://d.hatena.ne.jp/ousttrue/20091108/1257702890:Title=device-mapperがudevをblockingする件 - 三次元日誌 という記事からdevice-mapperをunmergeすればいいんだとわかってすんなり対処できました

Gentoo使い始めてもう4-5年たつけど、まだBlockingには慣れないなorz

接続文字列の属性が正しくありません。(0)

SQLサーバのユーザパスワードに;(セミコロン)を使うと、「接続文字列の属性が正しくありません。(0)」というメッセージが出てクライアントから接続できなくなることがあるような。

やっかいなのは、SQL Server Management Studioでパスワードを設定した時はもちろん、ODBCデータソースから接続のテストを実施した場合もなにごともなく接続できてしまう。

今回はまったのは、PDM WorksEnterpriseのサーバ構築中に、統合MSSQLサーバへ接続しようとした、という環境だったため。

考えるべきことが多すぎたorz。

  • 統合MSSQLサーバは、64bitでしかもMSCS上で稼働している
  • PDMWEはよく知らない、インストールマニュアルには名前付きインスタンスで書かれてる

ただ、メッセージでググるとPDMWE関係なしにいくつか同じ現象ではまってる人はいたので、MSSQL関係のエラーであることは予測可能。

まぁ、パスワードとはいえ制御コード系の文字は使わない方がいいっていうことだね。

EFS 暗号化ファイルシステム運用のキモ

モバイルPCの紛失対策のため、EFSの運用周りについて調べたり人に聞いたりしたのでまとめ

運用のキモは3つ

  • 回復エージェントの鍵はcipherで作成する
  • 回復担当者は上記鍵を自分の証明書ストアに格納して回復できるようにする
  • ファイルサーバ上にはEFSが作成できないようにレジストリをいじる

なぜ、「回復エージェントの鍵はcipherで作成する」必要があるか

証明書サービスにより自動で発行される証明書は有効期限が2年しかない
しかも、自動更新はできない
てことは、2年後の更新を忘れると大変なことに


それに対して、cipherで作成した証明書の有効期限は100年w
そのころどうなってるかは知らんが、俺が困ることはないw

なぜ「回復担当者は上記鍵を自分の証明書ストアに格納して回復できるようにする」必要があるか

回復担当者とは、暗号化したユーザアカウントを間違って消してしまったりして複合化できなくなったときに颯爽と登場して複合化してくれるオタスケマンなんだけど、デフォルトではAdministratorだけ登録されている

ここに回復担当者として任命された人のIDを登録すると、その人が退職したり異動したりして担当者じゃなくなっても、それまでの間に暗号化されたモノにはその人の公開鍵がついたまま残ってしまう

というわけで、回復担当者のために新たに証明書を作成するよりも、Administrator用の証明書をその人の証明書ストアに入れておく方がベター

異動する場合は証明書ストアから回復用証明書を削除すればいいだけ

なぜ「ファイルサーバ上にはEFSが作成できないようにレジストリをいじる」必要があるか

共有やNTFSのアクセス権と連動しないから

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFSに、新規でEfsConfigurationというキーをREG_DWORDで作成し、値を1に設定する

Javaだと異なる、正規表現で入力文字が半角かどうかのチェック

正規表現を使って入力文字が半角英数のみか確認する際のパターンは、

^[0-9A-Za-z]+$

を使っていたんですが、Javaだと異なると、下記ページを書かれた方に教えていただきました

Javaサンプルソース【正規表現で入力文字が半角英数かどうかチェック】『愛のJava256本ノック』

曰く、Javaには

  • 完全一致のmatchesメソッド
  • 部分一致のfindメソッド
  • 前方一致のlookingAtメソッド

があって、matchesメソッドを使う場合は完全一致が前提なのでパターンは

[0-9A-Za-z]+

だけでいいとのこと

勉強になりました

参考:
@IT:Java TIPS -- Javaで正規表現を活用する(java.util.regexパッケージ)