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地址,无法 ...
随机推荐
- TensorFlow和深度学习-无需博士学位(TensorFlow and deep learning without a PhD)
1. 概述 原文地址: TensorFlow and deep learning,without a PhD Learn TensorFlow and deep learning, without a ...
- go使用context包避免goroutine泄露问题
go是带内存自动回收的特性,因此内存一般不会泄漏.但是Goroutine确存在泄漏的情况,同时泄漏的Goroutine引用的内存同样无法被回收. 下面的程序中后台Goroutine向管道输入自然数序列 ...
- sshfs基于ssh挂载远程目录
为了像本地一样访问远程主机上的目录,通常我们会在远程主机上使用nfs来导出目录,并在本地主机上mount这个nfs文件系统.如果是windows系统,则使用cifs或samba的方式来访问. 但可能我 ...
- 解读经典《C#高级编程》第七版 Page68-79.对象和类型.Chapter3
前言 新年好,本篇开始进入第三章,<对象和类型>,深刻理解C#的对象,对于使用好.Net类库非常重要. 01 类和结构 从使用角度看,结构和类的区别很小,比如,将结构定义转换为类,只需要将 ...
- IdentityServer4 中文文档 -14- (快速入门)使用 ASP.NET Core Identity
IdentityServer4 中文文档 -14- (快速入门)使用 ASP.NET Core Identity 原文:http://docs.identityserver.io/en/release ...
- Maven私服 Nexus使用一例
一.背景 本次搭建Nexus的私服是为了解决两件事 1.公司网络限制,部分项目组同事无法直接访问互联网,不能直接下载一些依赖的jar文件; 2.一些独立的jar无法通过Maven添加依赖的方式引入到项 ...
- 关于laravel5 消息订阅/发布的理解初
laravel5.4感觉官网文档说滴不够详细...安装predis官网很详细,这里略过.... 生成命令 直接使用 Artisan 命令 make:command,该命令会在 app/Console/ ...
- 33.QT-UTF8,GBK互转
首先需要用到QString的静态成员函数来获取字符数组: QByteArray QString::toLocal8Bit () ; //获取字节数组对象 char * QByteArray::data ...
- 10.QT-定时器
QObject定时器 需要头文件#include <QTimerEvent> 需要函数 int QObject::startTimer(int interval); //启动定时器,并设 ...
- 【LInux】查看Linux系统版本信息
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux version 2.6. ...