DevOps-Automation with Python 14

Website Monitoring 1: Scheduled Task to Monitor Application Health(Linode註冊建立機台)

ZONGRU Li
Nov 14, 2023

前面已經透過Python撰寫很多AWS的EC2/EKS等等的應用

接著要來嘗試撰寫常見的另一種應用 →監控Web

預計實作流程如下:

  1. 在linode平台上建立Server
  2. 在該Server上安裝Docker
  3. 運行Nginx Container

首先這邊我順便紀錄申請Linod註冊

我隨便找到一個YT(LINK)介紹Linod,並附有$100 credit的連結:

如上Linod已經跟Akamai完成收購協議,所以標誌有的跟講師畫面不同

照表填寫帳號名稱

然後填寫基本資料與信用卡等資訊

註冊完畢後到右上點擊帳單資訊:

看到有100塊錢可以用到約1季的時間

這邊就先照著課程建立Linod機台

建立成功後看到:

防火牆順便調整一下:

登入:

畫面是第二次登入

安裝docker:

如上選擇的是Debian機台

所以直接查找如何在Debian安裝Docker

#整理當下Debian安裝Docker的指令 Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

#Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

#實際安裝:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安裝完成後可以看到:

接著簡單跑一個nginx服務

#起一個nginx容器服務:
docker run -d -p 8080:80 nginx

然後就可以瀏覽到:

而Linode的機台本身也有提供DNS的位置:

Website Request

撰寫簡單檢測網頁存活的Python程式

建立新的Python程式 →monitor-website.py

簡單寫出以下:

執行後看到:

這邊就能寫出簡單的處理邏輯:

參考課程reference

--

--

ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!