bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

日志文件系統syslog,syslog-ng

Linux上的日志系統
      通俗的講,系統日志便是系統在運行時候所產生的記錄。如遇到了什么問題,記錄下來。由于產生的問題大小不同,所以便有了級別來規范如何記錄他們。由于日志全部集中到一起又會產生龐大難分類的問題所以有了日志子系統的分類來解決這一問題。另外存儲到什么位子也需要指定。所以日志系統(syslog)的過程可以分為以下三類
      
              1、信息詳細程序:日志級別
              2、子系統:facility, 設施
              3、動作:存儲的位子,由誰記錄
      
      另外,日志系統syslog也會有升級的版本,如syslog-ng :下一代的升級日志系統,由于這么多年,syslog只升級了這么一代,所以其改進是非常大的。功能的定義等改進也很大。使用的時候也需要注意這一點。這里具體來說明syslog。
              syslog:
                    為了方便觀看個子系統產生的日志信息,專門創造了syslog來統一記錄各子系統產生的日志信息。syslog是一個服務,其的任務專門記錄各子系統產生的日志,你可以把每一個程序都看做一個子系統。但是如一些服務(web)等,其專門定制了自身的存儲記錄格式而不使用syslog。所以,syslog的使用者多為系統上核心上facility的設備來使用。所以可以理解如下:
                            syslog服務:
                                   syslogd:系統,非內核產生的信息
                                   klogd:內核,專門負責記錄內核產生的日志信息
                           其中,syslogd與klogd記錄的信息的詳細程度格式有著相當大的不同。
                     kernel -->物理終端(/dev/console) --> /var/log/dmesg
                           當開機的時候,kernel加載,然后系統的虛擬終端服務尚未開啟(開啟是在init中才開始開啟)所以這個時候信息都顯示在物理終端上,其對應的設備是/dev/console,這些信息中包括系統硬件的參數等等,其都保存在/var/log/dmesg中,可以查看此文件來觀看:#dmesg或者# cat /var/log/dmesg因為內容顯示太多不上傳圖片來查看。
                                  
       /sbin/init
       /var/log/messages:系統標準錯誤日志信息;非內核產生引導信息;各子系統產生的信息;(會被多次進行滾動)
                    日志需要滾動(日志切割logrotate來執行):
                            messages messages.1 messages.2 messages.3 
                                  當messages內容到大一定量時候,便會給其改名重新記錄其他的。如果messages.#文件到達一定數字時候,系統又會自動刪除一些。(更改.#的條件可以為時間,也可以為其容量大小到大某一程序,也可以是雙標準)
                                  
                                  日志切割logrotate來執行,其配置文件在/etc/logrotate.conf可以自行查看,其腳本文件/etc/cron.daily/logrotate中如圖1,可以觀看理解下:

日志文件系統syslog,syslog-ng

額濟納網站制作公司哪家好,找創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯公司從2013年創立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯公司。

 /var/log/maillog: 郵件系統產生的日志信息;
 /var/log/secure: 跟安全相關的,600權限,一般不允許其他用戶查看

syslog: syslogd和klogd

配置文件定義格式為: facility.priority        action
 facility,可以理解為日志的來源或設備目前常用的facility有以下幾種:
 

  1. auth                # 認證相關的   
  2. authpriv            # 權限,授權相關的   
  3. cron                # 任務計劃相關的   
  4. daemon              # 守護進程相關的   
  5. kern                # 內核相關的   
  6. lpr                  # 打印相關的   
  7. mail                 # 郵件相關的   
  8. mark                 # 標記相關的   
  9. news                 # 新聞相關的   
  10. security            # 安全相關的,與auth 類似    
  11. syslog               # syslog自己的   
  12. user                 # 用戶相關的   
  13. uucp                 # unix to unix cp 相關的   
  14. local0 到 local7     # 用戶自定義使用   
  15. *                   # *表示所有的facility   
  16. facility表示誰產生的日志,priority 哪個級別產生的日志,action產生的日志怎么辦 

 priority(log level)日志的級別,一般有以下幾種級別(從低到高)
 

  1. debug           # 程序或系統的調試信息   
  2. info            # 一般信息  
  3. notice          # 不影響正常功能,需要注意的消息   
  4. warning/warn    # 可能影響系統功能,需要提醒用戶的重要事件   
  5. err/error       # 錯誤信息   
  6. crit            # 比較嚴重的   
  7. alert           # 必須馬上處理的   
  8. emerg/panic     # 會導致系統不可用的   
  9. *               # 表示所有的日志級別   
  10. none            # 跟* 相反,表示啥也沒有  

 action(動作)日志記錄的位置

 

  1. 系統上的絕對路徑    # 普通文件 如: /var/log/xxx   
  2. |                   # 管道  通過管道送給其他的命令處理   
  3. 終端              # 終端   如:/dev/console   
  4. @HOST               # 遠程主機 如: @10.0.0.1        
  5. 用戶              # 系統用戶 如: root   
  6. *                   # 登錄到系統上的所有用戶,一般emerg級別的日志是這樣定義的  

定義格式例子:

 

  1. mail.info   /var/log/mail.log # 表示將mail相關的,級別為info及   
  2.                               # info以上級別的信息記錄到/var/log/mail.log文件中   
  3. auth.=info  @10.0.0.1         # 表示將auth相關的,基本為info的信息記錄到10.0.0.1主機上去   
  4.                               # 前提是10.0.0.1要能接收其他主機發來的日志信息   
  5. user.!=error                  # 表示記錄user相關的,不包括error級別的信息   
  6. user.!error                   # 與user.error相反   
  7. *.info                        # 表示記錄所有的日志信息的info級別   
  8. mail.*                        # 表示記錄mail相關的所有級別的信息   
  9. *.*                           # 你懂的.   
  10. cron.info;mail.info           # 多個日志來源可以用";" 隔開   
  11. cron,mail.info                # 與cron.info;mail.info 是一個意思   
  12. mail.*;mail.!=info            # 表示記錄mail相關的所有級別的信息,但是不包括info級別的  

 

 

 

 

 
二.syslog-ng詳解(摘抄http://ant595.blog.51cto.com/5074217/1080922)
1.syslog-ng簡介
syslog-ng (syslog-Next generation) 是syslog的升級版,syslog-ng有兩個版本,一個是收費的,一個是開源的,那么作為syslog的下一代產品,功能是可想而知,肯定比syslog的功能強大的多,如
高性能
可靠的傳輸
支持多平臺
高可靠性
眾多的用戶群體
強大的日志過濾及排序
事件標簽和關聯性
支持最新的IETF標準
等....
開源版本的主頁 http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/overview
2.syslog-ng的安裝
rhel5.x的系統上默認沒有使用syslog-ng來記錄日志的,需要使用的話,需要自己編譯安裝,安裝方法如下

 

  1. #yum install gcc*    
  2. #cd /usr/src   
  3. #wget http://www.balabit.com/downloads/files/syslog-ng/sources/3.2.4/source/eventlog_0.2.12.tar.gz   
  4. #wget http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.3.5/source/syslog-ng_3.3.5.tar.gz   
  5. #tar xvf eventlog_0.2.12.tar.gz   
  6. #cd eventlog-0.2.12   
  7. #./configure --prefix=/usr/local/eventlog   
  8. #make   
  9. #make install   
  10. #   
  11. #cd /usr/src   
  12. #tar xvf syslog-ng_3.3.5.tar.gz   
  13. #cd syslog-ng-3.3.5   
  14. #export PKG_CONFIG_PATH=/usr/local/eventlog/lib/pkgconfig   
  15. #./configure --prefix=/usr/local/syslog-ng   
  16. #make   
  17. #make install   
  18. #   
  19. #   
  20. #將syslog-ng添加為系統服務,   
  21. #vim /etc/init.d/syslog-ng  #內容如下   
  22. ##!/bin/bash   
  23. ##    
  24. ## chkconfig: -  60 27   
  25. ## description: syslog-ng SysV script.    
  26. #. /etc/rc.d/init.d/functions   
  27. #   
  28. #syslog_ng=/usr/local/syslog-ng/sbin/syslog-ng   
  29. #prog=syslog-ng   
  30. #pidfile=/usr/local/syslog-ng/var/syslog-ng.pid   
  31. #lockfile=/usr/local/syslog-ng/var/syslog-ng.lock   
  32. #RETVAL=0   
  33. #STOP_TIMEOUT=${STOP_TIMEOUT-10}   
  34. # 35.start() {   
  35. #        echo -n $"Starting $prog: "   
  36. #        daemon --pidfile=$pidfile $syslog_ng $OPTIONS   
  37. #        RETVAL=$?   
  38. #        echo   
  39. #        [ $RETVAL = 0 ] && touch ${lockfile}   
  40. #        return $RETVAL   
  41. #}   
  42. #   
  43. #stop() {   
  44. #    echo -n $"Stopping $prog: "   
  45. #    killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ng   
  46. #    RETVAL=$?   
  47. #    echo   
  48. #    [ $RETVAL = 0 ] && rm -f $lockfile $pidfile   
  49. #}   
  50. #   
  51. #case "$1" in   
  52. #  start)   
  53. #    start   
  54. #    ;;   
  55. #  stop)   
  56. #    stop   
  57. #    ;;   
  58. #  status)   
  59. #        status -p $pidfile $syslog_ng   
  60. #    RETVAL=$?   
  61. #    ;;   
  62. #  restart)   
  63. #    stop   
  64. #    start   
  65. #    ;;   
  66. #  *)   
  67. #    echo $"Usage: $prog {start|stop|restart|status}"   
  68. #    RETVAL=2   
  69. #esac   
  70. #exit $RETVAL   
  71. #------------------------------------------------------------   
  72. #chmod a+x /etc/init.d/syslog-ng   
  73. #killall syslogd 75.chkconfig --add syslog-ng   
  74. #chkconfig syslog-ng on   
  75. #service syslog-ng start  

3.syslog-ng配置文件詳解
此時syslog-ng服務已經啟動起來了,配置文件的位置在安裝目錄下的etc/syslog-ng.conf

 

  1. syslog-ng.conf文件里的內容有以下幾個部分組成,   
  2. # 全局選項,多個選項時用分好";"隔開   
  3. options { .... };   
  4. # 定義日志源,   
  5. source s_name { ... };   
  6. # 定義過濾規則,規則可以使用正則表達式來定義,這里是可選的,不定義也沒關系   
  7. filter f_name { ... };   
  8. # 定義目標   
  9. destination d_name { ... };   
  10. # 定義消息鏈可以將多個源,多個過濾規則及多個目標定義為一條鏈   
  11. log { ... };   
  12. 詳解如下   
  13. ----------------------------------------------------------------   
  14. options { long_hostnames(off); sync(0); perm(0640); stats(3600); };   
  15.     更多選項如下   
  16.     chain_hostnames(yes|no)     # 是否打開主機名鏈功能,打開后可在多網絡段轉發日志時有效   
  17.     long_hostnames(yes|no)      # 是chain_hostnames的別名,已不建議使用   
  18.     keep_hostname(yes|no)       # 是否保留日志消息中保存的主機名稱   
  19.     use_DNS(yes|no)             # 是否打開DNS查詢功能,   
  20.     use_fqdn(yes|no)            # 是否使用完整的域名   
  21.     check_hostname(yes|no)      # 是否檢查主機名有沒有包含不合法的字符   
  22.     bad_hostname(regexp)        # 可通過正規表達式指定某主機的信息不被接受   
  23.     dns_cache(yes|no)           # 是否打開DNS緩存功能   
  24.     dns_cache_expire(n)         # DNS緩存功能打開時,一個成功緩存的過期時間   
  25.     dns_cache_expire_failed(n)  # DNS緩存功能打開時,一個失敗緩存的過期時間   
  26.     dns_cache_size(n)           # DNS緩存保留的主機名數量   
  27.     create_dirs(yes|no)         # 當指定的目標目錄不存在時,是否創建該目錄   
  28.     dir_owner(uid)              # 目錄的UID   
  29.     dir_group(gid)              # 目錄的GID   
  30.     dir_perm(perm)              # 目錄的權限,使用八進制方式標注,例如0644   
  31.     owner(uid)                  # 文件的UID   
  32.     group(gid)                  # 文件的GID   
  33.     perm(perm)                  # 文件的權限,同樣,使用八進制方式標注   
  34.     gc_busy_threshold(n)        # 當syslog-ng忙時,其進入垃圾信息收集狀態的時間一旦分派的對象達到這個數字,syslog-ng就啟動垃圾信息收集狀態。默認值是:3000。   
  35.     gc_idle_threshold(n)        # 當syslog-ng空閑時,其進入垃圾信息收集狀態的時間一旦被分派的對象到達這個數字,syslog-ng就會啟動垃圾信息收集狀態,默認值是:100   
  36.     log_fifo_size(n)            # 輸出隊列的行數   
  37.     log_msg_size(n)             # 消息日志的最大值(bytes)   
  38.     mark(n)                     # 多少時間(秒)寫入兩行MARK信息供參考,目前沒有實現   
  39.     stats(n)                    # 多少時間(秒)寫入兩行STATUS信息,默認值是:600   
  40.     sync(n)                     # 緩存多少行的信息再寫入文件中,0為不緩存,局部參數可以覆蓋該值。   
  41.        time_reap(n)                # 在沒有消息前,到達多少秒,即關閉該文件的連接   
  42.     time_reopen(n)              # 對于死連接,到達多少秒,會重新連接   
  43.     use_time_recvd(yes|no)      # 宏產生的時間是使用接受到的時間,還是日志中記錄的時間;建議使用R_的宏代替接收時間,S_的宏代替日志記錄的時間,而不要依靠該值定義。   
  44.    
  45. source s_name { internal(); unix-dgram("/dev/log"); udp(ip("0.0.0.0") port(514)); };   
  46.    
  47.     file (filename)                 # 從指定的文件讀取日志信息   
  48.     unix-dgram  (filename)          # 打開指定的SOCK_DGRAM模式的unix套接字,接收日志消息   
  49.     unix-stream (filename)          # 打開指定的SOCK_STREAM模式的unix套接字,接收日志消息   
  50.     udp ( (ip),(port) )             # 在指定的UDP端口接收日志消息   
  51.     tcp ( (ip),(port) )             # 在指定的TCP端口接收日志消息   
  52.     sun-streams (filename)          # 在solaris系統中,打開一個(多個)指定的STREAM設備,從其中讀取日志消息   
  53.     internal()                      # syslog-ng內部產生的消息   
  54.     pipe(filename),fifo(filename)   # 從指定的管道或者FIFO設備,讀取日志信息   
  55.    
  56. filter f_name   { not facility(news, mail) and not filter(f_iptables); };   
  57.     更多規則函數如下   
  58.     facility(..)    # 根據facility(設備)選擇日志消息,使用逗號分割多個facility   
  59.     level(..)       # 根據level(優先級)選擇日志消息,使用逗號分割多個level,或使用“..”表示一個范圍   
  60.     program(表達式)    # 日志消息的程序名是否匹配一個正則表達式   
  61.     host(表達式)   # 日志消息的主機名是否和一個正則表達式匹配   
  62.     match(表達式)  # 對日志消息的內容進行正則匹配   
  63.     filter()        # 調用另一條過濾規則并判斷它的值   
  64.     定義規則的時候也可以使用邏輯運算符and or not   
  65.    
  66. destination d_name { file("/var/log/messages"); };   
  67.     更多動作如下   
  68.     file (filename)                 # 把日志消息寫入指定的文件   
  69.     unix-dgram  (filename)          # 把日志消息寫入指定的SOCK_DGRAM模式的unix套接字   
  70.     unix-stream (filename)          # 把日志消息寫入指定的SOCK_STREAM模式的unix套接字   
  71.     udp (ip),(port)                 # 把日志消息發送到指定的UDP端口   
  72.     tcp (ip),(port)                 # 把日志消息發送到指定的TCP端口   
  73.     usertty(username)               # 把日志消息發送到已經登陸的指定用戶終端窗口   
  74.     pipe(filename),fifo(filename)   # 把日志消息發送到指定的管道或者FIFO設備   
  75.     program(parm)                   # 啟動指定的程序,并把日志消息發送到該進程的標準輸入   
  76.    
  77. log { source(s_name); filter(f_name); destination(d_name) }; 

 

一條日志的處理流程大概是這樣的,如下
首先是  "日志的來源  source s_name { ... };"
然后是  "過濾規則  filter f_name { ... };"
再然后是 "消息鏈  log { source(s_name); filter(f_name); destination(d_name) };"
最后是  "目標動作  destination d_name { ... };"
這樣以來一條日志就根據你的意思來處理了,需要注意的是一條日志消息過了之后,會匹配定義的所有配置,并不是匹配到以后就不再往下匹配了.
4.syslog-ng配置文件例子
  1. $syslog-ng_path/etc/syslog-ng.conf 內容如下   
  2.    
  3. options { long_hostnames(off); sync(0); perm(0640); stats(3600); };   
  4.    
  5. source src {    
  6.             internal();    
  7.             unix-dgram("/dev/log");    
  8.             # 表示日志來源為本機udp的514端口,   
  9.             udp(ip("0.0.0.0") port(514));    
  10. };   
  11.    
  12. filter f_iptables   { facility(kern) and match("IN=") and match("OUT="); };   
  13.    
  14. filter f_console    { level(warn) and facility(kern) and not filter(f_iptables)   
  15.                       or level(err) and not facility(authpriv); };   
  16.    
  17. filter f_newsnotice { level(notice) and facility(news); };   
  18. filter f_newscrit   { level(crit)   and facility(news); };   
  19. filter f_newserr    { level(err)    and facility(news); };   
  20. filter f_news       { facility(news); };   
  21.    
  22. filter f_mailinfo   { level(info)      and facility(mail); };   
  23. filter f_mailwarn   { level(warn)      and facility(mail); };   
  24. filter f_mailerr    { level(err, crit) and facility(mail); };   
  25. filter f_mail       { facility(mail); };   
  26.    
  27. filter f_cron       { facility(cron); };   
  28.    
  29. filter f_local      { facility(local0, local1, local2, local3,   
  30.                                local4,  local6, local7); };   
  31.    
  32. filter f_acpid_full { match('^acpid:'); };   
  33. filter f_acpid      { level(emerg..notice) and match('^acpid:'); };   
  34.    
  35. filter f_acpid_old  { match('^\[acpid\]:'); };   
  36.    
  37. filter f_netmgm     { match('^NetworkManager:'); };   
  38.    
  39. filter f_messages   { not facility(news, mail) and not filter(f_iptables); };   
  40. filter f_warn       { level(warn, err, crit) and not filter(f_iptables); };   
  41. filter f_alert      { level(alert); };   
  42.    
  43. destination console  { pipe("/dev/tty10"    owner(-1) group(-1) perm(-1)); };   
  44. log { source(src); filter(f_console); destination(console); };   
  45.    
  46. destination xconsole { pipe("/dev/xconsole" owner(-1) group(-1) perm(-1)); };   
  47. log { source(src); filter(f_console); destination(xconsole); };   
  48.    
  49. destination newscrit   { file("/var/log/news/news.crit"   
  50.                               owner(news) group(news)); };   
  51. log { source(src); filter(f_newscrit); destination(newscrit); };   
  52.    
  53. destination newserr    { file("/var/log/news/news.err"   
  54.                               owner(news) group(news)); };   
  55. log { source(src); filter(f_newserr); destination(newserr); };   
  56.    
  57. destination newsnotice { file("/var/log/news/news.notice"   
  58.                               owner(news) group(news)); };   
  59. log { source(src); filter(f_newsnotice); destination(newsnotice); };   
  60.    
  61. destination mailinfo { file("/var/log/mail.info"); };   
  62. log { source(src); filter(f_mailinfo); destination(mailinfo); };   
  63.    
  64. destination mailwarn { file("/var/log/mail.warn"); };   
  65. log { source(src); filter(f_mailwarn); destination(mailwarn); };   
  66.    
  67. destination mailerr  { file("/var/log/mail.err" fsync(yes)); };   
  68. log { source(src); filter(f_mailerr);  destination(mailerr); };   
  69.    
  70. destination mail { file("/var/log/mail"); };   
  71. log { source(src); filter(f_mail); destination(mail); };   
  72.    
  73. destination acpid { file("/var/log/acpid"); };   
  74. destination null { };   
  75. log { source(src); filter(f_acpid); destination(acpid); flags(final); };   
  76.    
  77. log { source(src); filter(f_acpid_full); destination(null); flags(final); };   
  78.    
  79. log { source(src); filter(f_acpid_old); destination(acpid); flags(final); };   
  80.    
  81. destination netmgm { file("/var/log/NetworkManager"); };   
  82. log { source(src); filter(f_netmgm); destination(netmgm); flags(final); };   
  83.    
  84. destination localmessages { file("/var/log/localmessages"); };   
  85. log { source(src); filter(f_local); destination(localmessages); };   
  86.    
  87. destination messages { file("/var/log/messages"); };   
  88. log { source(src); filter(f_messages); destination(messages); };   
  89.    
  90. destination firewall { file("/var/log/firewall"); };   
  91. log { source(src); filter(f_iptables); destination(firewall); };   
  92.    
  93. destination warn { file("/var/log/warn" fsync(yes)); };   
  94. log { source(src); filter(f_warn); destination(warn); };   
  95.    
  96. filter f_ha         { facility(local5); };   
  97. destination hamessages { file(/var/log/ha); };   
  98. log { source(src); filter(f_ha); destination(hamessages); }; 

 

分享名稱:日志文件系統syslog,syslog-ng
標題URL:http://vcdvsql.cn/article6/pegiog.html

成都網站建設公司_創新互聯,為您提供品牌網站建設、營銷型網站建設網站設計用戶體驗、小程序開發、電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司