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地址,无法 ...
随机推荐
- TCP/IP协议学习(一)
一.网络模型 OSI七层模型:自上至下依次是 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 应用层:具体的应用协议如HTTP.SMTP.FTP.TELNET.DNS等 表示层:针对数据格 ...
- 利用反射跟自定义注解拼接实体对象的查询SQL
前言 项目中虽然有ORM映射框架来帮我们拼写SQL,简化开发过程,降低开发难度.但难免会出现需要自己拼写SQL的情况,这里分享一个利用反射跟自定义注解拼接实体对象的查询SQL的方法. 代码 自定义注解 ...
- 第一册:lesson sixty one.
原文: A bad cold. A:Where is Jim? B:He is in bed. A:What's the matter with him? B:He fells ill. A:He l ...
- 第一册:lesson forty five。
原文: The boss's letter. A:Can you come here a minute please,Bob? B:Yes,sir. A:Where is C? B:She is ne ...
- 在SoapUI中模拟用户操作
SoapUI作为一款接口测试工具,具有极大的灵活性和拓展性.它可以通过安装插件,拓展其功能.Selenium作为一款Web自动化测试插件可以很好的与SoapUI进行集成.如果要在SoapUI中模拟用户 ...
- 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法(第二次修改)
1.线程栈 window的一个进程加载clr.该进程可能含有多个线程,线程创建的时候会分配1MB的栈空间. 如图: void Method() { string name="zhangsan ...
- 将汉字转化为拼音的js插件
/*---------------------------------------------------------------- // 文件名:chinese2pinyin.js // 文件功能描 ...
- mybatis_03_ mapper代理方式实现MyBatis的Dao编写
不是用mapper代理方式也能够实现,但是不推荐 Mapper代理的开发方式,程序员只需要编写mapper接口(相当于dao接口)即可.Mybatis会自动的为mapper接口生成动态代理实现类. 不 ...
- P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架 ...
- Java中关于Map的使用(HashMap、ConcurrentHashMap)
在日常开发中Map可能是Java集合框架中最常用的一个类了,当我们常规使用HashMap时可能会经常看到以下这种代码: Map<Integer, String> hashMap = new ...