リソースモニターとパフォーマンスモニターの違い

リソースモニター

  • 取得対象はローカルのみ
  • メトリクス対象はCPUやメモリなどのリソースのみ
  • 対象リソースの利用しているプロセスを確認可能
  • タスクマネージャーのパフォーマンスタブの高機能版
  • 起動すれば利用可能であるが、カスタマイズ要素は無い

パフォーマンスモニター

  • 取得対象はローカルに加え、アクセスできるネットワーク上の端末
  • メトリクス対象はCPUやメモリに加え、HTTP通信や.netの情報なども可能
  • 取得粒度は用意されている項目であれば明細設定可能
  • 起動後、確認したい項目を設定してから利用する格好

補記事項

  • ローカルのリソース確認においては、余程パフォーマンスモニターで取得したいメトリクスが無い限りは、リソースモニターを使えば良い。
  • CPUやメモリ、表示する画面に余裕あるなら常時リソースモニターは起動させておきたいかも。
  • リソースモニターのネットワークにTCP接続やリッスンポートなど増えてる(昔から実はあったか?)
  • ディスクやネットワークに関しては、普段から見ておかないと、いざという時に見ても分からない時が多いかも。

Fiddlerで値の書き換えが行えない

【前提知識】
Fiddlerはリクエストやレスポンスのキャプチャを行うためのツールである。
その際、対象のリクエストに対して、右のペインから[Inspectors]で選択して表示されている値を書き換えが可能である。
(WebFormsタブを選択し、Valueの値を書き換えるのが一番行いたいこと)

【事象】
リクエストの値が書き換えれない。

f:id:yoneyore:20210815154734p:plain
書き換えようとしても入力モードにならない

【原因】
変更できない様にロックがかかっているから。

【対応方法】
事前に対象リクエストで右クリック→unlock for editingを設定する。
(なおショートカットキーF2を覚えておくべき)
すると、InspectorsのWebFormsやHeadersなどで値が書き換えれるようになる。

情報システムのガバナンス・マネジメント・コントロール

ガバナンス

IT ガバナンスとは経営陣がステークホルダのニーズに基づき、組織の価値を高めるために実践する行動であり、情報システムのあるべき姿を示す情報システム戦略の策定及び実現に必要となる組織能力である。

経済産業省:システム管理基準(骨子)システム管理基準の枠組み

例)
・IT戦略と経営戦略の整合性がとれているか
・新技術やイノベーションの経営戦略への組込みが行われているか

マネジメント

自発的に判断してサポート・管理すること

情報システムの企画、開発、保守、運用といったライフサイクルを管理するためのマネジメントプロセスが IT マネジメントであり、経営陣はステークホルダに対して IT マネジメントに関する説明責任を有する。

経済産業省:システム管理基準(骨子)システム管理基準の枠組み

例)
・IT投資管理や情報セキュリティ対策がPDCAサイクルに基づいて、組織全体として適切に管理されているか

コントロール

ITコントロールは、情報および情報サービスへアシュアランスをもたらし、テクノロジーの利用にともなうリスクの低減に寄与するプロセスである

一般社団法人日本内部監査協会:IT コントロール

例)
・規定に従った承認手続きが実施されているか
・異常なアクセスを検出した際に適時な対処及び報告が行われているか
・組織の業務プロセスなどにおいて、リスクに応じた統制が組み込まれているか

[直近出題]
平成31年 春期 システム監査技術者 午前II 問10

P22 開発をリードする2つの役割(プロダクトオーナー・スクラムマスター)

一定期間に制限されたスプリントをベースとしたプロセスを円滑に進めるために、
スクラムでは、リーダーシップをプロダクトオーナーとスクラムマスターという2つの役割に分けている。

- プロダクトオーナー(Whatを担う)
「開発チームの作業とプロダクトの価値の最大化に責任を持つ」(スクラムガイド p.4)
環境の複雑さの矢面に立ち、作り出すべき何かを確定させていく。
また、刻一刻と移り変わる変化に応じて、開発するべきプロダクトの内容をメンテナンスし、
開発するべき何かを変化に適応させていく。
プロダクトオーナーは、名前が示すとおり、プロダクトが何であるべきかについて責任を負う。

- スクラムマスター(Howを担う)
スクラムの理解と成立に責任を持つ」(スクラムガイド p.6)
スクラムマスターは、スクラムチームにスクラムの理論・プラクティス・ルールを守ってもらうようにする(同 p.6)とされている。
スクラムマスターは、変化の激しい環境にさらされるスクラムチームが、
多種多様なコミュニケーションを通して開発に取り組むうえで、
スクラムをいう開発プロセスを用いて、より円滑な開発を行う事を支援する。
スクラムマスターは、どのようにすれば効率良くプロダクトを作り上げられるのか、
コミュニケーションが円滑にまわっていくのかについて責任を負う。

一般には、リーダーは1人の人物が担うものであるとされている。
にもかかわらず、スクラムがリーダーシップをプロダクトオーナーとスクラムマスターという2つの役割に分けて定義しているのは、
2つの軸「課題達成思考」と「人間関係思考」のそれぞれに対応するためである。
課題達成のために何を作るべきかを明確に定め、責任を持つのがプロダクトオーナーである。
人間関係を始めとするコミュニケーションをどのようにshて円滑に進めるのかに責任を持つのがスクラムマスターである。
リーダーという言葉で一般に想起される、チームをぐいぐい引っ張っていく存在は、どちらかというとプロダクトオーナーである。
スクラムマスターは「サーバントリーダー」、つまり「成果を上げるために支援や奉仕するリーダー」(スクラムガイド p.6)である。

内部統制の基本的要素

  • 統制環境
  • リスクの評価と対応
  • 統制活動
  • 情報と伝達
  • モニタリング
  • ITへの対応

www.search-firm.co.jp

MySQLに対して特定の条件下でインポートを行うと文字化けが発生する

事象

特定の条件下でインポートを行うと文字化けが発生していた。
(同じサーバーに対して別の人がインポートした処理は文字化けが発生していなかった)

原因

WindowsCLI(DOSプロンプト)でmysqlSQLをインポートすると文字化けが発生していた。

詳解

利用しているサーバーにMySQL Workbenchで接続し文字コードを確認した。

MySQL Workbenchで接続した結果

その後、WindowscliMySQL Workbench内にあるmysql.exeを用いて、同じサーバーで同様の確認を行った。

DOSプロンプトでCLI接続した結果

結果、同じSQLを実行しているのに、別の結果が返ってきた。
WindowsDOSプロンプトの文字コードはCP932である。
そのため、どうもmysqlCLIモードで実行すると、character_set_clientをCP932で送っているからと思われる。
(なお、パケットの観察までは行っていない)

対応方法

案1:skip-character-set-client-handshakeをサーバー側で設定する。
案2:DOSプロンプトの文字コードをchcp 65001で変更してから接続する。その際、mysql.exeで接続する際にdefault-character-setで文字コードのパラメータを付与する。

chcp 65001実行後のコンソールで実行した結果(それ以外何も変更点無)

my.cnf/my.iniの優先順位とオプショングループ

my.cnf/my.iniの優先順位

マニュアルにきちんと記載してくれている。
dev.mysql.com

表 4.1 Windows システムで読み取られるオプションファイル
もしくは
表 4.2 Unix および Unix-Like システムで読み取られるオプションファイル
に記載されている順番を参照すれば良い。

なお、my.cnfに全ての設定が定義できる訳ではない。
どのパラメータが設定できる/できないは以下を参考にすれば良い。
dev.mysql.com
また、MySQL8.0ではSET PERSIST句という機能が新しく用意されており、
my.cnfよりも更に優先順位高く設定が行われる上に、
当機能を利用すればmy.cnfで定義できないパラメータも指定可能である。
但し、mysqld-auto.cnfという別の場所に定義されるため管理が猥雑になる欠点もある。
blog.s-style.co.jp

オプショングループ

my.cnfの[mysqld]や[client]という記述はオプショングループという定義である。

4.2.2.2 オプションファイルの使用
(中略)
オプションファイル構文
(中略)
[group]
group はオプションを設定するプログラムまたはグループの名前です。 グループ行のあと、すべてのオプション設定行は、オプションファイルが終了するか、または別のグループ行が指定されるまで、名前を指定したグループに適用されます。 オプショングループ名では、大文字と小文字は区別されません。

そのため、ここの記述無視して書いてると痛い目をみる。
(AmazonRDSのパラメータグループとか普段利用していて、dockerとかで利用する時に忘れてるとやらかす)
よって、同じ定義をしているのは、意味がある。

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock

なお、オプショングループは以下の特性がある。
・オプショングループ名は同じプログラム名に適応される。
・clientオプショングループは、mysqlだけでなくMySQLクライアント全体に適応される
・client、mysqlみたいな包括関係がある場合は、オプショングループで同じ値を指定すると後勝ちになる
【関連リンク】
yoneyore.hatenablog.com