Rsyslog+MariaDB搭建Rsyslog日志服务器

news2024/11/27 18:37:29

rsyslog是一个linux系统日志服务的工具,主要用来监控收集系统从开机运行之后所发生的所有日志,包括内核日志,服务日志,应用日志等等;记录的日志全部都写到/var/log下面,常用的有dmsg(内核日志)、messages(一般运行日志)、boot.log(系统启动日志)。

1、主机环境:

主机名IP地址备注
rsyslog-server192.168.17.160日志服务器
rsyslog-client192.168.17.161客户端

2、rsyslog-server搭建:

1)配置主机名:

hostnamectl set-hostname rsyslog-server

2)修改配置文件: 

cp /etc/rsyslog.conf{,.bak}
vim /etc/rsyslog.conf

修改的配置文件内容:

说明:取消两行注释。# 使用UDP协议,开启514端口。

3)然后启动服务并设置开机自启动:

systemctl start rsyslog.service
systemctl enable rsyslog.service

 3、rsyslog-client搭建:

1)修改主机名:

hostnamectl set-hostname ryslog-client

2)yum 安装nginx:

yum install nginx -y

3)修改配置文件rsysconfig.conf:

cp /etc/rsyslog.conf{,.bak}
vim /etc/ryslog.conf

 4)然后启动rsyslog.service服务,并设置开机自启动:

systemctl start rsyslog.service
systemctl enable rsyslog.service

4、测试:

1)在rsyslog-client客户端重启下nginx:

systemctl restart nginx

2)然后到rsyslog-service日志服务器上检查下/var/log/messages:

tail /var/log/messages

可以看到日志传到了日志服务器上来了。

 在这个过程中,我看到时间显示不对,是服务器的时间没有同步,所以我对rsyslog-server和rsyslog-client两台服务器进行了时间同步,执行完成之后,再检查日志的时间就正常了。

ntpdate time1.aliyun.com

5、相关的日志概念:

1)日志分类:

# facility: 设置、信道,可以理解为日志来源类型:

​ auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7

# priority: 日志等级(debug为最低、emerg为最严重)

debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

2)在RULES这个区域中,就是配置监控日志来源的类型和优先级,以及写入到log日志文件中。

 规则:

facility.priority  target

例如: 上图中,mail 表示监控日志来源的类型;*表示所有日志的级别;/var/log/maillog表示日志存放路径。

在配置文件的末尾,标红被注释掉的部分是如何添加将本地日志如何同步至远端的写入规则;

*.*   @192.168.0.1:514   (使用UDP协议传输至远端日志服务器中)
*.*   @@192.168.0.1:514  (使用TCP协议传输至远端日志服务器中)
*.*   意思是类型(all),优先级(all)
 

6、rsyslog日志的分类:只需要在rsyslog-server上配置:

1)修改/etc/rsyslog.d/default文件,尽量避免修改主配置文件。

vim /etc/rsyslog.d/default

#### GLOBAL DIRECTIVES ####
# Use default timestamp format  # 使用自定义的格式
  $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
  $template myFormat,"%timestamp% %fromhost-ip% %syslogtag% %msg%\n"
  $ActionFileDefaultTemplate myFormat
 
# 根据客户端的IP单独存放主机日志在不同目录,rsyslog需要手动创建
  $template RemoteLogs,"/var/log/rsyslog/%fromhost-ip%/%syslogtag%_%$YEAR%-%$MONTH%-%$DAY%-%$hour%:%$minute%.log"
# 排除本地主机IP日志记录,只记录远程主机日志
  :fromhost-ip, !isequal, "127.0.0.1" ?RemoteLogs
# 忽略之前所有的日志,远程主机日志记录完之后不再继续往下记录
  & ~

2)在修改/etc/sysconfig/rsyslog文件:

SYSLOGD_OPTIONS="r -m 0 -c 2"

3)创建/var/log/rsyslog目录,并修改权限:

mkdir /var/log/rsyslog
chmod a+w /var/log/rsyslog

4)重启下rsyslog服务:

systemctl restart rsyslog.service

 5)测试验证:

# 客户端重启下nginx服务:

systemctl restart nginx.service

# 在日志服务器上检查下日志:

7、使用mysql存储日志信息:

1)安装mariadb:

# rsyslog-server安装:

yum -y install mariadb mariadb-server

# rsyslog-client安装:

yum -y install rsyslog-mysql mariadb-server

2)配置日志服务器端:

a)设置启动和开机自启动mariadb服务器:

systemctl enable mariadb.service
systemctl start mariadb.service

b) 数据库初始化:

mysql_secure_installation   # 数据库初始化

设置mariadb的root用户密码:123456(当然这个是在测试环境,如果是正式环境,就不要使用这个简单密码了。)

c)创建数据库rsyslog、创建rsyslog用户,并设置密码:

mysql -uroot -p

输入密码登录:

create database rsyslog;
show databases;

grant all privileges on rsyslog.* to 'rsyslog'@'%' identified by '123456';
flush privileges;

d)修改配置文件/etc/my.cnf:

vim /etc/my.cnf
skip_name_resolve=on  			# 这个参数是禁止域名解析
innodb_file_per_table=on 		# 共享表空间转化为独立表空间

e)然后再重新启动下数据库:

systemctl restart mariadb.service

3) 配置rsyslog-client客户端:

a)修改下/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql文件:

将文件中的create database命令删除,然后修改下第二行的数据库名称为rsyslog:

USE rsyslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
);

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

b)将该sql文件导入到服务器端的数据库:

mysql -ursyslog -h 192.168.17.160 -p< mysql-createDB.sql
password: 

c)修改下客户端的配置文件:

vim /etc/rsyslog.conf

d)然后重启下rsyslog服务:

systemctl restart rsyslog.service

4)测试检验:

在客户端重启下nginx:

systemctl restart nginx.service

然后到服务器端数据库中检查数据库中表是否有数据:

mysql -ursyslog -p

mysql> show databases;

mysql> user rsyslog;

mysql> select * from SystemEvents;

rsyslog的配置详解,请参考:

rsyslog 配置详解 - 君无颜 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带你手把手实操一个RPC框架

前言&#xff1a; 这篇文章我们来聊一聊RPC框架&#xff0c;为什么要聊RPC呢 &#xff1f; 首先从个人成长角度&#xff0c;如果一个新时代码农能清楚的了解RPC框架所具备的要素&#xff0c;掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信…

Linux 安装 Redis教程

1.切换到目录/use/local/src cd /use/local/src 2.下载文件 wget https://download.redis.io/releases/redis-6.2.6.tar.gz 3.文件解包 tar xzf redis-6.2.6.tar.gz 4.将解压后的包移动到/usr/local/redis目录下 mv redis-6.2.6 /usr/local/redis 5.切换到/usr/local/r…

Vue3这样子结合hook写弹窗组件更快更高效

为什么会有这个想法 在管理后台开发过程中&#xff0c;涉及到太多的弹窗业务弹窗&#xff0c;其中最多的就是“添加XX数据”&#xff0c;“编辑XX数据”&#xff0c;“查看XX详情数据”等弹窗类型最多。 这些弹窗组件的代码&#xff0c;很多都是相同的&#xff0c;例如组件状…

DBCO-PEG-NHS,二苯并环辛炔(DBCO)PEG-NHS衍生物,分子量MV 3.4K 5K

1、产品描述&#xff1a; 二苯并环辛炔&#xff08;DBCO&#xff09;PEG-NHS衍生物可以在不需要任何金属催化剂的情况下进行化学反应。菌株促进的环辛炔和叠氮化合物的1,3-偶极环加成反应&#xff0c;也称为无铜点击反应&#xff0c;是一种双正交反应&#xff0c;可使两个分子…

【Java版oj】day05统计回文

目录 一、原题再现 二、问题分析 三、完整代码 一、原题再现 统计回文_牛客题霸_牛客网 描述 “回文串”是一个正读和反读都一样的字符串&#xff0c;比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串&#xff0c;生日的时候她得到两个礼物分别…

ADI Blackfin DSP处理器-BF533的开发详解50:RGBtoGary (图像灰度提取处理)(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像灰度提取处理&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"路径中的…

OPENGL ES 2.0 知识串讲(1)――OPENGL ES 2.0 概括

前言 电脑是做什么用的? 电脑又被称为计算机,那么最重要的工作就是计算。看过三体的同学都知道, 电脑中有无数纳米级别的计算单元,通过 0 和 1 的转换,完成加减乘除的操作。 是什么使得电脑工作? 驱动,驱使着硬件完成工作。 谁来写驱动? 制造电脑的公司自己来写驱动,因…

#芯片# N25Q128A21BSF40F

数据手册下载链接&#xff1a;N25Q128A21BSF40F 0. 指令集 1.基本介绍 SPI兼容串行总线接口。108 MHz&#xff08;最大&#xff09;时钟频率。推荐工作电压&#xff1a;1.8 V。单电源电压1.7 V至2 V。支持传统SPI协议&#xff0c;Quad I/O或Dual I/O SPI协议。四路/双路I/O指…

bug的生命周期你知道吗?一张图带你看懂它!

目录 1、什么是bug 2、bug的生命周期 3、如何描述一个bug 4、bug的级别 1、什么是bug 软件的bug狭义方面可以理解为是指软件程序的漏洞或缺陷&#xff0c;广义方面除找到程序漏洞之外&#xff0c;还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差…

【全网惟一面向软件测试人员的Python基础教程】- 你知道Python代码是怎样运行的吗?

全网惟一面向软件测试人员的Python基础教程 起点&#xff1a;《python软件测试实战宝典》介绍 第一章 为什么软件测试人员要学习Python 第二章 学Python之前要搞懂的道理 第三章 你知道Python代码是怎样运行的吗&#xff1f; 文章目录全网惟一面向软件测试人员的Python基础教程…

如何写好科研论文:Introduction(2)

导读 本系列[1]将切片介绍如何写好科研论文&#xff0c;包含了&#xff1a;摘要&#xff0c;背景介绍&#xff0c;方法&#xff0c;结果&#xff0c;讨论等。 由于翻译能力有限&#xff0c;强力推荐有需要的伙伴&#xff0c;直接在文末找到参考链接&#xff0c;阅读原文&#x…

外汇天眼:Swissquote获得CySEC许可证、BUX收购Ninety Nine

新的一周开始了&#xff0c;那么在过去的一周里备受大家关注的外汇行业新闻都有哪些呢&#xff1f;天眼君现在带大家回顾&#xff0c;比如Swissquote获得CySEC许可证、BUX收购西班牙新交易商Ninety Nine的零售经纪部门、Saxo Bank以“时机不合适”为理由终止与SPAC IPO合作。具…

12.3、后渗透测试--持久化后门

攻击主机&#xff1a; Kali 192.168.11.106靶机&#xff1a;windows server 2008 r2192.168.11.134零、为何要创建后门 当成功获取目标系统的访问权限后&#xff0c;需要寻找方法来恢复与目标主机的连接&#xff0c;而无需再进入目标系统。如果目标用户破坏了该连接&#xff0c…

Metal每日分享,虚假颜色混合滤镜效果

本案例的目的是理解如何用Metal实现虚假颜色效果滤镜&#xff0c;使用图像的亮度在两种用户指定的颜色之间进行混合&#xff1b; Demo HarbethDemo地址 实操代码 // 混合颜色 let filter C7FalseColor.init(fristColor: .blue, secondColor: .green)// 方案1: ImageView.im…

BMVC2022 | HR-VQVAE:用于图像重建和生成的基于Hierarchical Residual Learning的VQVAE

原文标题&#xff1a;Hierarchical Residual Learning Based Vector Quantized Variational Autoencoder for Image Reconstruction and Generation 链接&#xff1a;https://bmvc2022.mpi-inf.mpg.de/0636_poster.pdf paper&#xff1a;https://arxiv.org/abs/2208.04554 一…

新业务势头强劲,晨光股份转型之路走得如何?

近期&#xff0c;据网传的一份文件显示&#xff0c;上海晨光文具股份有限公司&#xff08;以下简称“晨光文具”、“晨光股份”、“晨光”“公司”&#xff09;将于11月29日起&#xff0c;暂停线上线下店面等渠道的A4纸销售。晨光股份&#xff08;603899.SH&#xff09;针对此份…

PreScan快速入门到精通第四十一讲图像分割传感器

图像分割传感器(ISS)是一种生成语义分割图像的工具。它在诸如分类、(深度)学习、行人识别、避免碰撞等应用领域非常有用。ISS通常与相机传感器结合使用,以获得被分割的图像。 摄像机传感器 ISS语义类型颜色 ISS语义目标颜…

Vue3+Vite4+Naive-UI 项目自动导入API和组件

一、Vue3常用API导入 安装依赖 pnpm i -D unplugin-auto-import进行Vite配置 文件名&#xff1a;vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import AutoImport from unplugin-auto-import/vite// https://vitejs.dev/config/ ex…

HDOCK 蛋白蛋白对接软件使用;LZerD网页在线对接

参考&#xff1a; http://hdock.phys.hust.edu.cn/ 注&#xff1a;本文章是取6BOY这蛋白&#xff0c;下载用pymol划分成DDB1-CRBN部分蛋白与BRD4部分蛋白&#xff0c;用这两个蛋白进行软件的对接测试 https://www.rcsb.org/structure/6BOY 一、HDOCK 蛋白蛋白对接软件使用 …

@Enumerated的使用

前言 今天做测试&#xff0c;发现还没有试过实体类中关于枚举项的使用&#xff0c;于是就做了个测试&#xff0c;发现了点问题&#xff08;发现的问题主要是针对我使用的ORM框架是Ebean&#xff0c;它自带了一个比Enumerated更好用的注解和方式&#xff09;。 不多说&#xf…