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

在Debian 9上,使用Rsyslog安裝一臺中央日志服務器

系統 Linux
在 Linux 中,可以配置運行一個 Rsyslog 服務器來中央化管理日志,在流行的服務端—客戶端模式中,通過 TCP 或者 UDP 傳輸協議基于網絡來發送日志信息,或者從網絡設備、服務器、路由器、交換機、以及其它系統或嵌入式設備中接受生成的日志。

[[224888]]

在 Linux 上,日志文件包含了系統功能的信息,系統管理員經常使用日志來確認機器上的問題所在。日志可以幫助管理員還原在過去的時間中在系統中發生的事件。一般情況下,Linux 中所有的日志文件都保存在 /var/log 目錄下。在這個目錄中,有保存著各種信息的幾種類型的日志文件。比如,記錄系統事件的日志文件、記錄安全相關信息的日志文件、內核專用的日志文件、用戶或者 cron 作業使用的日志文件。日志文件的主要作用是系統調試。Linux 中的大部分的日志文件都由 rsyslogd 服務來管理。在最新的 Linux 發行版中,日志文件也可能是由 journald 系統服務來管理和控制的。journald 服務是 systemd 初始化程序的一部分。journald 以二進制的格式存儲日志,以易失性的方式寫入到內存和 /run/log/journal/ 中的環狀緩沖區中,但是,journald 也可以配置為永久存儲到 syslog 中。

在 Linux 中,可以配置運行一個 Rsyslog 服務器來中央化管理日志,在流行的服務端—客戶端模式中,通過 TCP 或者 UDP 傳輸協議基于網絡來發送日志信息,或者從網絡設備、服務器、路由器、交換機、以及其它系統或嵌入式設備中接受生成的日志。

Rsyslog 守護程序可以被同時配置為以客戶端或者服務端方式運行。配置作為服務器時,Rsyslog 將缺省監聽 TCP 和 UDP 的 514 端口,來收集遠程系統基于網絡發送的日志信息。配置為客戶端運行時,Rsyslog 將通過相同的 TCP 或 UDP 端口基于網絡來發送內部日志信息。

Rsyslog 可以根據選定的屬性和動作來過濾 syslog 信息。Rsyslog 擁有的過濾器如下:

  1. 設備或者優先級過濾器
  2. 基于特性的過濾器
  3. 基于表達式的過濾器

設備過濾器代表了生成日志的 Linux 內部子系統。它們目前的分類如下:

  • auth/authpriv = 由驗證進程產生的信息
  • cron = cron 任務相關的日志
  • daemon = 正在運行的系統服務相關的信息
  • kernel = Linux 內核信息
  • mail = 郵件服務器信息
  • syslog = syslog 或者其它守護程序(DHCP 服務器發送的日志在這里)相關的信息
  • lpr = 打印機或者打印服務器信息
  • local0 ~ local7 = 管理員控制下的自定義信息

優先級或者嚴重程度級別分配如下所述的一個關鍵字或者一個數字。

  • emerg = 緊急 - 0
  • alert = 警報 - 1
  • err = 錯誤 - 3
  • warn = 警告 - 4
  • notice = 提示 - 5
  • info = 信息 - 6
  • debug = 調試 - 7 (最高級別)

此外也有一些 Rsyslog 專用的關鍵字,比如星號(*)可以用來定義所有的設備和優先級,none 關鍵字更具體地表示沒有優先級,等號(=)表示僅那個優先級,感嘆號(!)表示取消這個優先級。

Rsyslog 的動作部分由聲明的目的地來表示。日志信息的目的地可以是:存儲在文件系統中的一個文件、 /var/log/ 目錄下的一個文件、通過命名管道或者 FIFO 作為輸入的另一個本地進程。日志信息也可以直達用戶,或者丟棄到一個“黑洞”(/dev/null)中、或者發送到標準輸出、或者通過一個 TCP/UDP 協議發送到一個遠程 syslog 服務器。日志信息也可以保存在一個數據庫中,比如 MySQL 或者 PostgreSQL。

 

配置 Rsyslog 為服務器

在大多數 Linux 發行版中 Rsyslog 守護程序是自動安裝的。如果你的系統中沒有安裝 Rsyslog,你可以根據你的系統發行版執行如下之一的命令去安裝這個服務。運行這個命令必須有 root 權限

在基于 Debian 的發行版中:

  1. sudo apt-get install rsyslog

在基于 RHEL 的發行版中,比如像 CentOS:

  1. sudo yum install rsyslog

驗證 Rsyslog 守護進程是否在你的系統中運行,根據發行版不同,可以選擇運行下列的命令:

在新的使用 systemd 的 Linux 發行版中:

  1. systemctl status rsyslog.service

在老的使用 init 的 Linux 發行版中:

  1. service rsyslog status

  1. /etc/init.d/rsyslog status

啟動 rsyslog 守護進程運行如下的命令。

在使用 init 的老的 Linux 版本:

  1. service rsyslog start

  1. /etc/init.d/rsyslog start

在最新的 Linux 發行版:

  1. systemctl start rsyslog.service

安裝一個 rsyslog 程序運行為服務器模式,可以編輯主要的配置文件 /etc/rsyslog.conf 。可以使用下列所示的命令去改變它。

  1. sudo vi /etc/rsyslog.conf

為了允許在 UDP 的 514 端口上接收日志信息,找到并刪除下列行前面的井號(#)以取消注釋。缺省情況下,UDP 端口用于 syslog 去接收信息。

  1. $ModLoad imudp
  2. $UDPServerRun 514

因為在網絡上使用 UDP 協議交換數據并不可靠,你可以設置 Rsyslog 使用 TCP 協議去向遠程服務器輸出日志信息。為了啟用 TCP 協議去接受日志信息,打開 /etc/rsyslog.conf 文件并刪除如下行前面的井號(#)以取消注釋。這將允許 rsyslog 守護程序去綁定并監聽 TCP 協議的 514 端口。

  1. $ModLoad imtcp
  2. $InputTCPServerRun 514

在 rsyslog 上可以同時啟用兩種協議

如果你想去指定哪個發送者被允許訪問 rsyslog 守護程序,可以在啟用協議行的后面添加如下的行:

  1. $AllowedSender TCP, 127.0.0.1, 10.110.50.0/24, *.yourdomain.com

在接收入站日志信息之前,你需要去創建一個 rsyslog 守護程序解析日志的新模板,這個模板將指示本地 Rsyslog 服務器在哪里保存入站的日志信息。在 $AllowedSender 行后以如下示例去創建一個合適的模板。

  1. $template Incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
  2. *.*  ?Incoming-logs
  3. & ~

為了僅接收內核生成的日志信息,可以使用如下的語法。

  1. kern.*   ?Incoming-logs

接收到的日志由上面的模板來解析,它將保存在本地文件系統的 /var/log/ 目錄的文件中,之后的是以客戶端主機名客戶端設備名命名的日志文件名字:%HOSTNAME%%PROGRAMNAME% 變量。

下面的 & ~ 重定向規則,配置 Rsyslog 守護程序去保存入站日志信息到由上面的變量名字指定的文件中。否則,接收到的日志信息將被進一步處理,并將保存在本地的日志文件中,比如,/var/log/syslog 文件中。

為添加一個規則去丟棄所有與郵件相關的日志信息,你可以使用下列的語法。

  1. mail.* ~

可以在輸出文件名中使用的其它變量還有:%syslogseverity%%syslogfacility%%timegenerated%%HOSTNAME%%syslogtag%%msg%%FROMHOST-IP%%PRI%%MSGID%%APP-NAME%%TIMESTAMP%、%$year%、%$month%%$day%

從 Rsyslog 版本 7 開始,將使用一個新的配置格式,在一個 Rsyslog 服務器中聲明一個模板。

一個版本 7 的模板應該看起來是如下行的樣子。

  1. template(name="MyTemplate" type="string"
  2.          string="/var/log/%FROMHOST-IP%/%PROGRAMNAME:::secpath-replace%.log"
  3.         )

另一種模式是,你也可以使用如下面所示的樣子去寫上面的模板:

  1. template(name="MyTemplate" type="list") {
  2.     constant(value="/var/log/")
  3.     property(name="fromhost-ip")
  4.     constant(value="/")
  5.     property(name="programname" SecurePath="replace")
  6.     constant(value=".log")
  7.     }

為了讓 Rsyslog 配置文件的變化生效,你必須重啟守護程序來加載新的配置。

  1. sudo service rsyslog restart
  1. sudo systemctl restart rsyslog

在 Debian Linux 系統上去檢查它監聽哪個套接字,你可以用 root 權限去運行 netstat 命令。將輸出傳遞給一個過濾程序,比如 grep

  1. sudo netstat -tulpn | grep rsyslog

請注意: 為了允許建立入站連接,你必須在防火墻上打開 Rsyslog 的端口。

在使用 Firewalld 的基于 RHEL 的發行版上,運行如下的命令:

  1. firewall-cmd --permanent --add-port=514/tcp
  2. firewall-cmd --permanent --add-port=514/tcp
  3. firewall-cmd -reload

在使用 UFW 的基于 Debian 的發行版上,運行如下的命令:

  1. ufw allow 514/tcp
  2. ufw allow 514/udp

Iptables 防火墻規則:

  1. iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPT
  2. iptables -A INPUT -p udp --dport 514 -j ACCEPT

 

配置 Rsyslog 作為一個客戶端

啟用 Rsyslog 守護程序以客戶端模式運行,并將輸出的本地日志信息發送到遠程 Rsyslog 服務器,編輯 /etc/rsyslog.conf 文件并增加下列的行:

  1. *. * @IP_REMOTE_RSYSLOG_SERVER:514
  2. *. * @FQDN_RSYSLOG_SERVER:514

這個行啟用了 Rsyslog 服務,并將輸出的所有內部日志發送到一個遠處的 UDP 的 514 端口上運行的 Rsyslog 服務器上。

為了使用 TCP 協議去發送日志信息,使用下列的模板:

  1. *. *  @@IP_reomte_syslog_server:514

輸出所有優先級的、僅與 cron 相關的日志信息到一個 Rsyslog 服務器上,使用如下的模板:

  1. cron.* @ IP_reomte_syslog_server:514

/etc/rsyslog.conf 文件中添加下列行,可以在 Rsyslog 服務器無法通過網絡訪問時,臨時將客戶端的日志信息存儲在它的一個磁盤緩沖文件中,當網絡或者服務器恢復時,再次進行發送。

  1. $ActionQueueFileName queue
  2. $ActionQueueMaxDiskSpace 1g
  3. $ActionQueueSaveOnShutdown on
  4. $ActionQueueType LinkedList
  5. $ActionResumeRetryCount -1

為使上述規則生效,需要重新 Rsyslog 守護程序,以激活為客戶端模式。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2011-05-16 10:58:06

MySQL服務器

2016-07-12 10:40:35

服務器

2017-03-21 11:12:22

LinuxAmazon AWS服務器

2016-08-16 15:21:19

服務器

2013-12-20 09:48:12

2021-06-27 17:41:41

云服務器云主機服務器

2014-09-18 10:15:54

2018-12-25 14:20:58

服務器命令Linux

2018-09-06 09:22:22

Linux系統服務器

2016-11-11 14:58:48

IBM 服務器

2012-02-21 09:59:52

2011-03-23 13:29:46

Debian安裝Nagios

2009-09-22 16:49:01

第一臺服務器

2019-01-04 11:20:03

服務器命令Linux

2023-09-05 09:32:07

服務器Redis

2013-12-04 09:17:45

2021-09-07 17:47:06

服務器開發數據

2011-10-21 09:32:44

Hyper-V服務器虛擬化

2015-01-27 10:16:27

Ubuntu Jetty 9

2018-03-09 12:14:36

Linux服務器負載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美1级 | 国产欧美在线观看 | av黄色国产 | 久久精品二区亚洲w码 | 亚洲性综合网 | 91影片| 99re视频在线观看 | 中文字幕av第一页 | 日韩欧美在线视频 | 日日干综合| 欧美韩一区二区三区 | 久久精品免费一区二区 | 国产午夜亚洲精品不卡 | 最新av在线网址 | 国产91视频播放 | 欧美成人一区二区 | 天天看天天操 | 自拍偷拍在线视频 | 日本色高清 | 一级片在线观看视频 | 男女网站免费观看 | 久久91| 曰韩三级 | 亚洲成人精品视频 | 麻豆国产一区二区三区四区 | 久久久久91 | 亚洲va欧美va人人爽午夜 | 中文字幕电影在线观看 | 精品国产一区二区三区成人影院 | 久综合| 成人av高清在线观看 | 国产精品99久久久久久www | 国产精品美女久久久久 | 一区二区三区精品视频 | 国产美女一区二区 | 国产视频一区二区 | 成人在线免费观看 | 欧美一区二区在线观看 | 日韩欧美一区二区三区免费观看 | 欧美日韩综合一区 | 欧美另类视频 |