成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用 Ansible 自動化收集和管理服務器日志?你需要這份 Playbook!

運維
在生產環境中,當服務器數量達到數十、數百臺時,人工登錄每臺服務器收集日志不僅效率低下,而且容易出現遺漏或錯誤。那么,如何能夠自動化、高效地完成這個任務,確保日志收集無遺漏且及時?

在日常運維工作中,服務器日志的收集與管理往往是最頭疼的事情之一。尤其是在生產環境中,當服務器數量達到數十、數百臺時,人工登錄每臺服務器收集日志不僅效率低下,而且容易出現遺漏或錯誤。那么,如何能夠自動化、高效地完成這個任務,確保日志收集無遺漏且及時?想知道如何實現嗎?繼續往下看吧!

問題的痛點

隨著公司業務的擴大,生產環境的服務器數量也在不斷增加。每臺服務器上都會生成大量的日志文件,這些日志對于排查故障、監控系統健康等方面至關重要。

但是,如何從成千上萬的服務器中,快速且安全地收集到最新的日志,并且避免漏掉任何一臺機器的日志呢?

  • 每臺機器的日志文件名不同,需要確保所有日志都能準確收集。
  • 手動操作不可行,當服務器數量激增,人工收集無疑是個巨大的負擔。
  • 如何集中管理,將所有日志匯總到指定的目錄,便于后期分析和存檔。

看似是一個難以解決的運維痛點,但其實,通過一個小小的技巧,問題就能迎刃而解。你想知道這個神奇的解決方案嗎?

秘密武器:Playbook

你一定聽過Ansible這個自動化運維神器,它可以幫你實現一鍵批量執行命令,無論是在大規模的服務器上部署應用,還是進行常規的系統維護。而對于我們今天的需求——自動化收集日志并集中管理,Ansible同樣可以輕松實現!

(1) 編寫日志收集腳本

首先,我們可以編寫一個簡單的腳本,用于每臺服務器上執行日志收集操作。這個腳本會將當前主機名、日期等信息加到日志文件名中,例如:

$(hostname -s)_$(date +%Y%m%d)_collect.log

(2) 通過Playbook自動執行腳本并拷貝日志

接下來,我們利用Ansible Playbook批量執行該腳本,自動收集所有服務器的日志。任務完成后,Playbook會將日志文件拷貝到跳板機的指定目錄,確保集中管理。這樣做的好處顯而易見:

  • 無需手動登錄每臺服務器,Ansible自動執行腳本和拷貝操作,節省大量時間。
  • 通過變量動態獲取日志文件名,確保每個日志文件命名規范,避免覆蓋。
  • 日志集中管理,所有日志文件都可以存放在跳板機的指定目錄,方便后期查看和分析。

(3) 拷貝到指定目錄,便于分析與存檔

最終,所有的日志都會被自動拷貝到跳板機上的指定目錄,避免了手動操作帶來的麻煩,也減少了誤操作的風險。

如何操作?

只需跟隨這幾個簡單的步驟,利用Ansible Playbook,你就能輕松地一次性完成所有設置。這樣不僅省時省力,還能讓整個過程變得更加愉快順暢哦!

  • 編寫并上傳收集日志的腳本。
  • 創建Ansible Playbook文件,批量執行該腳本。
  • 將腳本生成的日志拷貝到跳板機的指定目錄。

是不是聽起來非常簡單?你只需要運行一次Playbook,系統會自動完成所有的操作——從收集日志,到拷貝到跳板機,整個過程無需手動干預。

以下內容是Playbook的內容:

---
-name:收集并下載日志文件
hosts:dev# 根據需求指定目標主機
become:yes        # 以 root 權限執行
tasks:
    -name:執行收集日志的腳本
      ansible.builtin.script:
        cmd:/root/sysinfo_v2.sh# 本地腳本路徑
    -name:格式化時間
      ansible.builtin.set_fact:
        formatted_date:"{{ ansible_date_time.iso8601 | regex_replace('^(\\d{4})-(\\d{2})-(\\d{2}).*$', '\\1\\2\\3') }}"
    -name:確保收集日志的腳本已經生成日志文件
      ansible.builtin.wait_for:
        path:"/root/{{ ansible_host }}_{{ formatted_date }}_collect.log"
        state:present
        timeout:60# 等待最多 60 秒

    -name:從遠程主機獲取日志文件到本地
      ansible.builtin.fetch:
        src:"/root/{{ ansible_host }}_{{ formatted_date }}_collect.log"
        dest:"./logs/"# 本地存儲目錄
        flat:yes        # 不保留遠程路徑結構

該劇本包含4個task,分別是執行收集日志的腳本、格式化時間、確保收集日志的腳本已經生成日志文件、和從遠程主機獲取日志文件到本地。每一個task都對應一個模塊。

  • script模塊:執行日志收集腳本
  • set_fact模塊:設置變量
  • wait_for模塊:判斷root目錄下有沒有生成日志文件
  • fetch模塊:把生成的日志文件拷貝到本地指定的目錄

通過ansible-playbook執行如下命令:

ansible-playbook collect_logs.yml

成功執行上述命令后,會輸出如下結果:

同時會在當前目錄下看到收集到的日志已經拷貝到指定的目錄下:

root@ansible:~/deploy/yml/logs# ll
total 16
drwxr-xr-x 2 root root 4096 Feb 13 03:22 ./
drwxr-xr-x 3 root root 4096 Feb 13 03:50 ../
-rw-r--r-- 1 root root  429 Feb 13 03:50 192.168.31.101_20250213_collect.log
-rw-r--r-- 1 root root  432 Feb 13 03:50 192.168.31.102_20250213_collect.log

結尾

通過這一小段Playbook和腳本,你已經可以輕松實現生產環境中日志的自動化收集與管理。那么,接下來,如果你想了解如何進一步優化日志管理,確保日志不丟失并進行備份、分析,甚至實現基于日志的自動化告警,你會選擇如何擴展這個方案呢?

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2024-01-09 13:09:00

2018-08-31 09:55:38

Ansible網絡自動化

2018-02-10 18:35:09

LinuxAnsible系統管理

2021-10-14 09:55:28

AnsibleanacronLinux

2013-10-25 09:18:56

StarCluster服務器集群管理自動化Amazon云

2015-03-09 11:10:14

運維

2017-09-15 14:10:01

系統運維服務器

2018-09-05 14:45:10

Python自動化機器學習

2022-10-28 10:03:47

物聯網樓宇自動化

2020-01-06 09:00:34

容器CRD安全

2017-11-20 08:35:32

虛擬服務器自動化

2024-01-03 10:12:41

自動化測試

2009-01-12 12:40:42

服務器虛擬化數據中心

2021-11-10 09:00:00

工具Chef開發

2021-10-14 06:52:47

自動化開發環境

2023-03-09 14:02:00

Inkscape圖形創作

2017-05-10 16:09:52

2019-10-30 14:47:05

工具代碼開發

2011-11-21 15:44:46

管理服務器日志

2016-09-28 20:27:20

服務器虛擬化管理軟件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩成人在线电影 | 日韩欧美在线视频 | 一区二区三区视频在线 | 精品成人av| av影音资源| 毛片免费视频 | 午夜免费精品视频 | 天天综合久久网 | 中文字幕亚洲欧美 | 成人在线观看网址 | 有码一区 | 亚洲国产成人在线视频 | 久久久久久免费观看 | 99精品视频免费观看 | 日韩和的一区二区 | 黄色亚洲网站 | 国产精品国产三级国产播12软件 | 在线播放中文字幕 | 亚洲www| 中文字幕在线网 | 免费看黄色小视频 | 亚洲精品一区二区三区四区高清 | 在线观看第一页 | 91视在线国内在线播放酒店 | 91tv在线观看 | 水蜜桃久久夜色精品一区 | 农村妇女毛片精品久久久 | 欧美一区| 99久久免费精品国产男女高不卡 | 久久精品国产99国产精品亚洲 | 怡红院免费的全部视频 | 全免费a级毛片免费看视频免 | 一区二区三区在线 | 欧 | 黄色av免费网站 | 中文字幕亚洲欧美 | 伊人一二三| 婷婷福利视频导航 | 黄色av免费网站 | 免费在线观看一区二区三区 | 日韩精品免费在线观看 | 中文字幕在线观看一区二区 |