自動化 Ops ツールキット開発

この実践的なプロジェクトでは、プラットフォーム効率化チームの一員として、一連の自動化ツールを開発します。プロフェッショナルな Git ワークフロー、システム監視のための Bash スクリプティング、Awk と Sed を用いた高度なログ処理、および Cron によるタスクスケジューリングを実践します。

DevOps EngineerDevOpsLinux

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

実用的な運用自動化は、一度動くスクリプトだけでは不十分です。バージョン管理され、実行可能で、出力が制御され、予測可能な予定で動く必要があります。このチャレンジ形式のプロジェクトでは、それらを小さなローカル運用ツールキットとして組み立てます。

Git ワークフローを整え、Bash 健康監視を作り、sed と awk で準備済みログを変換し、2 件の Cron エントリを登録します。コマンド解答ではなく、ファイル、権限、Git 状態、レポート内容、Crontab 構文が検証されます。

学習内容

  • ローカル Git リポジトリを初期化し、除外ルールを定義し、develop ブランチで基準コミットを作る
  • ルートファイルシステム使用率と Nginx 状態を時刻付きで報告する実行可能 Bash スクリプトを書く
  • df でディスク使用率を抽出し、systemctl、service、pgrep のいずれかでサービスを確認する
  • sed と awk で DEBUG 行を除去し、IPv4 を隠し、ログフィールドを整形する
  • 指定の時刻、秘匿タグ、メッセージ形式を持つレポートと実行可能な処理スクリプトを作る
  • 監視を 5 分ごと、ログ処理を毎日 02:00 に設定し、監視エラーをファイルへ送る

このコースの対象者

手順ごとのコマンドなしで Git、Bash、テキスト処理、Cron を組み合わせたい Linux・DevOps 学習者向けです。

前提知識: Shell スクリプト、実行権限、Git 基礎、パイプライン、sed、awk、プロセスまたはサービス確認、Crontab 構文に慣れていること。評価型プロジェクトです。

学習環境: Bash、Git、Cron、Nginx 関連サービス状態、GNU/Linux テキストツール、準備済みファイルを備えたブラウザー対応 Linux ホスト。遠隔 Git やクラウドは不要です。

よくある質問

Git フェーズでは GitHub などへ push しますか?

いいえ。/home/labex/ops-toolkit にローカルリポジトリを作り、*.tmp と logs/ を除外し、develop に切り替えて基準コミットを 1 件以上作るだけです。

監視スクリプトは完全なアラートシステムですか?

いいえ。monitor.sh はルートディスク使用率と Nginx 稼働状態を時刻付きで表示します。閾値、通知、メトリクス保存、ダッシュボードはありません。

ログ処理はどの形式を想定しますか?

日付、時刻、レベル、IPv4、メッセージを空白で区切った準備済みレコードです。DEBUG を除き、IP を [REDACTED] にして YYYY-MM-DD HH:MM:SS [REDACTED] Message... を出力します。

Cron 課題はジョブが実際に動くまで待ちますか?

いいえ。monitor.sh を 5 分ごとに実行して stderr を monitor.err へ送り、process_logs.sh を毎日 02:00 に実行する、ちょうど 2 行を検証します。

講師

labby
Labby
Labby is the LabEx teacher.