当前位置: 首页 > news >正文

学习rsyslog总结

问题:

syslog与rsyslogd有什么关系?rsyslogd是syslog的升级版
如何增加自定义服务?通过local0 ~ local7可以自定义一些服务信息
如何与数据库相关联?
如何确定使用的什么协议传输?根据配置
业务场景有哪些?记录系统日志、开发业务日志
如何升级?

#

syslog缺点:

  • 记录丢失,默认使用UDP 514端口传输 UDP没有检测,重发等功能
  • 记录缓慢 磁盘IO利用率较高进而导致CPU阻塞影响系统性能

#

rsyslog优点:

  • 支持数据库
  • 日志内容筛选
  • 自定义日志格式模板
  • 支持UDP、TCP、RELP传输协议

重启服务:

systemctl restart rsyslog
/etc/init.d/rsyslog restart

syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。

完整的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正文。

配置文件的格式
facility.level action

facility: 服务
level: 等级
action: 动作

日志服务:
sysloggd:主要登录系统与网络等服务
klodg:主要登录内核产生的各项信息
logrotate:主要进行日志文件的轮替功能

日志记录的主要数据

  • 事件发生的日期与时间
  • 发生此事的主机名
  • 启动此事件的服务名或函数名称
  • 该信息的实际数据内容

服务名称(facility)

服务类型说明
auth(authpriv)授权信息 主要是认证有关的机制,例如login ssh eu等需要账号、密码
cron例行性工作调度信息
daemon守护进程、后台进程
kern内核信息
lpr打印相关
mail邮件
news与新闻服务器相关
syslog系统信息
user用户进程
uucp由uucp产生的消息
local0~local7自定义程序使用

消息级别(level)一下表中为由高到低

等级名称说明
*所有级别,除了none
none没有重要级,通常用于排错(不记录任何日志消息)
debug不包含函数条件或问题的其他信息(调试级-信息量最多)
info仅是一些基本的消息(通知类)
notice具有重要性的普通消息(普通单重要的消息)
warning(warn)阻止某些工具或子系统功能实现的错误条件(重要消息)
error(err)阻止工具或某些子系统部分功能实现的错误条件(出错消息
crit比error还要严重
alert需要立即被修改的条件(紧急消息)
panic该系统不可用(最紧急消息)

服务与等级之间的连接符“.=!”
. 代表比当前等级要高(包含自己)的都要记录下来
.= 仅记录后面标记的等级
.! 记录处后面的所有等级

信息记录的文件名、设备、主机(action 动作域)

  • 文件的绝对路径:通常记录到 /var/log/
  • 打印机或其他:/dev/lp0
  • 用户名称:显示给某用户
  • 远程主机:例如@www.vbird.tsai
    • :代表在线的所有人

封装好的调用函数
bool openlog ( string $ident , int $option , int $facility )
bool syslog ( int $priority , string $message )
bool closelog ( void )

rsyslog服务配置案例:

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad imudp        #应用UDP协议模块
$UDPServerRun 514      #设置UDP使用的端口
$ModLoad imtcp        #应用tcp协议模块
$InputTCPServerRun 514     #设置TCP使用的端口
$AllowedSender tcp, 192.168.18.248          #设置允许的iP
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
:fromhost-ip, !isequal, "127.0.0.1" ?Remote #过滤本机的日志
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

配置文件

加载模块
Module (load="imuxsock")
$ModLoad imuxsock
#

日志记录格式
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #默认格式

$template name , "路径" #定义一种模板
$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
#

参考:

[RSYSLOG服务实时传输日志配置请添加链接描述](https://www.cnblogs.com/blueswu/p/3564763.html)
[syslog简介——系统日志写入API请添加链接描述](https://www.cnblogs.com/bonelee/p/6234647.html)
[Rsyslog的远程传输日志(系统日志篇)请添加链接描述](http://blog.csdn.net/love910809/article/details/70761526)    
[官方参考手册请添加链接描述](http://www.rsyslog.com/guides-for-rsyslog/)

转载于:https://blog.51cto.com/ouyangjun/2090997

相关文章:

  • 中国电信携手 Orange Business Services 扩大战略合作 为企业提供无缝物联网体验
  • add_argument 图片路径
  • 组件化、模块化、集中式、分布式、服务化、面向服务的架构、微服务架构概念介绍...
  • spring @transactional 注解使用注意点
  • Python模块-time模块
  • Java并发编程(二)优势和风险
  • 聚焦2017中国网络安全年会
  • 电路中IC器件电压符号的解释
  • XVIII Open Cup named after E.V. Pankratiev. GP of Romania
  • 4199. [NOI2015]品酒大会【后缀数组+并查集】
  • 瞄准MSP市场风口,Bespin为企业转型保驾护航
  • 自己动手写CPU——寄存器堆、数据存储器(基于FPGA与Verilog)
  • OO1-3总结
  • nodejs使用log4js记录日志
  • WPF 自定义TextBox带水印控件,可设置圆角
  • [LeetCode] Wiggle Sort
  • flask接收请求并推入栈
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • input实现文字超出省略号功能
  • JavaScript 奇技淫巧
  • JavaWeb(学习笔记二)
  • opencv python Meanshift 和 Camshift
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Ruby 2.x 源代码分析:扩展 概述
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • tab.js分享及浏览器兼容性问题汇总
  • v-if和v-for连用出现的问题
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 测试如何在敏捷团队中工作?
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 协程
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 由插件封装引出的一丢丢思考
  • 移动端高清、多屏适配方案
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (11)MATLAB PCA+SVM 人脸识别
  • (6)设计一个TimeMap
  • (ZT)薛涌:谈贫说富
  • (八)Spring源码解析:Spring MVC
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • .Net 8.0 新的变化
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • @ConfigurationProperties注解对数据的自动封装
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [CentOs7]iptables防火墙安装与设置
  • [LeetCode刷题笔记]1 - 两数之和(哈希表)
  • [noip模拟]计蒜姬BFS
  • [python-opencv] PNG 裁切物体
  • [redis] Jedis 与 ShardedJedis 设计
  • [ruby on rails]rack-cors, rack-attack