rsyslog日志管理[通俗易懂]

rsyslog日志管理[通俗易懂]文章目录简介基本维护核心概念实例配置客户端日志服务器输出日志到mysql简介rsyslog是一个快速的日志处理系统,具有卓越的性能和出色的安全性,采用模块化设计,他可以从各种数据源中接收输入、转换数据再将结果输出到指定的位置。他不仅适用于企业,也适用于小型系统。rsyslog是一个c/s架构,既可以作为日志客户端上报日志,也可以作为服务端接收日志rsyslog是模块化设计,因此很多功能需要…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

简介

rsyslog是一个快速的日志处理系统,具有卓越的性能和出色的安全性,采用模块化设计,他可以从各种数据源中接收输入、转换数据再将结果输出到指定的位置。他不仅适用于企业,也适用于小型系统。

rsyslog是一个c/s架构,既可以作为日志客户端上报日志,也可以作为服务端接收日志

rsyslog是模块化设计,因此很多功能需要加载相关的模块
官方文档

基本维护

安装
一般主流linux系统都自带rsyslog,不过可能版本比较旧或者特性不够,可通过如下方式安装或更新

cd /etc/yum.repos.d/
wget http://rpms.adiscon.com/v8-stable/rsyslog.repo
yum install rsyslog

启停

systemctl start/stop rsyslog
查看日志
journalctl -u rsyslog

相关目录
主配置文件

/etc/rsyslog.conf

配置目录

/etc/rsyslog.d
个人的配置文件可以存放在此处

安装路径

/usr/sbin/rsyslogd

配置文件有三种格式

  1. sysklogd,
    mail.info /var/log/mail.log
  2. legacy rsyslog
  3. RainerScript(推荐)
    if prifilt(“mail.info”) then action(type=“omfile” file=”/var/log/maillog”)

调试
配置文件检查

/usr/sbin/rsyslogd -f /etc/rsyslog.conf -N1

调试日志
rsyslogd支持通过信号、环境变量、配置文件控制调试,建议通过信号和环境变量控制调试

export RSYSLOG_DEBUGLOG=/var/log/rsyslog.debug
export RSYSLOG_DEBUG=“DebugOnDeman NoStdOut”
kill -USR1 $(cat /var/run/rsyslogd.pid)

在rsyslog.conf的前面加上

$DebugFile /var/log/rsyslog.debug
# 日志增常非常快,可以设置为1,通过如下方式触发
# kill -USR1 `cat /var/run/rsyslogd.pid`
$DebugLevel 2

核心概念

message通过input module进入rsyslog,然后被传递给ruleset, 进行一系列的规则匹配,匹配到规则后,message会被传递给对应的action, 并进行相关处理,比如写入文件,写入mysql,发送到远端等。

module
分为input和output(action)
input: imfile
output: omfile
内建模块不需要load,如omfwd, omfile
可以通过yum search rsyslog查看和安装模块

message:
即日志信息,传入rsyslog的日志信息称为message,其属性有tag, facility, severity,

input:
将外部数据传入rsyslog,常见输入模块如下
imfile: 处理文本类型的日志,常用于处理应用服务的日志
imdocker: 从docker中获取日志
imjournal: 从journal中获取日志
imtcp: 从tcp中获取日志

input(type="imfile"
  File="/usr/local/easyops/agent/log/easyops.log"
  Tag="easyops_agent"
  Severity="info"
  Facility="local1")

ruleset
规则集,其包含一个filter和多个action,用于处理日志,当message匹配filter后,相应的action会执行
规则集的匹配顺序从上到下,每个规则都会检查message,即使已经匹配到了规则。
默认的ruleset为RSYSLOG_DefaultRuleset

ruleset(name="rulesetname") {
    action(type="omfile" file="/path/to/file")
    action(type="..." ...)
    /* and so on... */
}

实例

配置客户端

以下示例将/usr/local/easyops/agent/log/easyops.log的消息发送到远端192.168.100.238的tcp 514中

module(load="imfile")
ruleset(name="easyops_agent"){
    action(type="omfwd" target="192.168.100.236" port="514" protocol="tcp")
}

input(type="imfile"
    File="/usr/local/easyops/agent/log/easyops.log"
    Tag="easyops_agent"
    Severity="info"
    Facility="local1"
    ruleset="easyops_agent")

日志服务器

以下示例将tcp 514的消息存储到/var/log/tcp_t14_agent中

module(load="imtcp")
input(type="imtcp" port="514" ruleset="tcp_514")
ruleset(name="tcp_514"){
    action(type="omfile" dircreatemode="0700" filecreatemode="0644" file="/var/log/tcp_514_agent")
}

输出日志到mysql

安装rsyslog-mysql
yum install -y rsyslog-mysql
rpm -ql rsyslog-mysql

/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

mysql < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

grant all on Syslog.* to ‘rsyslog’@’%’ identified by ‘net123456’;

grant all on Syslog.* to ‘rsyslog’@‘localhost’ identified by ‘net123456’;

flush privileges;

vim /etc/rsyslog.conf

$ModLoad ommysql
*.* action(type="ommysql" server="192.168.100.236" serverport="3306"
db="Syslog" uid="rsyslog" pwd="net123456")
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189963.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

    红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…各位读者,知识无穷而人力有穷,所以,要么改需求,要么找专业人士,要么自己研究。大家可以点赞、收藏、关注、评论我啦、需要完整文件随时联系我或交流哟~!

    2022年4月26日
    98
  • 清博舆情系统_什么是舆情

    清博舆情系统_什么是舆情1. 引言1.1 编写目的  编写此文档的目的是确认微博舆情分析系统的基本架构,指导系统的基本架构。1.2 项目信息项目名称:舆情分析系统项目提出者:指导教师开发者:东北大学软件学院大数据班T09实训项目组(lzf、lcx)用户:舆情分析员、系统管理员1.3 项目背景  互联网的飞速发展促进了很多新媒体的发展,不论是知名的大V,明星还是围观群众都可以通过手机在微博,朋友圈或者点评网站上发表状态,分享自己的所见所想,使得“人人都有了麦克风”。不论是热点新闻还是娱乐八卦,传播速度远超我们

    2022年9月20日
    2
  • git push到远程指定分支_gitcheckout远程分支

    git push到远程指定分支_gitcheckout远程分支一、pull操作1、将远程指定分支拉取到本地指定分支上:gitpull&lt;远程仓库名&gt;&lt;远程分支名&gt;:&lt;本地分支名&gt;2、将远程指定分支拉取到本地当前分支上:gitpull&lt;远程仓库名&gt;&lt;远程分支名&gt;3、将与本地当前分支同名的远程分支拉取到本地当前分支上gitpull&lt;远程仓库名&…

    2022年8月22日
    11
  • xShell连接vmware虚拟机【经典】[通俗易懂]

    在刚刚开始学习Linux的同学,在VMware安装好Linux之后,不知道怎么去设置Ip,通过xshell去和虚拟机进行连接,下面就是我自己学习时候总结的连接方法,希望大家在连接后好好学习,我们一起进步。我的配置环境是VMware8,安装的是centOS6.3,使用的是Xshell5.l在虚拟机安装好Linux如图:1:输入 setup 回车,看到下面的界面,选择Network …

    2022年3月1日
    1.1K
  • java 添加 psd_psd缩略图生成上传解决方案「建议收藏」

    java 添加 psd_psd缩略图生成上传解决方案「建议收藏」第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName=null;Stringnewpathname=null;StringfileAddre=”/numUp”;try{InputStreamstream=file.getInputStream();//把文件读入StringfilePath=r…

    2022年6月11日
    50
  • 项目开发中DEV、QAS、PRD是什么意思

    开发常用名词说明IDES:InternetDemonstrationandEvaluationSystem交互式演示与评估系统DEV:DevelopmentSystem,开发系统QAS:QualityAssuranceSystem,质量保证系统UAT:UserAcceptance…

    2022年4月4日
    137

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号