Linux 自动化部署Rsyslog服务
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日志集中管理
下一篇: Python实现备份文件实例
推荐阅读
-
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
-
springboot打包部署到linux服务器的方法
-
maven利用tomcat插件部署远程Linux服务器的步骤详解
-
Linux 自动化部署DNS服务器
-
Linux下将Python的Django项目部署到Apache服务器
-
.net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
-
Linux服务器部署.Net Core笔记:六、安装MySQL
-
Linux服务器部署.Net Core笔记:五、安装Nginx
-
怎样在Linux主机/服务器安装和部署PPTP
-
Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护