ラベル サーバ、管理 の投稿を表示しています。 すべての投稿を表示
ラベル サーバ、管理 の投稿を表示しています。 すべての投稿を表示

2012年3月22日木曜日

トラブル対処の原則考

修正したヘルスチェックスクリプトがうまく動作しないというので、調査していた。
本来ならNGとなるべき出力がOKのままだという。その時実施した対応は、

1)状況の聞き取り
2)ログなどのエビデンス収集 => ログなどが0バイト
3)部分的な実行による切り分け

結局のところ、部分的に実行していった段階でミスに気付いたのだが、これをもっと早く確実に発見する方策がないだろうか?

3-1)主要スクリプトを単独実行 => 出力空
3-2)上記スクリプトを手で実行(SQLPLUS) => 空
3-3)確実に出力があるように変更して実行 => no rows selected

ここにいたって、Oracleのつなぎ先が違うのでは?という疑いが発生し、調べたらまさにそうであった。

教訓1:調査開始時点での前提を明らかにして疑ってみる
 => 原因の上流の確認は作業が容易で効果が大
教訓2:前提を明確にできるような工夫をスクリプトに入れておけばよかった
 => または、文書としてコメントに入れておくか、前提確認用スクリプトなど
 例)前提:Oracleとの接続、スクリプトの配置場所、XXファイルの書き込も権限
   前提違反時の振舞:エラーメッセージ、空文字出力、、、

優先順位マトリックスを考えてみた:
 作業の困難性  => 当該部分に問題があるかどうかの確認作業の時間やスキル
 影響範囲の大小 => 当該部分の障害から本件が発生しうる確率
 優先順位 => 容易で影響大 -> 困難だが影響大 -> 容易で影響小 -> 困難で影響小
  *中央の2,3番目の部分は時間配分やメンバースキルによって反対にした方がよいか
   または、メンバーに余裕があれば並行して作業するといい

今回の件だと、Oracleの接続先のような前提条件は
「作業が容易で影響範囲が大」となり、優先順位が高いものといえる。
環境変数の設定も、同じ範疇だ。しかし、個別スクリプトの問題となると
「容易で影響小」となる。

2011年10月19日水曜日

Windws7 に SSHサーバ(Copssh)ではまる

サービスでの起動で問題発生
最初は、FreeSSHDをインストールしたが、サービスから接続すると"cannot create child desktop" だの、"入力不可" などで断念。
次に、Copsshを入れてみたが、これはCygwinのサブセットみたいなのでコマンドの少ないbashが使用できる。これもサービス起動だとうまく動かず、、、ググっていると、「サービスで使う場合はインストール時手で管理者アカウントでやるべし」みたいなのを発見し、その通りしてみると何とか動いた。ちなみに、コントロールパネルも管理者アカウントで起動してユーザを追加しないと効果ないようだ。また、インストール後に再起動も必須の模様。

 なお、ユーザ追加の時に変なドメイン「.」を指定してしまうと、エラーが発生して2度とコンパネが起動しなくなるのは困ったものだ、、、

参考:http://www.sevenforums.com/customization/19864-ssh-windows-7-a.html

Once you download this run it as administrator and accept the default settings. It will than prompt you to all the settings you would like to use.

Once done you will need to manual setup users through the Copssh folder in the Start menu. (hint if you want to add an account that is not YOURS) just type in in over the drop down.


途中までやりかけたFreeSSHDのサービスアカウントのポリシー変更に関してはこちら、
参考:http://linlog.skepticats.com/entries/2010/10/Got_freeSSHd_mostly_working.php

I believe you have to grant the freesshd service access to create system tokens.

Run gpedit.msc (or apply group policy from the directory)

replace "sshd" with whatever account the process is running as, the default is SYSTEM

Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment

Access this computer from the network -> add sshd
Act as part of the operating system -> add sshd
Adjust memory quotas for a process -> add sshd
Allow log on locally -> add sshd
Create a token object -> add sshd
Create global objects -> add sshd
Log on as a service -> add sshd
Replace a process level token -> add sshd

Comment posted on Tuesday 29 Mar 2011 at 5:54pm
By W. Strucke