Linux 自动化部署Rsyslog服务
Linux 自动化部署Rsyslog服务
源码如下:
#/bin/bash
#该脚本用于自动化部署Ryslog服务配置
#作者:雨中落叶
#博客:https://www.cnblogs.com/yuzly/
echo "****************************
.部署Rsyslog服务器
.部署Rsyslog客户端
****************************"
read -p "请输入部署选项:" Num
case $Num in
)
#部署服务端
echo "****************************
.UDP传输方式
.TCP传输方式
.RELP传输方式
****************************"
read -p "请选择传输方式:" N
#关闭防火墙,避免影响实验
service iptables stop &>/dev/null
setenforce &>/dev/null
case $N in
)
#修改配置文件,启用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
;;
)
#修改配置文件,启用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 ;;
)
#修改配置文件,启用relp传输方式
n=$(rpm -qa rsyslog-relp | wc -l)
#根据返回的行数来判断是否安装rsyslog-relp服务
if [ $n -eq ]
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=
gpgcheck=
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
;;
)
#部署客户端
echo "****************************
.UDP传输方式
.TCP传输方式
.RELP传输方式
****************************"
read -p "请选择传输方式:" N
#关闭防火墙,避免影响实验
service iptables stop &>/dev/null
setenforce &>/dev/null
case $N in
)
read -p "请输入服务端的IP地址:" IP
echo "*.* @$IP">>/etc/rsyslog.conf
service rsyslog restart
;;
)
read -p "请输入服务端的IP地址:" IP
echo "*.* @@$IP">>/etc/rsyslog.conf
service rsyslog restart
;;
)
n=$(rpm -qa rsyslog-relp | wc -l)
#根据返回的行数来判断是否安装rsyslog-relp服务
if [ $n -eq ]
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=
gpgcheck=
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
Linux 自动化部署Rsyslog服务的更多相关文章
- Linux 自动化部署DNS服务器
Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...
- Linux自动化部署尝试
Linux自动化部署尝试 最近做一个项目临近测试,购买的是阿里云的服务器,每次部署都是手动打包war,然后上传到服务器,然后修改配置文件,不仅繁琐,而且费时,就思索着找一个一键式的部署方式,今天终 ...
- Linux简单部署svn服务
最近需要练习一下svn的命令行使用方法,以便编写自动化部署的脚本,但是不敢用正式的svn库进行练习,所以自己部署了一个svn服务,用来练习 1.安装svn server 我用的是ubuntu $apt ...
- Linux下部署Samba服务环境的操作记录
关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题.相比较来说,使用Samba作为文 ...
- Linux 自动化部署
1.pexpect Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Py ...
- 在linux上部署tomcat服务
在linux上部署tomcat 1.安装JDK 2.下载tomcat http://tomcat.apache.org/download-70.cgi 3.上传到服务器,并解压 4.上传war包或者已 ...
- linux系统日志及其rsyslog服务
日志是系统用来记录系统运行时候的一些相关消息的纯文本文件 /var/log下保存着大量的纯文本日志文件 日志的目的是为了保持相关程序的运行状态,错误消息,为了对系统运行进行错误分析使用 1.内核消息 ...
- Linux编译部署vsftp服务
部署vsftp服务 Hostname OS IP Software Vsftpsvr RHEL-5.8 10.0.0.58 yum install -y vsftpd yum install –y ...
- Kickstart + http Linux自动化部署服务端
设备需要开启Network Boot功能.具体PXE技术就另外提,本文主要讲解配置. 在搭建该服务器之前需要关闭SELinux和iptables不然可能dhcp服务都起不来,客户端收不到IP地址,无法 ...
随机推荐
- 解决Linux下Jexus验证码无法显示
1:安装mono相关字体 yum install -y dejavu-fonts-common dejavu-lgc-sans-mono-fonts 2:重启jexus /usr/jexus/jws ...
- python if条件判断语句
if的基本格式 if语句用来做判断,并选择要执行的语句分支.基本格式如下: if CONDITION1: code_block(1) elif CONDITION2: code_block(2) el ...
- Apollo 10 — adminService 全量发布
目录 UI 界面 Portal 服务 admin 服务 总结 1. UI 界面 2. Portal 服务 当我们点击上面的发布按钮的时候,调用的当然是 portal 的接口.具体代码如下: /** * ...
- ElasticSearch集群环境搭建
一 .单机部署 1.下载安装包.解压 2.在window下运行bin/elasticsearch.bat 3.访问localhost:9200 页面显示结果 { "name" : ...
- C#一个窗体调用另一个窗体的方法
一个窗体调用另一个窗体的方法:例如:窗体B要调用窗体A中的方法1.首先在窗体A中将窗体A设为静态窗体public static FormA m_formA; //设此窗体为静态,其他窗体可调用此 ...
- [android] 表格布局和绝对布局
/*****************2016年4月28日 更新*************************************/ 知乎:为什么Android没有像iOS一样提供autolay ...
- PHP 依赖注入和控制反转再谈(二)
今天有个朋友看到yii2中介绍的依赖注入一头雾水,之前我写过类似的文章发给他看了,可能还没深入理解吧,这里我再通俗点描述下依赖注入的原理吧,尽可能滴说通俗易懂一点吧:先还是扯下概念性滴问题(概念问题我 ...
- springMVC_11拦截器实现登录
一. 思路 controller实现核对用户名和密码,如果核对正确则保存到session中并且跳转到主页 系统中包含诸多界面,部分界面不需要登录即可进行访问,通过拦截器实现判断是否是不需要登录的界 ...
- 小tips:Hbuilder编辑器开启less自动编译为css的方法
1.首先,依次打开菜单栏->工具->预编译器设置,打开后是这样的: 2.然后点击新建. 3.文件后缀为.less触发命令地址就是lessc.cmd所在的地址,先用npm全局安装less, ...
- js判断当前内容是否为空
function isValue(o) { return (this.isObject(o) || this.isString(o) || this.isNumber(o) || this.isBoo ...