(1)日志基础

1)简介

rsyslog:记录大部分与系统操作有关,例如安全,认证sshd,su,计划任务at,cron

rsyslog日志可以存在本地,也可以存放在远程服务器

2)常见的日志文件

/var/log/messages 					//系统主日志文件
/var/log/secure //认证丶安全
/var/log/maillog //跟邮件postfix有关
/var/log/cron //crond,at进程产生的日志
/var/log/dmesg //和系统启动有关
/var/log/audit/audit.log //系统审计日志
/var/log/yum.log //yum日志
/var/log/xferlog //和访问FTP服务器有关
w //当前登录的用户 /var/log/wtmp
last //最近登录的用户 /var/log/btmp
lastlog //所有用户的登录情况 /var/log/lastlog

3)例

统计登录失败的top5 ip地址
#grep "failure" /var/log/secure | awk -F'[ =]+' '{print $18}' | grep -v user | sort | uniq -c | sort -k1 -rn | head -5
统计登录成功的top5 ip地址
#grep "Accept" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -k1 -rn | head -5

(2)rsyslog子系统

1)服务和配置文件

systemctl status rsyslog
/etc/logrotate.d/syslog //日志切割相关
/etc/rsyslog.conf //rsyslogd的主配置文件

2)主配置文件:/etc/rsyslog.conf

在主配置文件下定义了一套规则: 告诉rsyslogd进程哪个设备(facility),关于哪个级别的信息,以及如何处理

authpriv.*                                              /var/log/secure
设备.日志级别 日志文件
#### RULES ####
authpriv.* /var/log/secure //设备authpriv的所有级别都输出到/var/log/secure文件中
mail.* -/var/log/maillog //设备mail的所有级别都延迟输出到/var/log/maillog文件中
cron.* /var/log/cron
*.emerg :omusrmsg:* //所有设备的紧急级别日志都输出到屏幕上
local7.* /var/log/boot.log
local4.* @192.168.1.253 //UDP //local4设备所有级别日志使用udp协议输出到192.168.1.253这台主机
local4.* @@192.168.1.253 //TCP
local设备是系统保留的设备

级别 :遇到何种情况才会记录日志

emerg 				//紧急,致命,服务无法继续运行,如配置文件丢失
alert //报警,需要立即处理,如磁盘使用率95%
crit //致命行为
err //错误行为
warning //警告信息
notice //普通
info //标准信息
debug //调试信息,拍错所需

说明:例如sshd程序的配置文件(/etc/ssh/sshd_config)中定义SyslogFacility AUTHPRIV;表示sshd程序使用rsyslog程序中的AUTHPRIV这个设备,表示sshd的日志都会输出到AUTHPRIV这个设备,同时在rsyslog的配置文件上(/etc/rsyslog.conf)中定义了一个规则(authpriv.* /var/log/secure),这个规则表示设备AUTHPRIV这个设备的所有级别日志都会输出到/var/log/secure上

3)例:改变应用程序sshd的日志设备为local5,并定义local5设备日志记录到/var/log/sshd.log文件中

#vim /etc/ssh/sshd_config			//修改sshd使用rsyslog的设备为LOCAL5
#SyslogFacility AUTHPRIV
SyslogFacility LOCAL5
#systemctl restart sshd
#vim /etc/rsyslog.conf 				//修改rsyslog配置文件定义设备local5的所有级别日志输出到/var/log/sshd.log中
local5.* /var/log/sshd.log
#systemctl restart rsyslog

4)命令logger

logger "pppppp"						//日志默认输出到/var/log/messages文件中
logger -p local5.info "pppp" //-p指定设备名和日志级别,日志输出到local5这个设备定义的输出文件中
logger -p local5.emerg "warnning" //日志级别为紧急emerg,默认情况都会打印到屏幕上,

5)日志发送到远程服务器:192.168.1.40的local5设备的所有级别日志都发送到192.168.1.253上;

#vim /etc/rsyslog.conf
local5.* @192.168.1.253 //定义local5设备的所有级别日志发送到192.168.1.253这台主机
#systemctl restart rsyslog
#tcpdump -i eth0 -nn port 514		//在192.168.1.253主机上进行抓包验证
#vim /etc/rsyslog.conf //修改rsyslog主配置文件,定义设备local5的所有级别日志都输出到/var/log/test.log文件中
local5.* /var/log/test.log
#systemctl restart rsyslog
测试命令:logger -p local5.info  "pppp"		//在40主机上使用logger进程产生设备local5的info级别日志

日志rsyslog的更多相关文章

  1. nginx 通过rsyslog发日志 rsyslog服务器挂掉 日志丢失问题

    nginx 配置: user nginx; worker_processes 1; syslog local5 nginx-zjzc01; rsyslog 服务器收到的消息: -rw-r--r-- 1 ...

  2. ELK日志系统之使用Rsyslog快速方便的收集Nginx日志

    常规的日志收集方案中Client端都需要额外安装一个Agent来收集日志,例如logstash.filebeat等,额外的程序也就意味着环境的复杂,资源的占用,有没有一种方式是不需要额外安装程序就能实 ...

  3. 001-CentOS 7系统搭建Rsyslog+LogAnalyzer解决交换机日志收

    日志功能对于操作系统是相当重要的,在使用中,无论是系统还是应用等等,出了任何问题,我们首先想到的便是分析日志,查找问题原因.自 CentOS 7 开始,我们的 CentOS 便开始使用 rsyslog ...

  4. rsyslog日志服务部署

    rsyslog简介 rsyslog是CentOS6和CentOS7默认的记录日志的服务 支持特性: UDP, TCP, SSL, TLS, RELP MySQL, PGSQL, Oracle实现日志存 ...

  5. HAProxy的日志配置以及ACL规则实现负载均衡

    HAProxy配置日志策略 默认情况下,HAProxy是没有配置日志的在centos6.3下默认管理日志的是rsyslog,可以实现UDP日志的接收,将日志写入文件,写入数据库先检测rsyslog是否 ...

  6. CentOS6.5配置rsyslog

    如何在RHEL 6.5安装和配置rsyslog现在7.6版本/ CentOS的6.5 .The情况是,安装和RHEL / CentOS的6.5安装rsyslog现在集中式日志服务器上.所有的客户端服务 ...

  7. Linux日志系统

    常见的日志 常见的日志一般存储在/var/log中.常见的日志查看使用:ls/ll,cat/more/less查看即可:wtmp,lastlog使用last和lastlog提取其信息即可 配置日志 较 ...

  8. 日志管理与ftp。samba,nfs

    1.描述rsyslog日志服务,并提供带web展示的日志服务器 rsyslog日志服务简介 ​ 日志的概念好理解,日志作用可用于排障和追溯审计的等 ​ 1.rsyslog是一个C/S架构的服务,可监听 ...

  9. ELK日志平台搭建

    功能: 1. 查看当天的服务器日志信息(要求:在出现警告甚至警告级别以上的都要查询)2. 能够查看服务器的所有用户的操作日志3. 能够查询nginx服务器采集的日志(kibana作图)4. 查看tom ...

随机推荐

  1. vector.clear()的内存泄露问题

    在使用vector的过程中,经常会遇到以下场景 vector<int> vec; ) { vec.push_back(); vec.push_back(); vec.push_back() ...

  2. STM32 - 软件设置单片机重启

    __set_FAULTMASK();//关闭总中断 NVIC_SystemReset();//请求单片机重启 执行NVIC_SystemReset()函数不允许被打断,所以关总中断

  3. DataXceiver error processing unknown operation src: /127.0.0.1:36479 dst: /127.0.0.1:50010处理

    异常信息如下: 2015-12-09 17:39:20,310 ERROR datanode.DataNode (DataXceiver.java:run(278)) - hadoop07:50010 ...

  4. flush priviliege

    grant all on *.* to usernmae@'%' identified by '*****'; flush privileges grant all on *.* to root@'% ...

  5. 如何在sublime中使用sftp

    在开发中我们通常会遇到一个问题——如何通过一款编辑器(或者IDE)便捷的同步线上代码.目前比较热门的编辑器有sublime,atom等,他们都有sftp功能,鉴于本人更喜欢用轻量级的编辑器,那我就在这 ...

  6. python实现堆栈、队列

    一.利用python列表实现堆栈和队列 堆栈: 堆栈是一个后进先出的数据结构,其工作方式就像生活中常见到的直梯,先进去的人肯定是最后出. 我们可以设置一个类,用列表来存放栈中的元素的信息,利用列表的a ...

  7. Scala环境安装设置

    Scala语言可以安装在任何类UNIX或Windows系统.要安装Scala,必须先安装Java1.5或更高版本安装在计算机上. Windows上安装Scala: 步骤(1):JAVA设置: 首先,必 ...

  8. 深入HBase架构解析(一)

    前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Architecture,原本想翻译全文,然 ...

  9. CodeForces527D. Fuzzy Search

    time limit per test:3 seconds memory limit per test:256 megabytes input:standard input output:standa ...

  10. 【BZOJ】1754: [Usaco2005 qua]Bull Math

    [算法]高精度乘法 #include<cstdio> #include<algorithm> #include<cstring> using namespace s ...