Unix/Linux 系統自動化管理: 日誌管理篇

來源:互聯網
上載者:User

AIX Error log 簡介及其自動化監控機制

大部分的 Unix/Linux 系統都使用 syslog 作為系統日誌方式,AIX 也支援 syslog 機制,但是 AIX 作業系統及其主要應用程式相關的日誌都使用 Error log 來記錄日誌,只有少量的應用程式使用 syslog。AIX syslog 和 Linux syslog 的功能以及配置非常類似,在此不再重複論述。

AIX Error log 機制是 AIX 基本系統 (Base Operating System) 的一部分,在預設安裝情況下無需進行任何配置即可使用 AIX Error log 機制。

AIX Error log 機制組件

AIX Error log 機制主要由以下幾個部分組成:

  1. 裝置檔案 /dev/error: 用於接收核心以及應用程式產生的日誌資訊。
  2. 守護進程 /usr/lib/errdemon:在系統初始化時自動啟動,監控核心以及應用程式傳遞給裝置檔案 /dev/error 的日誌資訊,並將日誌資訊計入記錄檔。
  3. 記錄檔 /var/adm/ras/errlog:預設記錄檔。記錄檔位置可以通過命令 /usr/lib/errdemon – i 進行配置
  4. 輔助程式:除了裝置檔案、守護進程和記錄檔外,AIX Error log 還提供了豐富的輔助程式對 Error log 進行配置、操作、分析和產生報告。在下面的章節中會對各輔助程式進行詳細的說明。

AIX Error log 配置

AIX Error log 可以在不進行任何配置的情況下使用而且預設配置基本上可以滿足各種情境的使用需求,但 AIX 仍然提供了配置介面。通過配置介面可以修改裝置檔案 /dev/error 的緩衝區尺寸、記錄檔的位置、記錄檔的尺寸限制以及對重複日誌的處理等等。AIX Error log 通過命令 /usr/lib/errdemon 進行配置。

  1. 修改 Error log 裝置的緩衝區大小

    Error log 裝置 /dev/error 為塊裝置,需要使用緩衝區進行讀寫。預設情況下,/dev/error 的緩衝區大小為 8KB,我們可以通過 /usr/lib/errdemon – B 來配置 /dev/error 的緩衝區大小。如果新配置的緩衝區大小大於現有的配置,新配置將會立即生效;如果新配置的緩衝區大小小於現有的配置,則新配置會在 errdemon 重新啟動後生效。

  2. 配置記錄檔路徑

    預設情況下,AIX Error log 會使用檔案 /var/adm/ras/errlog 儲存日誌資訊,使用 /usr/lib/errdemon – i 可以配置 Error log 記錄檔的路徑。新配置的記錄檔路徑會立即生效。

  3. 配置記錄檔大小限制

    AIX Error log 的記錄檔大小是可配置的,配置命令為 /usr/lib/errdemon – s。如果新配置的記錄檔大小大於現有的配置,新配置將會立即生效;如果新配置的記錄檔大小小於現有的配置,則現有的記錄檔將會被備份為 *.log,然後 errdemon 會用新的記錄檔大小配置產生一個新的記錄檔。

  4. 配置對重複條目的處理

    如果作業系統或者應用程式發生了重複的資訊或者錯誤,在 Error log 中就會造成重複的條目。AIX Error log 對重複的條目會進行相應的處理,如在一定時間內內容相同的條目將會被標記為重複,如果重複的條目數超過了預先設定的閾值,則新的重複的條目將不會再作為重複條目被記入 Error log。是否開啟重複條目處理功能的配置參數為 /usr/lib/errdemon – d,重複條目的時間間隔配置參數為 /usr/lib/errdemon – t,最大重複條目數的配置參數為 /usr/lib/errdemon – m。

AIX Error log 使用

AIX Error log 機制啟動後,作業系統或者應用程式將會通過 AIX Error log 記錄所發生的事件或者錯誤。本節將給出日常使用 AIX Error log 的常用命令及其使用方法。AIX Error log 的使用主要有產生 Error log 報告和刪除 Error log 條目。

產生 AIX Error log 報告

AIX 命令 errpt 可以用來產生 Error log 報告,errpt 提供了豐富的參數來指定來源資料的範圍和報告的格式。如 -d 參數可以用來指定只顯示特定的錯誤種類,-s 和 -e 參數可以指定特定時間範圍內的日誌條目,-l 參數可以指定之顯示特定序號的日誌條目,-a 參數可以指定顯示日誌條目的詳細資料。具體 errpt 的用法可參見 errpt 的 manpage。

在此列舉 errpt 使用的一個例子並以此例子說明 AIX Error log 條目中各欄位的含義。


清單 1. errpt 命令輸出樣本

  #errpt -a -l 2  ---------------------------------------------------------  LABEL:          REBOOT_ID  IDENTIFIER:     2BFA76F6  Date/Time:       Mon Mar  2 21:38:21 2009  Sequence Number: 2  Machine Id:      00C0DD724C00  Node Id:         p6ml4n05  Class:           S  Type:            TEMP  WPAR:            Global  Resource Name:   SYSPROC  Description  SYSTEM SHUTDOWN BY USER  Probable Causes  SYSTEM SHUTDOWN  Detail Data  USER ID            0  0=SOFT IPL 1=HALT 2=TIME REBOOT            0  TIME TO REBOOT (FOR TIMED REBOOT ONLY)            0  # 

其中各主要欄位的含義如下:

LABEL:為該事件預先定義的名稱

IDENTIFIER:此事件的數位識別碼

Date/Time:事件發生的日期和時間

Sequence Number:事件序號

Machine Id:此事件發生的節點處理器識別符

Node Id:此事件發生的節點名稱

Class:事件的類別。AIX Error log 目前支援的類別有:

H: 硬體

S:軟體

O:Informational 條目

U:無法確定事件的類別

Type:事件的嚴重程度,AIX Error log 目前支援的事件嚴重程度有:

PEND:裝置或組件即將失效

PERF:裝置或組件的效能已經低於可以接受的閾值

PERM:無法修複的錯誤。PERM 是所有錯誤中最嚴重的一種,PERM log 往往說明某個硬體或者軟體組件已經失效並且無法修複。

TEMP:在若干次失敗後某個錯誤被成功修複。TEMP 也可以用於標識 informational 條目。

UNKN:無法確定事件的嚴重程度

INFO:資訊而並非錯誤

Resource Name:產生資訊的組件名稱

Description:事件的簡短描述

Probable Causes:事件產生的可能原因

刪除 AIX Error log

刪除 AIX Error log 條目可以使用命令 errclear,errclear 也提供了選項用於指定刪除的範圍,如 -d 指定僅刪除特定類別的事件,-l 指定僅刪除特定序號的條目。通常情況下,errclear 可以被用作 cron 條目周期性執行用以清楚 Error log 檔案。

手動產生 AIX Error log 條目

命令 errlogger 可以用於手動產生 AIX Error log 條目。手動產生 AIX Error log 條目可以用於測試 AIX Error log 功能或者測試下面將要論述的自動監控功能等。

AIX Error log 監控自動化

AIX 作業系統為 Error log 提供了一種通過 ODM 類 errnotify 進行錯誤通知 (Error Notification) 的機制。使用者可以通過添加一個 errnotify 的 ODM 類執行個體來實現 AIX Error log 的錯誤通知,即當 AIX Error log 機制記錄了錯誤條目後,errnotify 會調用預先定義好的命令通知系統管理員或者進行其它的修複動作。

AIX Error log 的錯誤通知機制的功能完全符合了監控自動化的要求,我們可以通過添加一個 errnotify 類執行個體來實現對 AIX Error log 的監控,當定義的錯誤發生後,errnotify 會調用相應的命令來通知系統管理員。需要注意的是只有 root 使用者才能添加 errnotify 類執行個體。

以下是添加 errnotify 類執行個體以及利用 errnotify 機制自動監控 AIX Error log 的具體步驟:

  1. 產生一個 ODM errnotify 類執行個體的 stanza 檔案

    產生一個 ODM errnotify 類執行個體的 stanza 檔案需要指定若干選項,各主要選項的說明如下:

    en_name:errnotify 類執行個體的名字,名字需要全域唯一。

    en_persistenceflg:在系統重新引導時是否自動刪除該執行個體,0 為在系統重新引導時自動刪除該執行個體,1 為在系統重新引導時不刪除該執行個體。

    en_type:指定僅監控特定嚴重程度的 Error log 條目如 INFO、PEND 等。

    en_class:指定僅監控特定類別的 Error log 條目如 H、S 等。

    en_method:定義在監測到 AIX Error log 條目後所採取的動作,動作可以為任何的指令碼程式或者作業系統命令。errnotify 自動化佈建了關於 Error log 條目資訊的變數可供監控程式使用:

    $1 error log 條目的序號

    $2 error log 條目的 ID

    $3 error log 條目的事件類別目錄

    $4 error log 條目的事件嚴重程度

    $5 error log 條目的 Alert flags

    $6 error log 條目的產生的組件名稱

    $7 error log 條目的產生的組件種類 (Type)

    $8 error log 條目的產生的組件類 (Class)

    $9 error log 條目的錯誤標籤

    關於 errnotify 類執行個體的各欄位的具體說明,請參見 AIX 文檔《 General Programming Concepts: Writing and Debugging Programs 》

    例如我們可以產生一個 errnotify 類執行個體的 stanza 如下:

    清單 2. errnotify 類執行個體 stanza

     errnotify:    en_name = "errlog_notify"   en_persistenceflg = 1    en_method = "mail -s /"Events occured in Error log: sequence = $1 error_id = $2   class = $3 type = $4 alert_flags = $5 res_name = $6 res_type = $7 res_class = $8   label = $9/" root"

    該 stanza 的內容可解釋為當任何的 AIX Error log 事件發生時,都會給 root 使用者發送一個郵件,郵件的內容中包含了 Error log 條目的具體資訊。

  2. 將類執行個體添加到 ODM 資料庫

    AIX 命令 odmadd 可以將 ODM 類執行個體添加到 ODM 資料庫中。

    如 : odmadd /errnotifystanza

  3. 驗證 ODM errnotify 類執行個體

    可以用命令 odmget 來驗證 errnotify 類執行個體已經被正確添加。

    清單 3. 使用 odmget 命令查看 errnotify 類執行個體

     [node01][/]> odmget -q en_name="errlog_notify" errnotify errnotify:      en_pid = 0      en_name = "errlog_notify"     en_persistenceflg = 1      en_label = ""     en_crcid = 0      en_class = ""     en_type = ""     en_alertflg = ""     en_resource = ""     en_rtype = ""     en_rclass = ""     en_symptom = ""     en_err64 = ""     en_dup = ""     en_method = "mail -s /"Events occured in Error log: sequence = $1 error_id = $2     class = $3 type = $4 alert_flags = $5 res_name = $6 res_type = $7 res_class = $8     label = $9  contents = /n`errpt -a -l $1/n/" root"
  4. 手動產生 Error log 條目測試監控是否工作

    在確認 errnotify 類執行個體已經被正確添加後即可以通過 errologger 手動產生 Error log 條目測試監控是否工作。如:

    清單 4. 使用 errlogger 命令產生測試日誌

      errlogger "this is a test for Error log monitoring"

    然後即可以查看 root 的郵件中是否已經收到了該 Error log,如果工作正常 root 的郵件中會收到內容如下的郵件:

    清單 5. mail 命令

     Message 37: From root Fri Mar 20 02:43:15 2009 Date: Fri, 20 Mar 2009 02:43:15 -0400 From: root To: root Subject: Events occured in Error log: sequence = 142983 error_id = 0xaa8ab241 class = O type = TEMP alert_flags = FALSE res_name = OPERATOR res_type = NONE res_class = NONE label = OPMSG  contents =  ---------------------------------------------------------------------------  LABEL:          OPMSG  IDENTIFIER:     AA8AB241  Date/Time:       Fri Mar 20 02:43:14 EDT 2009  Sequence Number: 142983  Machine Id:      000181404C00  Node Id:         hacsmdev3  Class:           O  Type:            TEMP  Resource Name:   OPERATOR  Description  OPERATOR NOTIFICATION  User Causes  ERRLOGGER COMMAND         Recommended Actions         REVIEW DETAILED DATA  Detail Data  MESSAGE FROM ERRLOGGER COMMAND  this is a test for Error log monitoring 
  5. 停止監控 AIX Error log

    如果想停止通過 errnotify 監控 AIX Error log,只需要將 errnotify 類執行個體從 ODM 資料庫中刪除即可。

    清單 6. 刪除 errnotify 類執行個體

      [node01][/]> odmdelete -q en_name="errlog_notify" -o errnotify  1 objects deleted 


Linux syslog/syslog-ng 簡介及其自動化監控機制

大部分的 Linux 系統中都要使用 syslog 機制來記錄系統日誌,它具有很強的靈活性,能使系統根據不同日誌配置採取不同的動作。一般來講,syslog 能通過產生日誌的子系統和資訊優先順序對日誌做分類處理,包括將日誌條目寫到一個檔案,一個裝置,或給使用者發送一個資訊。它既可以記錄本地事件,也可能通過網路紀錄另一個主機上的事件。

但是,隨著系統中啟動並執行應用程式越來越多,一個子系統有可能同時被多個應用程式使用,這樣就導致一些不是很重要的資訊將重要的資訊掩蓋,僅憑產生日誌的子系統和資訊優先順序來區分日誌的方法已經不能明確地甄別出系統管理者感興趣的資訊。

syslog-ng(下一代系統日誌工具)應運而生,它的一個設計原則就是建立更好的訊息過濾粒度。syslog-ng 可以完全替代 syslog 的服務,並且通過定義規則,實現更好的過濾功能。

下面我們將分別對 syslog 和 syslog-ng 機製做具體的介紹。

Linux syslog/syslog-ng 機制組件

Linux syslog/syslog-ng 機制主要由以下幾個部分組成:

  1. 裝置檔案 /dev/log: 用於接收核心以及應用程式產生的日誌資訊。
  2. 守護進程:在系統初始化時自動啟動,監控核心以及應用程式傳遞給裝置檔案 /dev/log 的日誌資訊,並將日誌資訊計入記錄檔。
  3. 在 syslog 機制中為 /sbin/syslogd;在 syslog-ng 機制中為 /sbin/syslog-ng。
  4. 設定檔:為守護進程提供配置資訊,在程式啟動時讀取,用於指定日誌記錄規則。

在 syslog 機制中設定檔的預設位置為 /etc/syslog.conf;在 syslog-ng 機制中為 /etc/syslog-ng/syslog-ng.conf。

記錄檔 /var/log/messages:預設記錄檔。用於記錄郵件以外其他裝置優先順序高於”info”的日誌資訊。

Linux syslog/syslog-ng 配置和使用

Linux 中 syslog/syslog-ng 的配置較 AIX 簡單而靈活,使用者只需手動修改 syslog.conf/syslog-ng.conf 檔案中的配置條目後,重新啟動 syslog 服務即可完成,下面我們具體介紹配置方法:

  • 在 syslog 機制中設定檔 /etc/syslog.conf 的規則格式如下:

    facility.level action

    其中 facility.level 又稱為選擇符 (selector),facility 指產生日誌的子系統,level 指記錄層級。

    例如:

    authpriv.* /var/log/secure

    表示將來自子系統 authpriv 的所有優先順序日誌條目都寫入 /var/log/secure 檔案中。

    facility 可以設定為下面的關鍵字之一:

    auth 由 pam_pwdb 報告的認證活動。

    authpriv 包括私人資訊 ( 如使用者名稱 ) 在內的認證活動

    cron 與 cron 和 at 有關的資訊。

    daemon 與 inetd 守護進程有關的資訊。

    ftp 與 FTP 有關的資訊

    kern 核心資訊,首先通過 klogd 傳遞。

    lpr 與列印服務有關的資訊。

    mail 與電子郵件有關的資訊

    mark syslog 內部功能用於產生時間戳記

    news 來自新聞伺服器的資訊

    syslog 由 syslog 產生的資訊

    user 由使用者程式產生的資訊

    uucp 由 uucp 產生的資訊

    local0 ~ local7 由自訂程式使用,例如使用 local5 做為 ssh 功能

    * 萬用字元代表除了 mark 以外的所有功能

    level 可以設定為下面的關鍵字之一 ( 降序排列,嚴重性越來越低 ):

    emerg 系統不可用

    alert 需要立即被修改的條件

    crit 阻止某些工具或子系統功能實現的錯誤條件

    err 阻止工具或某些子系統部分功能實現的錯誤條件

    warning 預警資訊

    notice 具有重要性的普通條件

    info 提供資訊的訊息

    debug 不包含函數條件或問題的其他資訊

    none 沒有優先順序,通常用於排錯

    * 除了 none 之外的所有層級

  • 在 syslog-ng 機制中設定檔 /etc/syslog-ng/syslog-ng.conf 的規則格式如下:

    log { source S1; source S2; ... filter F1; filter F2; ... destination D1; destination D2; ... };

    其中 source 為訊息源標誌符,filter 為過濾器標誌符,destination 為目的地標誌符。

    例如:

    source src { unix-dgram("/dev/log"); };

    filter f_warn { level(warn, err, crit); };

    destination warn { file("/var/log/warn" fsync(yes)); };

    log { source(src); filter(f_warn); destination(warn); };

    表示將 /dev/log 裝置收到的所有日誌資訊做過濾處理,只把優先順序是 warn, err, crit 的日誌寫入 /var/log/warn 檔案中。

    使用者可以選擇使用系統提供的 source/filter/destination 規則定義,也可以按規定格式定義使用者化的配置項。一般情況下,我們只建立自訂的 destination 並結合系統提供的 source 和 filter 一起使用。關於這些配置項的定義方法請參見 syslog-ng.conf manpage。

Linux syslog-ng 監控自動化

在 Linux 系統中,預設情況下,除 iptables, news 和 mail 子系統外,其它所有子系統的日誌資訊都會儲存在 /var/log/messages 檔案中。當系統中運行應用程式越來越多,各相關子系產生的日誌也會越來越繁雜,從系統日誌中分離出對自己有用的資訊並對其實現自動監控往往令系統管理員頭痛不已。

syslog-ng 服務就提供了一種訊息粒度更小定義更為靈活的日誌過濾機機制,使用者可以根據不同的需要定義不同的訊息源,過濾器和目的地,從而將特定的日誌資訊儲存到特定的位置;同時,系統管理員還可以建立自動化指令碼對這些分類後的記錄檔做進一步的處理。例如,定時監控系統錯誤資訊並以郵件的方式通知系統管理員。

下面我們將介紹對特定日誌資訊中系統錯誤進行自動監控的具體步驟:

  1. 根據需要定義 filter 和 destination

    前面我們已經講過 Linux syslog-ng 中 /etc/syslog-ng/syslog-ng.conf 檔案對 source,filter 和 destination 的定義規則,在這裡假設當前應用程式使用 local6 做網路管理功能,我們需要對來自這一子系統的優先順序為 err(錯誤)的系統訊息做監控和管理。

    那麼,我們需要在 /etc/syslog-ng/syslog-ng.conf 檔案中定義 filter 如下:

    filter f_local6err { level(err) and facility(local6); };

    定義 destination 如下:

    destination local6err { pipe(“/var/log/local6.err” group(root) perm(0644)); };

    表示目的地為隊列 /var/log/local6.err,該隊列屬於 root 組,其訪問屬性為 0644。

  2. 組建 log 配置條目

    定義了 filter 和 destination 之後,我們需要將它們組合在一起,形成一個 syslog-ng 的 log 配置條目,例如:

    log { source(src); filter(f_ local6err); destination(local6err); };

    然後重新啟動 syslog-ng 服務使新配置生效:

    # /etc/init.d/syslog restart

    Shutting down syslog services done

    Starting syslog services done

    #

    這樣,系統中來自 local6 子系統的所有 err 日誌都將被儲存在 /var/log/local6.err 隊列中。這裡之所以將日誌目的設定為隊列而非普通檔案主要是為下一步中自動監控做準備。並且,在設定前需要調用命令 “mkfifo /var/log/local6.err”來預告建立好這個隊列。

  3. 建立指令碼對目標隊列做自動監控

    為了能將 /var/log/local6.err 隊列接收到系統錯誤及時地通知給系統管理員,我們需要建立一個指令碼定期讀取 local6.err 隊列,一旦監測到有新的系統錯誤產生,就以 mail 的形式通知系統管理員。

    下面是一個監測隊列的自動化指令碼的 perl 執行個體僅供參考。


    清單 7. 監測隊列的自動化指令碼

      # script monitor_fifo  #!/usr/bin/perl  # $fifo 為目標隊列 my $fifo = “/var/log/local6.err”;  # 首先檢測 fifo 的有效性 local $SIG{ALRM} = sub { die "alarm/n" };  eval {  alarm 4;  open(PIPE, $fifo) or die         print “Error: $fifo can not be opened./n”;  alarm 0;  };  if ($@ =~ /alarm/) { close PIPE; exit 0; }  # 讀取 fifo  my $allinfo = "";  while (1)  {  my $line;  eval {  alarm 2;  $line = ;  alarm 0;  };  if ($@ =~ /alarm/) {  close PIPE;                 # 如果讀到系統錯誤記錄檔,郵件通知系統管理員     if ($allinfo)          {   my $command = “echo /“$allinfo/” | mail -s /”$fifo/” root”;   my $rc = system($command);                     if ($rc)                     {                         print “Notification to root failed./n”;  }  }  exit 0;  }  $allinfo .= $line;  }  close PIPE; 

    不難發現,這個自動化指令碼會將目標隊列中現存的所有日誌以郵件的形式發送給系統 root 使用者,如果系統管理員需要連續地定期地對這一目標隊列進行自動監控,那麼就需要藉助 Linux 系統的 crontab 功能,使系統可以定期地調用 monitor_fifo 指令碼。

    例如:

    使用 crontab -e 命令編輯 crontab 設定檔,並添加如下條目:

    */1 * * * * /root/monitor_fifo 1>/dev/null 2>/dev/null

    上面的例子表示每一分鐘調用一次 monitor_fifo 指令碼。

  4. 驗證配置是否成功

    管理員可以使用 logger 命令產生幾條測試日誌資訊。

    # logger -p local6.err "This is a local6.err test message1."

    # logger -p local6.err "This is a local6.err test message2."

    # logger -p local6.err "This is a local6.err test message3."

    表示產生三條 facility 為 local6,level 為 err 的訊息內容為 This is a local6.err test message# 的系統日誌。

    如果配置正確,這條訊息將會被存放在目標隊列 /var/log/local6.err 中。通過系統調用 /root/monitor_fifo 指令碼,這條系統錯誤記錄檔資訊會被郵寄給 root 使用者,使用 mail 命令即可讀取這些郵件。

    清單 8. mail 命令

      # mail  mailx version nail 11.25 7/29/05.  Type ? for help. "/var/mail/root": 1 message 1 new  >N  1 root@p6hv8n02.clus Tue Apr 14 03:19   21/808   /var/log/monitor.warn  ?  Message  1:  From root@p6hv8n02.clusters.com  Tue Apr 14 03:19:37 2009  X-Original-To: root  Delivered-To: root@p6hv8n02.clusters.com  Date: Tue, 14 Apr 2009 03:19:37 +0000  To: root@p6hv8n02.clusters.com  Subject: /var/log/monitor.warn  User-Agent: nail 11.25 7/29/05  MIME-Version: 1.0  Content-Type: text/plain; charset=us-ascii  Content-Transfer-Encoding: 7bit  From: root@p6hv8n02.clusters.com (root)  Apr 14 03:19:26 p6hv8n02 root: This is a local6.err test message1.  Apr 14 03:19:28 p6hv8n02 root: This is a local6.err test message2.  Apr 14 03:19:30 p6hv8n02 root: This is a local6.err test message3. 

    我們可以看出,通過這一配置,系統管理員可以很方便對系統錯誤進行自動監控。

  5. 注意事項

    在 Linux 系統中,一些安全設定會影響到 syslog/syslog-ng 的使用,所以在配置過程中要特別注意否則 syslog/syslog-ng 將不能正常工作。

    在 RedHat 系統中,使用 syslog/syslog-ng 時 SELinux (Security-Enhanced Linux) 服務必須關閉,可參見如下方法:

    • 修改 /etc/selinux/config 檔案,設定 SELINUX=permissive。
    • 重啟系統使 selinux 設定生效。

    在 SLES10 SP1 及其以上服務級的系統中,為使 syslog/syslog-ng 正常工作,我們需要修改 /etc/apparmor.d/sbin.syslog-ng 檔案或者從 AppArmor 列表中刪除 syslog 項。下面兩個例子分別介紹如何修改 sbin.syslog-ng 檔案和從 AppArmor 列表中刪除 syslog 項的具體方法:

    1.  

      • 修改 sbin.syslog-ng 檔案,設定 fifo /var/log/local6.err 為讀寫權限,並重新啟動 boot.apparmor 服務。如下:

    清單 9. 修改 apparmor 存取權限

      # cat /etc/apparmor.d/sbin.syslog-ng  #include   /sbin/syslog-ng {  #include   .  .  .  /var/run/syslog-ng.pid w,  /var/log/local6.err wr,  }  # /etc/init.d/boot.apparmor restart 
    1.  

      • 從 AppArmor 列表中刪除 syslog 項,並重新啟動 boot.apparmor 服務。如下:

    #rm -f /etc/apparmor.d/sbin.syslogd

    #rm -f /etc/apparmor.d/sbin.syslog-ng

    # /etc/init.d/boot.apparmor restart

  6. 取消配置

    Linux syslog/syslog-ng 的取消配置操作相對簡單,只需要手動編輯 /etc/syslog.conf 或 /etc/syslog-ng/syslog-ng.conf 檔案,刪除相關的配置資訊,然後重新啟動 syslog 服務即可。

    在這個例子中,除取消 syslog/syslog-ng 配置外,我們還需要清除 crontab 中的配置資訊。

小結

本文介紹了 AIX 和 Linux 上的日誌方式 AIX Error log 和 Linux syslog 以及如何自動化監控 AIX Error log 和 Linux syslog。監控系統日誌會給系統管理員提供豐富的關於系統啟動並執行資訊,自動化監控的實現更能為系統管理員在系統發生異常時採取迅速的措施提供了方便。

原文出處(點擊此處)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.