どもども、ogimanです。
最近、10以上のWEBサイトが含まれるシステムの大規模メンテナンスがありました。
その際にメンテナンス画面を作りました。
要件としては
- 外部からの一般的なアクセスを遮断させる(メンテナンス画面を表示させる)
- プロキシサーバ経由であればアプリケーションにアクセスできる
そこで問題が〜〜〜〜!?
メンテナンス画面設定後に10以上のWEBサイトの状態を一般アクセスとプロキシサーバ経由で各々アクセスするのが非常に面倒で、かつ時間がかかり非効率!!
あ〜〜〜面倒くさい!面倒くさいよーーーー
ということで、
今回はこの問題を解決するために「複数のWebサイトの状態を簡易的に効率的に確認する方法」をメモっときます。
前提
- 私の環境はMacです。Windowsの方は多少の修正が必要かもしれません。
目的
- 複数のWebサイトの状態を簡易的に効率的に確認する。
誰向け
- インフラエンジニア
- システムのメンテナンス作業に立ち会うことがある方
現状
- メンテナンス画面設定後に10以上のWEBサイトの状態を一般アクセスとプロキシサーバ経由で各々アクセスを手動で確認している。
問題
- 10以上のWEBサイトの状態を確認するのに手動で確認している。
- 時間が掛かる
- 確認漏れが発生する
対処
Curlコマンドで効率的にしよ!
具体的
対象のURLを設定する
- ダブルクォーテーション内に動作確認するURLをセットする
- 複数ある場合は改行して追加する
url=("xxxxx.com"
"xxxxx.co.jp"
)
プロキシサーバを経由する場合
- 追加でプロキシサーバのURLとID・PWの追加が必要です。
proxy_url="プロキシサーバのURL"
login_id="プロキシサーバのID"
login_pw="プロキシサーバのPW"
- 実行コマンド
for i in ${url} ; do echo -n "[${i}] : " ; curl -X GET ${i} --proxy ${proxy_url} --proxy-user "${login_id}:${login_pw}" -o /dev/null -w '%{http_code}\n' -s ; done
プロキシサーバを経由しない場合
- 実行コマンド
for i in ${url} ; do echo -n "[${i}] : " ; curl -X GET ${i} -o /dev/null -w '%{http_code}\n' -s ; done
実行例
対象のURLを設定する
% url=("https://www.google.com/"
"https://www.yahoo.co.jp/"
"https://www.bing.com/"
)
% echo $url
https://www.google.com/ https://www.yahoo.co.jp/ https://www.bing.com/
コマンドを実行する
- [対象のURL] : httpのステータスコード
% for i in ${url} ; do echo -n "[${i}] : " ; curl -X GET ${i} -o /dev/null -w '%{http_code}\n' -s ; done
[https://www.google.com/] : 200
[https://www.yahoo.co.jp/] : 200
[https://www.bing.com/] : 200
最後に
ちょっとした効率化ですが、小さい無駄を削減することで仕事の生産性が上がります!
大した記事ではないですが、今後もこんな小さなTipsや経験談を発信していきたいと思います。
この記事が少しでも参考になったら、 お願いします!
励みになります♪
ではでは、良い一日を〜