rsyslog日志服务器(rsyslog linux 服务可以关闭吗)
大家好,今天来为大家分享rsyslog日志服务器的一些知识点,和rsyslog linux 服务可以关闭吗的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
Redhat7怎么开始日志服务
日志管理
/var/log
常用的系统日志如下:
核心启动日志:/var/log/dmesg
系统报错或重启服务等日志:/var/log/messages
邮件系统日志:/var/log/maillog
cron(定制任务日志)日志:/var/log/cron#计划日志执行成功与否,在这个文件中看
var/log/secure#验证系统用户登录
文件/var/log/wtmp记录所有的登入和登出
[root@xuegod60 log]#>/var/log/wtmp
[root@xuegod60 log]# last
wtmp begins Mon Feb 29 21:38:36 2016
文件/var/log/lastlog记录每个用户最后的登入信息。
[root@xuegod60~]# lastlog
Username Port From Latest
root pts/0 192.168.1.100 Mon Feb 29 20:29:57+0800 2016
文件/var/log/btmp记录错误的登入尝试。
测试:
[root@xuegod61~]# ssh root@192.168.1.60
故意输错密码
[root@xuegod60~]# lastb
root ssh:notty 192.168.1.61 Mon Feb 29 21:43- 21:43(00:00)
[root@xuegod60~]# ll-h/var/log/btmp
-rw-------. 1 root utmp 768 Feb 29 21:43/var/log/btmp
#如果btmp文件特别大,说明有人在暴力破解你的服务器
日志的记录方式:先分类,然后每个类中再分级别
主要7种日志分类(FACILITY):
authpriv安全认证相关
cron at和cron定时相关
daemon后台进程相关
kern内核产生
lpr打印系统产生
mail邮件系统相关
syslog日志服务本身
news新闻系统(和BBS差不多,新闻组)
uucp uucp系统产生。Unix-to-Unix Copy(UNIX至UNIX的拷贝),Unix系统的一项功能,允许计算机之间以存储-转发方式交换e-mail和消息。在Internet兴起之前是Unix系统之间连网的主要方式。
local0到local7#共8个类型,系统保留的:8个系统日志类型,给其它程序使用。或用户自定义用
8个日志级别:以下排列,由轻到重
级别(PRIOROTY):
debug排错信息。开发人
info正常信息
notice稍微要注意的
warn警告
err(error)错误
crit(critical)关键的错误
alert警报警惕
emerg(emergency)紧急,突发事件
日志服务:
1).rhel5:
服务名称:syslog
配置文件:
#vim/etc/syslog.conf
2).RHEL6/7:rsyslog
配置文件:
#vim/etc/rsyslog.conf
进入配置文件显示内容如下:
1. kern.*内核类型的所级别日志
2*.info;mail.none;news.none;authpriv.none;cron.none:由于 mail, news, authpriv, cron等类别产生的讯息较多,因此在/var/log/messages里面不记录这些项目。除此其他讯息都写入/var/log/messages中。所以messages文件很重要
3. authpriv.*认证方面的讯息均写入/var/log/secure档案;
4. mail.*:邮件方面的讯息则均写入/var/log/maillog档案;
5. cron.*:例行性工作排程均写入/var/log/cron档案;
6. local7.*:将本机开机时应该显示到屏幕的讯息写入到/var/log/boot.log档案中;
/etc/rsyslog.conf中日志输入规则:
例:
.:代表『比后面还要高的等级都被记录下来』的意思,
例如: mail.info代表只要是 mail类型的信息,而且该信息等级高于 info(包括 info本身)时,就会被记录下来的意思。
.=:代表所需要的等级就是后面接的等级而已,其他的都不要!
.!:代表不等于,亦即是除了该等级外的其他等级都记录。
举例:
cron.none对于cron类型日志不记录任何信息
cron.=err对于cron类型日志只记录err级别的信息
cron.err对于cron类型日志记录大于err级别的信息
cron.!err对于cron类型日志不记录err级别的信息,其他级别都记录。
扩展
wall命令介绍:
wall-- send a message to everybody’s terminal.
[root@xuegod60~]# wall Today is nice day
Broadcast message from root@xuegod60.cn(pts/0)(Mon Feb 29 22:01:30 2016):
Today is nice day
[root@xuegod60~]# vim/etc/rsyslog.conf
mail.*-/var/log/maillog
在上面的第四行关于 mail的记录中,在记录的档案/var/log/maillog前面还有个减号『-』是干嘛用的?
由于邮件所产生的讯息比较多,因此我们希望邮件产生的讯息先储存在速度较快的内存中(buffer),等到数据量够大了才一次性的将所有数据都填入磁盘内,这样将有利于减少对磁盘读写的次数,减少IO读写开销。另外,由于讯息是暂存在内存内,因此若不正常关机导致登录信息未写入到文档中,可能会造成部分数据的遗失。
自定义sshd服务的日志
[root@xuegod60~]# vim/etc/rsyslog.conf
local0.*/var/log/sshd.log
[root@xuegod60~]# systemctl restart rsyslog
定义sshd远程服务日志的类别
[root@xuegod60~]# vim/etc/ssh/sshd_config
#SyslogFacility AUTHPRIV
SyslogFacility local0
[root@xuegod60~]# systemctl restart sshd
[root@xuegod60~]# ls/var/log/sshd.log
/var/log/sshd.log
[root@xuegod60~]# cat!$
cat/var/log/sshd.log
Feb 29 22:11:19 xuegod60 sshd[41268]: Received signal 15; terminating.
Feb 29 22:11:19 xuegod60 sshd[41525]: Server listening on 0.0.0.0 port 22.
Feb 29 22:11:19 xuegod60 sshd[41525]: Server listening on:: port 22.
日志查看方式
时间主机进程ID描述信息
如何防止日志被黑客删除呢?
[root@xuegod60~]# chattr+a/var/log/sshd.log
[root@xuegod60~]# lsattr/var/log/sshd.log
-----a----------/var/log/sshd.log
加入了这个属性后,你的/var/log/messages登录档从此就仅能被增加,而不能被删除,直到 root以『 chattr-a/var/log/messages』取消这个 a的参数后,才能被删除移!
日志回滚:
[root@xuegod60~]# vim/etc/logrotate.conf
weekly<==预设每个礼拜对日志档进行一次 rotate的工作
rotate 4<==保留几个日志文档呢?预设是保留四个!
create<==回滚日志后,创建一个新的空文件来存储新的数据。
/var/log/wtmp{
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
说明:
/var/log/wtmp{<==仅针对/var/log/wtmp所设定的参数
monthly<==每个月一次,取代每周!
minsize 1M<==档案容量一定要超过 1M后才进行 rotate(略过时间参数)
create 0664 root utmp<==设定新建文件的权限、所有者、用户组
rotate 1<==仅保留一个,亦即仅有 wtmp.1保留而已。}
配置远程日志服务器,实现日志集中管理:
1.配置SERVER端(接收端): xuegod60服务端。 xuegod61做客户端
服务端配置
[root@xuegod60~]# vim/etc/rsyslog.conf
改:
#$ModLoad imtcp
#$InputTCPServerRun 514
为:
$ModLoad imtcp
$InputTCPServerRun 514
重启服务
[root@xuegod60~]# systemctl restart rsyslog
查看服务监听状态
[root@xuegod60~]# netstat-anput| grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 42163/rsyslogd
tcp 0 64 192.168.1.60:22 192.168.1.100:51497 ESTABLISHED 2212/sshd:root@pts
tcp6 0 0:::514:::* LISTEN 42163/rsyslogd
2、配置CLIENT端(客户端)
[root@xuegod61~]# vim/etc/rsyslog.conf
*.*@@192.168.1.60:514
[root@xuegod61~]# systemctl restart rsyslog
验证:
服务端关闭防火墙
[root@xuegod60~]# systemctl stop firewalld
在服务端查看
[root@xuegod60~]# tail-f/var/log/messages
在客户端
[root@xuegod61~]# systemctl restart NetworkManager
linux日志文件的管理、备份及日志服务器的搭建
日志文件存放目录:/var/log
[root@xing log]# cd/var/log
[root@xing log]# ls
messages:系统日志
secure:登录日志
————————————————
日志管理服务文件: vim/etc/rsyslog.conf
日志记录的日志级别:最不严重->最严重
debug, info, notice, warning, warn(same as warning), err, error(same
as err), crit, alert, emerg, panic(same as emerg)
测试提示:
[ming@xing etc]$ logger-p authpriv.emerg"==mingeror=="
[ming@xing etc]$
Message from syslogd@xing at Jul 18 11:00:41...
root:==mingeror==
登录日志的错误信息同步写入“/var/log/secure”文件中
————————————————
日志的异地备份
日志的异地备份至关重要。防止别人拿到你的root权限;用命令:echo"">/var/log/secure直接清空你的登录日志。
配置需备份日志的客户机(172.168.0.254):
[root@xing etc]# vim rsyslog.conf
————————————————
配置文件修改:
#*.*@@remote-host:514
authpriv.*@@172.168.0.1:514
————————————————
[root@xing etc]# setenforce 0//执行setenforce 0表示临时关闭 selinux防火墙。
[root@xing etc]# getenforce
Permissive
[root@xing etc]# service rsyslog restart
————————————————
配置日志记录服务器(172.168.0.1):
[root@xing etc]# vim rsyslog.conf
————————————————
开启接收端口模块
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
———
配置备份的数据源及日志备份存放文件
:fromhost-ip,isequal,“172.168.0.254”/var/log/client/172.168.0.254.log
————————————————
[root@xing etc]# service rsyslog restart
———————
ss-antpl| grep 514
————————————————
注意:配置成功需关闭双方服务器的防火墙,或者修改防火墙配置。
rsyslog linux 服务可以关闭吗
首先,我们安装一些依赖项。
apt-get update
apt-get upgrade
apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
安装过程中要求你输入MySQL服务器的密码时,创建一个密码!
我的OpenVZ模板已准备好了一切,所以下面这个命令对你来说可能没有必要……
apt-get install linux-kernel-headers
确保相应服务已创建并运行起来……
/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
确保服务器在侦听合适的TCP IP端口(端口80和端口3306)。这时,RSYSLOG还没有侦听任何端口。
rsyslog:~# netstat-tapn
Active Internet connections(servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 415/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 581/apache2
然后,我们可以构建rsyslog数据库:
mysqladmin-u root-p create rsyslog
接下来,我们启动MySQL命令外壳程序,创建rsyslog用户:
mysql-u root-p
GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO'rsyslog'@'localhost' IDENTIFIED BY'ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE';
FLUSH PRIVILEGES;
quit
接下来,我们配置rsyslog服务器,以便侦听TCP端口514:
vi/etc/rsyslog.conf
添加这几行……(要记得将密码更改成你在创建MySQL服务器的rsyslog用户时输入的那个密码。)
$ModLoad MySQL
*.*>127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
……并去掉处理TCP syslog接收的几行代码前面的注释。
# rsyslog v3的/etc/rsyslog.conf配置文件
#
#想了解更多信息,请参阅/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.*>127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
#################
####模块####
#################
$ModLoad imuxsock#提供对本地系统日志的支持
$ModLoad imklog#提供内核日志支持(以前由rklogd来提供)
#$ModLoad immark#提供--MARK--息功能
#提供UDP syslog接收
#$ModLoad imudp
#$UDPServerRun 514
#提供TCP syslog接收
$ModLoad imtcp
$InputTCPServerRun 514
###########################
####全局指令####
###########################
并重启rsyslog服务。
/etc/init.d/rsyslog restart
确保服务器在侦听合适的TCP IP端口。(端口80、端口514和端口3306。)
rsyslog:~# netstat-tapn
Active Internet connections(servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 618/rsyslogd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 415/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 581/apache2
接着我们下载LogAnalyzer,并配置Apache web服务器,以便显示日志。
文章到此结束,如果本次分享的rsyslog日志服务器和rsyslog linux 服务可以关闭吗的问题解决了您的问题,那么我们由衷的感到高兴!