欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux 自动化部署Rsyslog服务

程序员文章站 2023-10-17 18:42:48
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传输方式   #服务器脚本端部署完之后,可以看相应的配置文件是否修改,这里省略了

 Linux 自动化部署Rsyslog服务

2.在客户端运行部署脚本,选择部署rsyslog客户端,选择udp传输方式,注意选择传输方式时必须与服务器端的传输方式相同Linux 自动化部署Rsyslog服务

3.在客户端输入一条测试命令,

在客户端生成一条日志,看服务器是否接受到这个日志

 Linux 自动化部署Rsyslog服务 

4.在服务器端用tail -f /var/log/messages追踪日志,下图可以看到,接受到服务端生成的日志

 Linux 自动化部署Rsyslog服务

5. 在服务端运行部署脚本,选择部署rsyslog服务器,选择tcp传输方式Linux 自动化部署Rsyslog服务

6. 在客户端运行部署脚本,选择部署rsyslog客户端,选择tcp传输方式 Linux 自动化部署Rsyslog服务

7.在客户端生成一条日志,看服务器是否接受到这个日志

 Linux 自动化部署Rsyslog服务

8.在服务器端用tail -f /var/log/messages追踪日志,下图可以看到,接受到服务端生成的日志

Linux 自动化部署Rsyslog服务

9.在服务端运行部署脚本,选择部署rsyslog服务器,选择relp传输方式  Linux 自动化部署Rsyslog服务

10.在客户端运行部署脚本,选择部署rsyslog客户端,选择relp传输方式 Linux 自动化部署Rsyslog服务

11.在服务器端用tail -f /var/log/messages追踪日志,下图可以看到,接受到服务端生成的日志

Linux 自动化部署Rsyslog服务

12.在客户端生成一条日志,看服务器是否接受到这个日志

 Linux 自动化部署Rsyslog服务

 

 

 

--------------------------------------------------------------------------------------------------------------

linux rsyslog日志集中管理