在 GCP 環境下使用 Ansible 自動化建立 ELK Stack

閱讀時間約 8 分鐘


raw-image

📔心得

最近,我在探索 Ansible 自動化工具的過程中,決定運用它來建立 ELK Stack,這是我之前使用 Docker 建立的經驗的延伸。在這個過程中,我想分享一下我的學習心得。

  1. 尋找資源

我開始了解 ELK Stack 的安裝過程,首先閱讀了官方文件,熟悉了整個設置流程。接著,我尋找 Ansible 中相關的模組,這讓我更好地理解如何在 Ansible 中實現相同的步驟。

2. 目錄結構的重要性

在撰寫 Ansible Playbook 過程中,我學到了良好的目錄結構是多麼重要。我從最初只有一個主要的 main.yml 開始,逐漸分解出根目錄下的多個 .yml 檔案,然後使用 include 來引入任務。這種結構讓整個 Playbook 更加模組化,易於管理。

3. 使用模板和變數

在創建模板時,我發現了 Jinja2 語法的威力。我可以直接套用變數,這讓我的模板在複製到目標主機時能自動載入所需的參數。此外,我還學會了如何根據我的主機清單(inventory)來動態設定這些參數,這真是強大的功能。

4. 感謝凍仁大的指南

我要特別感謝凍仁大(作者)的 Ansible 教程,我從他的 Ansible GitBook 中學到了許多寶貴的資訊。他的教程簡潔明瞭,對於初學者也非常友好。他的教程甚至提供了 Ansible 在使用 Docker Compose 方面的實際練習,這讓我能更好地掌握 Ansible 的操作技巧。另外,使用 Jupyter Notebook 執行 Ansible 模組也讓我的學習過程更加便利。

如果你對於 Ansible 自動化配置技巧感興趣,我推薦你閱讀這份凍仁大的 Ansible 指南,連結在下方:

🔗凍仁大ansible指南 –> 現代 IT 人一定要知道的 Ansible 自動化組態技巧

此外,我還將我使用 Ansible 建立 ELK Stack 的 Playbook 放在了以下的 GitHub 倉庫,歡迎參考:

🔗Ansible-ELK repo –> Ansible-ELK

這次的學習讓我更深入地理解了自動化的價值,也讓我更有信心在日後的專案中運用 Ansible 來簡化配置流程。

👨‍💻簡介

在 GCP 環境下使用 Ansible Playbook 建立 ELK Stack

  • Elasticsearch:主要會先需要先跑init master,接著再去跑seed host去加入master組成cluster架構,邏輯上還有可修改的地方,目前先以兩份yaml分開跑下去做建立,在跑完init master後會先建立iim以及index template
  • Logstash:直接將pipeline等設定直接複製到主機中。
  • Kibana:設定與 Elasticsearch 的連接資訊。

📁資料夾結構

.
├── create_elasticsearch_master_instance.yaml
├── create_elasticsearch_slave_instance.yaml
├── create_filebeat_instance.yaml
├── create_kibana_instance.yaml
├── create_logstash_instance.yaml
├── files
│ ├── elasticsearch
│ │ ├── api.sh
│ │ ├── certs
│ │ └── elasticsearch.repo
│ ├── kibana
│ │ └── kibana.repo
│ └── logstash
│ ├── conf.d
│ │ └── logstash.conf
│ ├── logstash.repo
│ ├── logstash.yml
│ └── pipelines.yml
├── group_vars
│ └── all
│ ├── env.yml copy.example
│ └── package.yml
├── inventory
│ └── elk.test.node
├── inventory.instance.create.yml.example
├── README.md
├── roles
│ ├── elasticsearch
│ │ ├── tasks
│ │ │ ├── create_disk.yml
│ │ │ ├── install_elastic.yml
│ │ │ ├── main.yml
│ │ │ ├── setup_disk.yml
│ │ │ ├── setup_elastic_master.yml
│ │ │ └── setup_elastic_slave.yml
│ │ └── templates
│ │ └── elasticsearch.yml.j2
│ ├── instance
│ │ └── tasks
│ │ ├── create.yml
│ │ └── setup.yml
│ ├── kibana
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ └── kibana.yml.j2
│ └── logstash
│ └── tasks
│ └── main.yml
└── vars
├── elasticsearch
│ ├── elasticsearch_var.yml
│ └── elasticsearch_var.yml.example
├── instance
│ ├── instance_var.yml
│ └── instance_var.yml.example
├── kibana
│ ├── kibana_var.yml
│ └── kibana_var.yml.example
└── logstash
├── logstash_var.yml
└── logstash_var.yml.example

🔰基礎介紹

  1. 設定機器資訊:複製好inventory.instance.create.yml.example後,可參考inventory裡的設定,主要設定gcp的資訊,elasticsearch的node_role為data_role,可參考以下連結

Elasticsearch Multi-Tier Architecture | Hot, Warm, Cold & Frozen

2. 設定group_vars的env.yml,改成自己的gcp的專案以及要設定的region

3. 設定vars裡的相對yml,可參考範例

  • elasticsearch:主要設定掛載的硬碟資訊
  • kibana,logstash:設定elasticsearch的host資訊

🎯setup

elasticsearch_master -> elasticsearch_slave -> logstash -> kibana

  • 指令
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i inventory.instance.create.yml create_xxx_instance.yaml -v
  • golang
raw-image

✅TODO

  • elasticsearch playbook 優化
  • 添加filebeat role
  • disk 修改建置資料夾
17會員
81Content count
golang
留言0
查看全部
發表第一個留言支持創作者!
wang alan的沙龍 的其他內容
在 Kubernetes 裡,Secret 就像是一個保險箱,可以放你任何不想公開的東西。比如說密碼、API 金鑰、憑證等,這樣的資料可能會被放在 Pod 裡,但你可以用 Secret 來避免直接在應用程式的程式碼中暴露這些機密資料。
👨‍💻簡介 今天早上在下kubectl get pods時,突然跳出了以下錯誤 Unable to connect to the server: x509: certificate has expired or is not yet valid
👨‍💻簡介 因在wsl環境下使用websocket通訊協議,並在windows使用postman發生連線被拒 嘗試了localhost與127.0.0.1都無效,爬文後找到了一些解決辦法,這邊簡單紀錄一下
👨‍💻簡介 從來沒想過部署可以如此的方便快速,第一次接觸到Zeabur的時候覺得他跟一般的雲端服務商差不多,架設網站用個vm之類的,但仔細去摸索後才發現他是個想讓開發人員專注在寫扣這件事上,不需去管任何infra相關事項的一個服務,像是架設wordpress需要sql,就簡單的點兩下即可完
什麼是 Kubernetes Deployment? 一樣先來個官網解說 A Deployment provides declarative updates for Pods and ReplicaSets. You describe a desired state in a Deployment,
👨‍💻Intro 為了實現vscode在wsl環境下使用ssh連接到gce的需求,在爬文後找到一篇解法,因此記錄下來,方便日後查詢 🎯setup 建立ssh.bat檔案,並放在windows下任意位置 2. vscode設定ssh.bat路徑 打開vscode的settings -> exte
在 Kubernetes 裡,Secret 就像是一個保險箱,可以放你任何不想公開的東西。比如說密碼、API 金鑰、憑證等,這樣的資料可能會被放在 Pod 裡,但你可以用 Secret 來避免直接在應用程式的程式碼中暴露這些機密資料。
👨‍💻簡介 今天早上在下kubectl get pods時,突然跳出了以下錯誤 Unable to connect to the server: x509: certificate has expired or is not yet valid
👨‍💻簡介 因在wsl環境下使用websocket通訊協議,並在windows使用postman發生連線被拒 嘗試了localhost與127.0.0.1都無效,爬文後找到了一些解決辦法,這邊簡單紀錄一下
👨‍💻簡介 從來沒想過部署可以如此的方便快速,第一次接觸到Zeabur的時候覺得他跟一般的雲端服務商差不多,架設網站用個vm之類的,但仔細去摸索後才發現他是個想讓開發人員專注在寫扣這件事上,不需去管任何infra相關事項的一個服務,像是架設wordpress需要sql,就簡單的點兩下即可完
什麼是 Kubernetes Deployment? 一樣先來個官網解說 A Deployment provides declarative updates for Pods and ReplicaSets. You describe a desired state in a Deployment,
👨‍💻Intro 為了實現vscode在wsl環境下使用ssh連接到gce的需求,在爬文後找到一篇解法,因此記錄下來,方便日後查詢 🎯setup 建立ssh.bat檔案,並放在windows下任意位置 2. vscode設定ssh.bat路徑 打開vscode的settings -> exte
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
"這怪人不壞,只是很討厭,他答應的事做的可好了,那小林的做的事情一點不差全交待了。 "我師父是這樣的,不能用常理衡量,小林對他的奇怪要求也不奇怪,而且他是最優秀的科學家,小林也不敢得罪他" "哎!"赤霞嘆了一口氣 ===================================  
Thumbnail
魔法師、稻草人、荒野女巫與火焰惡魔,這些童話裡的典型角色,看似完全適合兒童觀看。但,很多人都承認,第一次看《霍爾的移動城堡》似懂非懂,直到長大之後再看,才多少明白了。其實,這部動畫電影,與典型童話例如《綠野仙蹤》(也有魔法師,稻草人和女巫)本質完全不同
Thumbnail
👨‍💻簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部與內部的全球 IP 。 前提條件 Google Cloud Platform (GCP) 帳號: 確保有一個有效的 GCP 帳號。 安裝Terraform: 還沒安裝可
Thumbnail
👨‍💻 簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部和內部的區域 IP 。
Thumbnail
👨‍💻簡介 terraform在每次執行terraform plan或terraform apply時,是如何知道應該要管理哪些資源? 其實就是透過在每次執行terraform時,將建立或要變更的資源都記錄在terraform.state這份狀態檔,預設檔案使用JSON格式。
Thumbnail
經濟產業省資源能源廳 改定了最新電氣規定費率(6月份開始實施), 電費將大幅上升,導致各品牌的電動車(EV)的充電費也紛紛上調。 NISSAN將於9月開始,根據不同方案上調價格,最高可能會上調6成。 TOYOTA在4月也將基本費用上調了1100日元,HONDA則是宣布退出充電市場。 儘管以往電動車被
Thumbnail
【2023年5月3日憲法紀念日專輯】在娛樂化的戰爭中反戰是否可能?:觀《機動戰士鋼彈 水星的魔女》第13集「來自大地的使者」&14集「她們的願望」
以地球人的立場,要忍受高重覆的枯橾工作環境,是有一定的限度。 而自閉症者,反而在高重覆的工作環境,不只能忍受,反而無感。 下一階段的目標 自從在值班期間幫忙剪牌子之後,反而開始進行在固定的工作,做小小的微量插入的額外工作量。 因此,我想,到目前為止,也是時候。 而且,才剛開始,插入額外的工作量,不多
Thumbnail
只要你願意,可以隨時開始 一張紙和一支筆的魔力有多大?歷時四個月的「五感正念自由書寫」告一個段落。想要告訴大家疼惜自己是一件簡單但需要堅持的事,這段期間我使用最主要的教材是《自由書寫術》這本書,參與課堂者都能輕鬆上手,並將書中的想法容易實踐於生活中。 使用教材:《改變卡》圖卡、冰棒棍、簽字筆、信紙、
Thumbnail
只要透過Office增益集就能新增emoji在PPT跟word中使用喔!而且還能將表情符號插入成圖片或插入成文字,真的很方便~ 另外本文還有教如何使用PPT的 3D模型,並搭配小畫家使用更多模型喔~(文末有影片教學)
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
"這怪人不壞,只是很討厭,他答應的事做的可好了,那小林的做的事情一點不差全交待了。 "我師父是這樣的,不能用常理衡量,小林對他的奇怪要求也不奇怪,而且他是最優秀的科學家,小林也不敢得罪他" "哎!"赤霞嘆了一口氣 ===================================  
Thumbnail
魔法師、稻草人、荒野女巫與火焰惡魔,這些童話裡的典型角色,看似完全適合兒童觀看。但,很多人都承認,第一次看《霍爾的移動城堡》似懂非懂,直到長大之後再看,才多少明白了。其實,這部動畫電影,與典型童話例如《綠野仙蹤》(也有魔法師,稻草人和女巫)本質完全不同
Thumbnail
👨‍💻簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部與內部的全球 IP 。 前提條件 Google Cloud Platform (GCP) 帳號: 確保有一個有效的 GCP 帳號。 安裝Terraform: 還沒安裝可
Thumbnail
👨‍💻 簡介 這篇文章將會說明如何快速在 Google Cloud Platform 上使用 Terraform 建立外部和內部的區域 IP 。
Thumbnail
👨‍💻簡介 terraform在每次執行terraform plan或terraform apply時,是如何知道應該要管理哪些資源? 其實就是透過在每次執行terraform時,將建立或要變更的資源都記錄在terraform.state這份狀態檔,預設檔案使用JSON格式。
Thumbnail
經濟產業省資源能源廳 改定了最新電氣規定費率(6月份開始實施), 電費將大幅上升,導致各品牌的電動車(EV)的充電費也紛紛上調。 NISSAN將於9月開始,根據不同方案上調價格,最高可能會上調6成。 TOYOTA在4月也將基本費用上調了1100日元,HONDA則是宣布退出充電市場。 儘管以往電動車被
Thumbnail
【2023年5月3日憲法紀念日專輯】在娛樂化的戰爭中反戰是否可能?:觀《機動戰士鋼彈 水星的魔女》第13集「來自大地的使者」&14集「她們的願望」
以地球人的立場,要忍受高重覆的枯橾工作環境,是有一定的限度。 而自閉症者,反而在高重覆的工作環境,不只能忍受,反而無感。 下一階段的目標 自從在值班期間幫忙剪牌子之後,反而開始進行在固定的工作,做小小的微量插入的額外工作量。 因此,我想,到目前為止,也是時候。 而且,才剛開始,插入額外的工作量,不多
Thumbnail
只要你願意,可以隨時開始 一張紙和一支筆的魔力有多大?歷時四個月的「五感正念自由書寫」告一個段落。想要告訴大家疼惜自己是一件簡單但需要堅持的事,這段期間我使用最主要的教材是《自由書寫術》這本書,參與課堂者都能輕鬆上手,並將書中的想法容易實踐於生活中。 使用教材:《改變卡》圖卡、冰棒棍、簽字筆、信紙、
Thumbnail
只要透過Office增益集就能新增emoji在PPT跟word中使用喔!而且還能將表情符號插入成圖片或插入成文字,真的很方便~ 另外本文還有教如何使用PPT的 3D模型,並搭配小畫家使用更多模型喔~(文末有影片教學)