在 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會員
79內容數
golang
留言0
查看全部
發表第一個留言支持創作者!
wang alan的沙龍 的其他內容
你可能也想看
在電費持續上漲的環境下,到底是油車還是電動車比較省錢?經濟產業省資源能源廳 改定了最新電氣規定費率(6月份開始實施), 電費將大幅上升,導致各品牌的電動車(EV)的充電費也紛紛上調。 NISSAN將於9月開始,根據不同方案上調價格,最高可能會上調6成。 TOYOTA在4月也將基本費用上調了1100日元,HONDA則是宣布退出充電市場。 儘管以往電動車被
Thumbnail
avatar
鬍子男的日本經濟筆記
2023-06-24
在娛樂化的戰爭中反戰是否可能?:觀《機動戰士鋼彈 水星的魔女》第13集「來自大地的使者」&14集「她們的願望」【2023年5月3日憲法紀念日專輯】在娛樂化的戰爭中反戰是否可能?:觀《機動戰士鋼彈 水星的魔女》第13集「來自大地的使者」&14集「她們的願望」
Thumbnail
avatar
Sakomizu
2023-05-03
在高重覆的工作環境,允許自閉症有少量的變化以地球人的立場,要忍受高重覆的枯橾工作環境,是有一定的限度。 而自閉症者,反而在高重覆的工作環境,不只能忍受,反而無感。 下一階段的目標 自從在值班期間幫忙剪牌子之後,反而開始進行在固定的工作,做小小的微量插入的額外工作量。 因此,我想,到目前為止,也是時候。 而且,才剛開始,插入額外的工作量,不多
avatar
宋雲燕
2023-03-27
在圖書館刻劃感動的自由書寫,字裡行間包含著自我疼惜只要你願意,可以隨時開始 一張紙和一支筆的魔力有多大?歷時四個月的「五感正念自由書寫」告一個段落。想要告訴大家疼惜自己是一件簡單但需要堅持的事,這段期間我使用最主要的教材是《自由書寫術》這本書,參與課堂者都能輕鬆上手,並將書中的想法容易實踐於生活中。 使用教材:《改變卡》圖卡、冰棒棍、簽字筆、信紙、
Thumbnail
avatar
小紅洵
2022-10-05
PowerPoint教學|在PPT中使用emoji表情符號和3D模型!還可以做成動畫喔只要透過Office增益集就能新增emoji在PPT跟word中使用喔!而且還能將表情符號插入成圖片或插入成文字,真的很方便~ 另外本文還有教如何使用PPT的 3D模型,並搭配小畫家使用更多模型喔~(文末有影片教學)
Thumbnail
avatar
Anita 裴恩
2022-03-10
如何在 GCP 雲端虛擬機上 建置LAMP 環境並安裝 WordPress (2021更新)本篇將會記錄如何在GCP上建立的Ubuntu虛擬機,進行Wordpress的環境準備與網站安裝。 本篇將會以架式環境與安裝 WordPress 為主,虛擬機平台的註冊與架設將不會太過著重,未來若有機會再進行記錄。 首先需要準備的軟體有 有沒有比較好或是其他區別,在這邊不做討論。
Thumbnail
avatar
迷途小資男
2022-01-03
在Google RankBrain下進行關鍵字研究Google Rank Brain 當Google RankBrain在2015年10月推出時, 我們所了解到的是AI會從搜索查詢以及參與中進行學習, 以便用更適合的方式來提升未來的搜索查詢。
Thumbnail
avatar
Arthur
2018-12-19
在羅東運動公園,我和天鵝說說話 星期六一大清早,我搭上葛瑪蘭客運出發到羅東,第一次來到這個地方,感到格外新鮮,先去靈感青年旅舍寄放行李,再騎著旅舍免費租借的腳踏車,一路往外頭鄉間小路漫無目的騎去。
Thumbnail
avatar
番茄
2018-07-18
【在故事裡投影美好的光】動畫:超越電影的巨大宇宙 │ 講座側記和真實拍攝的電影比起來,動畫是一種完全無中生有的藝術,但是它的想像完全沒有邊界。早期迪士尼的經典手繪風,到如今皮克斯的 3D 電腦繪圖,再到停格動畫、動態捕捉模擬、真實與虛幻的混合等,乃至於長期在動畫類型中耕耘嚴肅戰爭/科幻等議題的日本動畫大師們,這些技術與人才,攜手譜成了一片屬於動畫的巨大宇宙。
Thumbnail
avatar
釀電影
2018-05-15
在荒野遇見梅花鹿:野生動物的復育計畫<p>梅花鹿一直是先民日常生活的重要資源,飲血食肉,以鹿皮禦寒,以鹿茸製藥。甚至到了17世紀,荷蘭人帶來的經濟外貿活動中,將鹿皮大量外銷,紀錄中數量曾大到一年20萬張鹿皮出口,這也帶來梅花鹿的族群大浩劫。</p>
Thumbnail
avatar
李偉文
2017-10-03