Centos7.4.1708搭建syslog服務


系統:centos7.4.1708
環境:無互聯網環境
syslog使用端口為 UDP 514

 

將/etc/yum.repos.d目錄下除CentOS-Media.repo文件所有文件重命名
cd /etc/yum.repos.d
for i in `ls|grep -v CentOS-Media.repo`;do mv $i{,.bak};done

修改CentOS-Media.repo
vim CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/usb1/    #設置本地掛載點
# file:///media/cdrom/     #該行注釋
# file:///media/cdrecorder/   #該行注釋
gpgcheck=0              #該行改為0,表示為關閉檢查KEY
enabled=1          #該行改為1,表示為開啟本地yum倉庫
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7     #該行默認即可


新建本地掛載點(該步驟可按需更改)
mkdir /mnt/usb{1..3}        #這里我新建了3個目錄

關閉防火牆
systemctl stop firewalld
systemctl disable firewalld

關閉SELINUX
sed "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config


===============================================================
rpm包下載地址:
http://www.rpmfind.net/linux/rpm2html/search.php?query=syslog
使用的rpm包下載地址
wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/rsyslog-8.24.0-38.el7.x86_64.rpm
===============================================================

安裝:
yum -y install rsyslog-8.24.0-38.el7.x86_64.rpm

配置rsyslog
vim /etc/rsyslog.conf
sed -i "s/^#\$ModLoad imklog/\$ModLoad imklog/" /etc/rsyslog.conf
sed -i "s/^#\$ModLoad immark/\$ModLoad immark/" /etc/rsyslog.conf
sed -i "s/^#\$ModLoad imudp/\$ModLoad imudp/" /etc/rsyslog.conf
sed -i "s/^#\$UDPServerRun 514/\$UDPServerRun 514/" /etc/rsyslog.conf
sed -i "s/^#\$ActionFileEnableSync on/\$ActionFileEnableSync on/" /etc/rsyslog.conf


在/etc/rsyslog.conf底部增加配置:
vim /etc/rsyslog.conf
$template IpTemplate,"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"
*.* ?IpTemplate
新增加的2行釋義:
第一行是定義了一個日志接收存儲模板,名稱為IpTemplate(可任意),"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"是日志文件存儲路徑,用到了幾個變量,根據不同IP分了目錄,每個IP目錄下每天會生成一個日志文件
第二行是對任意類型調用這個名為IpTemplate的模板

 

緊接着排除本機IP
fromhost-ip, !isequal, “127.0.0.1”
?Remote
& ~      

符號”& ~”表示了一個重定向規則,被用來告知rsyslog守護進程停止對日志消息的進一步處理,並且不要在本地寫入。如果沒有使用該重定向規則,那么所有的遠程消息都會在寫入上述描述的日志文件之外同時被寫入到本地日志文件,這就意味着日志消息實際上被寫了兩次。使用該規則的另外一個結果就是syslog服務器本身的日志消息只會被以該機器主機名命名的專有文件中。


啟動/停止/重啟rsyslog
systemctl start rsyslog
systemctl stop rsyslog
systemctl restart rsyslog

 

 

 

歡迎加入QQ群一起討論Linux、開源等技術


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM