Linux 自動化部署Rsyslog服務 源碼如下: 1.在服務端運行部署腳本,選擇部署Rsyslog伺服器,選擇UDP傳輸方式 #伺服器腳本端部署完之後,可以看相應的配置文件是否修改,這裡省略了 2.在客戶端運行部署腳本,選擇部署Rsyslog客戶端,選擇UDP傳輸方式,註意選擇傳輸方式時必須與服 ...
Linux 自動化部署Rsyslog服務
源碼如下:
#/bin/bash #該腳本用於自動化部署Ryslog服務配置 #作者:雨中落葉 #博客:https://www.cnblogs.com/yuzly/ echo "**************************** 1.部署Rsyslog伺服器 2.部署Rsyslog客戶端 ****************************" read -p "請輸入部署選項:" Num case $Num in 1) #部署服務端 echo "**************************** 1.UDP傳輸方式 2.TCP傳輸方式 3.RELP傳輸方式 ****************************" read -p "請選擇傳輸方式:" N #關閉防火牆,避免影響實驗 service iptables stop &>/dev/null setenforce 0 &>/dev/null case $N in 1) #修改配置文件,啟用udp傳輸方式 alterudp1=$(grep imudp /etc/rsyslog.conf) alterudp2=$(grep UDPServerRun /etc/rsyslog.conf) #“"#"字元串截取,截取#右邊的字元 sed -i "s/$alterudp1/${alterudp1#\#*}/" /etc/rsyslog.conf sed -i "s/$alterudp2/${alterudp2#\#*}/" /etc/rsyslog.conf listen=$(grep YSLOGD_OPTIONS /etc/sysconfig/rsyslog |awk -F= '{print $2}') #轉義空格以及特殊字元 sed -i "s/$listen/\"-r514\ -c2\"/" /etc/sysconfig/rsyslog service rsyslog restart &>/dev/null ;; 2) #修改配置文件,啟用tcp傳輸方式 altertcp1=$(grep imtcp /etc/rsyslog.conf) altertcp2=$(grep InputTCPServerRun /etc/rsyslog.conf) sed -i "s/$altertcp1/${altertcp1#\#*}/" /etc/rsyslog.conf sed -i "s/$altertcp2/${altertcp2#\#*}/" /etc/rsyslog.conf listen=$(grep YSLOGD_OPTIONS /etc/sysconfig/rsyslog |awk -F= '{print $2}') sed -i "s/$listen/\"-r514\ -c2\"/" /etc/sysconfig/rsyslog service rsyslog restart &>/dev/null ;; 3) #修改配置文件,啟用relp傳輸方式 n=$(rpm -qa rsyslog-relp | wc -l) #根據返回的行數來判斷是否安裝rsyslog-relp服務 if [ $n -eq 0 ] then echo "當前系統沒有安裝rsyslog-relp服務,正在安裝,請稍等....." mount /dev/sr0 /mnt &>/dev/null #搭建本地yum倉庫 cd /etc/yum.repos.d cat >>yuzly.repo<<OK [yuzly] name=yuzly baseurl=file:///mnt enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release OK #cat 輸入到文件的定界符結束符要頂格 #清空yum緩存 echo "正在清除yum緩存...." yum clean all &>/dev/null yum makecache &>/dev/null echo "yum緩存清除結束!" yum install rsyslog-relp -y &>/dev/null echo "rsyslog-relp服務安裝完成!" #由於配置文件沒有關於relp的配置,這裡直接追加到文件的末尾 echo '$ModLoad imrelp'>>/etc/rsyslog.conf echo '$InputRELPServerRun 2514'>>/etc/rsyslog.conf listen=$(grep YSLOGD_OPTIONS /etc/sysconfig/rsyslog |awk -F= '{print $2}') sed -i "s/$listen/\"-r2514\ -c2\"/" /etc/sysconfig/rsyslog service rsyslog restart &>/dev/null else echo '$ModLoad imrelp'>>/etc/rsyslog.conf echo '$InputRELPServerRun 2514'>>/etc/rsyslog.conf listen=$(grep YSLOGD_OPTIONS /etc/sysconfig/rsyslog |awk -F= '{print $2}') sed -i "s/$listen/\"-r2514\ -c2\"/" /etc/sysconfig/rsyslog service rsyslog restart &>/dev/null fi ;; *) echo "輸入錯誤,請輸入相應的數字!" ;; esac ;; 2) #部署客戶端 echo "**************************** 1.UDP傳輸方式 2.TCP傳輸方式 3.RELP傳輸方式 ****************************" read -p "請選擇傳輸方式:" N #關閉防火牆,避免影響實驗 service iptables stop &>/dev/null setenforce 0 &>/dev/null case $N in 1) read -p "請輸入服務端的IP地址:" IP echo "*.* @$IP">>/etc/rsyslog.conf service rsyslog restart ;; 2) read -p "請輸入服務端的IP地址:" IP echo "*.* @@$IP">>/etc/rsyslog.conf service rsyslog restart ;; 3) n=$(rpm -qa rsyslog-relp | wc -l) #根據返回的行數來判斷是否安裝rsyslog-relp服務 if [ $n -eq 0 ] then echo "當前系統沒有安裝rsyslog-relp服務,正在安裝,請稍等....." mount /dev/sr0 /mnt &>/dev/null #搭建本地yum倉庫 cd /etc/yum.repos.d cat >>yuzly.repo<<OK [yuzly] name=yuzly baseurl=file:///mnt enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release OK #清空yum緩存 echo "正在清除yum緩存...." yum clean all &>/dev/null yum makecache &>/dev/null echo "yum緩存清除結束!" yum install rsyslog-relp -y &>/dev/null echo "rsyslog服務安裝完成!" #輸入服務端的IP read -p "請輸入服務端的IP地址:" IP echo '$ModLoad omrelp' >>/etc/rsyslog.conf echo "*.* :omrelp:$IP:2514">>/etc/rsyslog.conf service rsyslog restart else #輸入服務端的IP read -p "請輸入服務端的IP地址:" IP echo '$ModLoad omrelp' >>/etc/rsyslog.conf echo "*.* :omrelp:$IP:2514">>/etc/rsyslog.conf service rsyslog restart fi ;; *) echo "輸入錯誤,請輸入相應的數字!" ;; esac ;; *) echo "輸入錯誤,請輸入相應的數字!" ;; esac
1.在服務端運行部署腳本,選擇部署Rsyslog伺服器,選擇UDP傳輸方式 #伺服器腳本端部署完之後,可以看相應的配置文件是否修改,這裡省略了
2.在客戶端運行部署腳本,選擇部署Rsyslog客戶端,選擇UDP傳輸方式,註意選擇傳輸方式時必須與伺服器端的傳輸方式相同
3.在客戶端輸入一條測試命令,
在客戶端生成一條日誌,看伺服器是否接受到這個日誌
4.在伺服器端用tail -f /var/log/messages追蹤日誌,下圖可以看到,接受到服務端生成的日誌
5. 在服務端運行部署腳本,選擇部署Rsyslog伺服器,選擇TCP傳輸方式
6. 在客戶端運行部署腳本,選擇部署Rsyslog客戶端,選擇TCP傳輸方式
7.在客戶端生成一條日誌,看伺服器是否接受到這個日誌
8.在伺服器端用tail -f /var/log/messages追蹤日誌,下圖可以看到,接受到服務端生成的日誌
9.在服務端運行部署腳本,選擇部署Rsyslog伺服器,選擇RELP傳輸方式
10.在客戶端運行部署腳本,選擇部署Rsyslog客戶端,選擇RELP傳輸方式
11.在伺服器端用tail -f /var/log/messages追蹤日誌,下圖可以看到,接受到服務端生成的日誌
12.在客戶端生成一條日誌,看伺服器是否接受到這個日誌
--------------------------------------------------------------------------------------------------------------
Linux Rsyslog日誌集中管理 https://www.cnblogs.com/yuzly/p/10573962.html