rsyslog日志总结

一 rsyslog介绍

syslogd被rsyslog取代

将日志写入数据库 可以利用模块和插件控制输入输出

rsyslog程序管理本地和远程日志

安装软件

根据需求修改配置文件

启动服务

测试验证

日志:

历史事件:时间,地点,人物,事件

日志级别:事件的关键性程度,Loglevel

系统日志服务:

sysklogd :CentOS 5之前版本

syslogd: system application 记录应用日志

klogd: linux kernel 记录内核日志

事件记录格式:

日期时间 主机 进程[pid]: 事件内容

C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

rsyslog特性:CentOS6和7

多线程

UDP, TCP, SSL, TLS, RELP

MySQL, PGSQL, Oracle实现日志存储

强大的过滤器,可实现过滤记录日志信息中任意部分

自定义输出格式

ELK:elasticsearch, logstash, kibana

非关系型分布式数据库

基于apache软件基金会jakarta项目组的项目lucene

Elasticsearch是个开源分布式搜索引擎

Logstash对日志进行收集、分析,并将其存储供以后使用

kibana 可以提供的日志分析友好的 Web 界面

二系统日志文件介绍

日志格式 文本日志/二进制日志/数据库日志

常见日志文件

/var/log/boot.log 系统引导日志,记录开机启动信息

/var/log/dmesg 核心的启动日志 (硬件相关)

/var/log/messages 系统的日志文件

/var/log/maillog 邮件服务的日志

/var/log/xferlog ftp服务的日tmp志

/var/log/secure 网络连接及系统登录的安全信息

/var/log/cron 定时任务的日志

/var/log/wtmp 记录所有的登入和登出 last -f 查看

/var/log/btmp 记录失败的登入尝试

三:日志级别

# man   syslog
日志信息分为以下级别,从上到下级别依次降低
none 不算是一个等级,它表示不记录服务的所有信息
0 emerg 系统不可用
1 alert 特别留意的报警信息
2 crit 非常严重的状况
3 err 错误信息
4 warning 警告信息
5 notice 稍微要注意的信息
6 info 正常信息
7 debug 调试信息,开发人员使用

四.日志配置

1.日志定义相关符号

配置文件中常见的表示符号
. <--- 用来分隔服务和级别
* <--- 任何服务,或者任何级别
= <---有等号表示等于某一级别,没有等号表示或者等于某一级别 mail.=info
mail.info
! <--- 排除操作,前面有相同服务的表达式,这个操作才有意义
代表从前面表达式所包含的内容中排除某些内容
; <--- 用于分隔不同的服务,级别组合
cron.=info;mail.info
, <--- 用于分隔不同的服务 cron,mail.=info
- <--- 用于指定目标文件时,代表异步写入 -/var/log/maillog

举例:

cron.err  0123
cron.=info 6
cron.!=info 0123457
mail,cron,ftp=err 3
cron.info;cron.!err
0123456 4567
456 #取交集
mail.info;mail.!=err
0123456 0124567
012456 #取交集

配置文件详解

/etc/rsyslog.conf    rsyslog日志的主配置文件
/etc/rsyslog.d/*.conf rsyslog日志的辅助配置文件
/var/log/ 日志文件的目录
cat /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#记录所有服务产生的日志,除了mail/验证/任务计划相关日志都记录/
authpriv.* /var/log/secure
telnet ssh 设备载体 #记录所有跟验证有关日志信息 mail.* -/var/log/maillog #记录所有跟邮件有关日志信息
cron.* /var/log/cron
#记录所有跟任务计划有关日志信息
*.emerg :omusrmsg:*
#把所有级别为emerg的信息发送给所有登录到系统上的用户
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
#记录所有跟启动相关的日志
1.修改sshd的配置文件
vim /etc/ssh/sshd_config
SyslogFaclity local1 2.修改rsyslog程序的配置文件
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none;local1.none
authpric.*;local1.none
local1.*
3.重启服务测试验证

总结:

本地日志管理:服务的日志和系统的日志

服务日志:

1.服务本身可以做管理自己的日志,比如ftp服务。----->服务的配置文件,vsftpd.conf

2.使用rsyslog程序管理服务的日志。rsyslog.conf--->日志设备载体.info /var/log/ftp.log

五远程日志管理

目的:把多台服务器的日志远程记录到其中一台日志服务器集中化管理,方便对其统一分析和管理;

需求:

将ssh服务的日志远程记录到日志管理服务器上保存

环境准备

ssh-server 10.1.1.250(管理端)

log-server:10.1.1.1

ssh-server:10.1.1.3

client:10.1.1.2

思路:

1.在ssh-server上将ssh服务的日志单独记录

2.在ssh-server上通过修改rsyslog.conf文件来将本地ssh服务日志远程传送到log-server服务器上

3.在log-server上打开514端口等待客户来传送日志

4.测试验证

步骤:

ssh-server
1.在日志服务器端完成以下事情
1)安装rsyslog文件
rpm -qa rsyslog
2)在log-server上打开514端口
vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 # Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
systemctl restart rsyslog
netstat -tnulp|grep 514
2.在ssh-server上将ssh服务的日志单独记录
修改sshd的配置文件
vim /etc/ssh/sshd_config
SyslogFaclity local1
1)ssh服务的日志载体定义为local1
2)删除原来的本地保存
#local1.* /var/log/sshd.log
local1.* @@10.1.1.1:514
第一个@代表UDP协议传送;@@代表tcp协议传输
3)重启rsyslog服务
systemctl restart rsyslog
useradd stu1
echo 123|passwd --stdin stu1

日志轮转

日志轮转介绍

日志轮换

logrotate 日志轮换的工具

日志存放的地方: /var/log/*

常见的日志文件:

/var/log/messages

/var/log/wtmp

/var/log/btmp

轮换工具的配置文件: /etc/logrotate.conf

/var/log/wtmp { <---需要轮换的日志的据对路径

monthly <---采用每个月轮换一次的设定

minsize 1M <----日志轮换的时候日志文件必须不少于1M,尽管轮换的时间到了,如果文件达不到1M也不去轮换

create 0664 root utmp <----新建的日志文件权限是什么?拥有者是谁,组是谁?

rotate 1

}

size 512k <---尽管轮换的时间还没到,如果日志文件达到512kb,也进行轮换

对ssh服务日志进行轮转

要求:

1.每天进行轮转,保留5天的日志文件

2.日志文件大小大于5M进行轮转,不管是否到轮转周期

思路:

修改logrotate程序的主配置文件或者在/etc/logrotate.d/目录创建一个文件

步骤:

log-server
vim /etc/rsyslog.conf
local1.* /var/log/sshd.log
#local1.* @@10.1.1.1:514
find /var/log -type f -exec rm -f {} \;
find /var/log/ -type f -delete
systemctl restart rsyslog
方法1:修改主配置文件
vim /etc/logrotate.conf
...
/var/log/sshd.log {
daily
rotate 5
size 5M
}
测试验证
logrotate -f /etc/logrotate.conf 方法2:创建子配置文件
vim /etc/logrotate.d/sshd
/var/log/sshd.log {
missingok
daily
rotate 5
size 5M
}
nodateext //不以日期作为后缀
find /var/log/ -type f -delete
systemctl restart rsyslog
logrotate -f /etc/logrotate.conf

对FTP服务日志进行轮转

要求:

1.每个月轮转1次,保留一个月的日志

2.日志文件大小超过500M不管有没有到轮转周期必须轮转

3.如果日志文件不存在也不报错

思路:

1.首先得在当前系统中有ftp服务的日志

ftp服务自己本身管理日志(/var/log/xferlog)

交给rsyslog程序管理(vsftpd.conf--->syslog_enable=YES;设备载体默认是FTP);rsyslog.conf

----->ftp.* /var/log/ftp.log

log-server
yum install vsftpd -y
systemctl restart vsftpd
systemctl enable vsftpd
vim /etc/rsyslog.conf
ftp.* /var/log/ftp.log
vim /etc/vsftpd/vsftpd.conf
lftp localhost
vim /etc/logrotate.d/vsftpd
添加
/var/log/ftp.log {
missingok
monthly
rotate 1
size 500M
}
logrotate -f /etc/logrotate.conf

rsyslog日志总结的更多相关文章

  1. rsyslog日志服务的配置文件分析

    基于rsyslog日志服务的日志 在不同的LINUX系统,实现的软件略有不同. syslog,rsyslog,syslog-ng,用于实现系统日志的管理. [root@asianux4 ~]# rpm ...

  2. Linux Rsyslog日志集中管理

    Linux Rsyslog日志集中管理 一.Rsyslog简介 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来 ...

  3. Linux下rsyslog日志收集服务环境部署记录

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  4. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  5. logstash收集rsyslog日志

    (1)rsyslog配置 在192.168.1.31配置 #vim /etc/rsyslog.conf *.* @@192.168.1.32:514 //所有设备名,所有日志级别都发送到192.168 ...

  6. 将shell脚本运行情况写入Rsyslog日志server

    在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时运行完毕一些日常工作,实现运维工作自己主动化.比方在我的日常工作中备份数据是一项重要的工作,须要定时将数据备份到备份服器和一些其它的备份介 ...

  7. centos7设置rsyslog日志服务集中服务器

    centos7设置rsyslog日志服务集中服务器 环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程 ...

  8. rsyslog日志服务部署

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

  9. CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器

    文章目录 1.主机环境 2.rsyslog搭建 2.1.rsyslog-server搭建 2.2.rsyslog-client 2.2.1.测试 2.3.rsyslog日志分类 2.3.1.测试 3. ...

随机推荐

  1. python+requests爬取百度文库ppt

    实验网站:https://wenku.baidu.com/view/c7752014f18583d04964594d.html 在下面这种类型文件中的请求头的url打开后会得到一个页面 你会得到如下图 ...

  2. HDU -1506 Largest Rectangle in a Histogram&&51nod 1158 全是1的最大子矩阵 (单调栈)

    单调栈和队列讲解:传送门 HDU -1506题意: 就是给你一些矩形的高度,让你统计由这些矩形构成的那个矩形面积最大 如上图所示,如果题目给出的全部是递增的,那么就可以用贪心来解决 从左向右依次让每一 ...

  3. OpenStack Train版-12.创建虚拟网络并启动实例(控制节点)

    使用VMware虚拟机创建网络可能会有不可预测到的故障,可以通过dashboard界面,管理员创建admin用户的网络环境 1.第一种: 建立公共提供商网络在admin管理员用户下创建 source ...

  4. boomworks 1999~2009

    大众软件 PC定时执行专家 4.0 (PCTaskTimer) - 功能强大.简单易用的定时执行软件.具有功能多.体积小.消耗资源少的特点. 超级网际搜索(SuperSearch) - 免费.快速.高 ...

  5. Apple Watch Series 6 编织表带如何清洗

    Apple Watch Series 6 编织表带如何清洗 如何清洁 Apple Watch https://support.apple.com/zh-cn/HT204522 refs xgqfrms ...

  6. 英语能力考试 All In One

    英语能力考试 All In One 托福,雅思,托业 TOEIC 托业考试 Test of English for International Communication (TOEIC) 国际交流英语 ...

  7. how to remove duplicates of an array by using js reduce function

    how to remove duplicates of an array by using js reduce function ??? arr = ["a", ["b& ...

  8. You, Me & SVG!

    You, Me & SVG! SVG refs code-school-you-me-svg https://www.youtube.com/watch?v=a8Y0L5q63y8 https ...

  9. vue & template & v-else & v-for bug

    vue & template & v-else & v-for bug nested table bug https://codepen.io/xgqfrms/pen/wvaG ...

  10. 「NGK每日快讯」2021.2.11日NGK公链第100期官方快讯!