自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

問題的痛點

隨著公司業(yè)務(wù)的擴大,生產(chǎn)環(huán)境的服務(wù)器數(shù)量也在不斷增加。每臺服務(wù)器上都會生成大量的日志文件,這些日志對于排查故障、監(jiān)控系統(tǒng)健康等方面至關(guān)重要。

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

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

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

秘密武器:Playbook

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

(1) 編寫日志收集腳本

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

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

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

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

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

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

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

如何操作?

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

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

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

以下內(nèi)容是Playbook的內(nèi)容:

---
-name:收集并下載日志文件
hosts:dev# 根據(jù)需求指定目標(biāo)主機
become:yes        # 以 root 權(quán)限執(zhí)行
tasks:
    -name:執(zhí)行收集日志的腳本
      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:確保收集日志的腳本已經(jīng)生成日志文件
      ansible.builtin.wait_for:
        path:"/root/{{ ansible_host }}_{{ formatted_date }}_collect.log"
        state:present
        timeout:60# 等待最多 60 秒

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

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

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

通過ansible-playbook執(zhí)行如下命令:

ansible-playbook collect_logs.yml

成功執(zhí)行上述命令后,會輸出如下結(jié)果:

同時會在當(dāng)前目錄下看到收集到的日志已經(jīng)拷貝到指定的目錄下:

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

結(jié)尾

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

責(zé)任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2018-08-31 09:55:38

Ansible網(wǎng)絡(luò)自動化

2024-01-09 13:09:00

2021-10-14 09:55:28

AnsibleanacronLinux

2018-02-10 18:35:09

LinuxAnsible系統(tǒng)管理

2015-03-09 11:10:14

運維

2013-10-25 09:18:56

StarCluster服務(wù)器集群管理自動化Amazon云

2017-09-15 14:10:01

系統(tǒng)運維服務(wù)器

2022-10-28 10:03:47

物聯(lián)網(wǎng)樓宇自動化

2020-01-06 09:00:34

容器CRD安全

2018-09-05 14:45:10

Python自動化機器學(xué)習(xí)

2024-01-03 10:12:41

自動化測試

2017-11-20 08:35:32

虛擬服務(wù)器自動化

2021-11-10 09:00:00

工具Chef開發(fā)

2009-01-12 12:40:42

服務(wù)器虛擬化數(shù)據(jù)中心

2023-03-09 14:02:00

Inkscape圖形創(chuàng)作

2019-10-30 14:47:05

工具代碼開發(fā)

2021-10-14 06:52:47

自動化開發(fā)環(huán)境

2017-05-10 16:09:52

2011-11-21 15:44:46

管理服務(wù)器日志

2025-02-21 09:00:00

服務(wù)器時間同步服務(wù)數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號