rsyslog实现将日志存储到mysql中

​ 前提:准备好msql server或mariadb server;

​ 1、安装rsyslog连接至mysql server的驱动模块;

[13:24 root@centos6.8~]# yum install -y rsyslog-mysql 
[13:24 root@centos6.8~]# rpm -ql rsyslog-mysql
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

可以看到其实rsyslog模块提供的启动mysql的模块还有createDB.sql,它的作用就是定义了日志的记录表格式,可以直接导入该sql语句到mysql即可

新建rsyslog的mysql用户

CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'password';

授权数据库

GRANT ALL PRIVILEGES ON Syslog.* TO 'rsyslog'@'localhost';

刷新权限:运行以下命令以使权限更改立即生效:

FLUSH PRIVILEGES;

​ 2、在mysql server准备rsyslog专用的用户账号;

mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass';
mysql> FLUSH PRIVILEGES;

​ 3、导入该sql语句到mysql即可,生成所需要的数据库和表;

[13:24 root@centos6.8~]# mysql -ursyslog -h127.0.0.1 -p123456 <  /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
mysql> USE Syslog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SHOW TABLES;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
mysql> DESC SystemEvents-> ;
+--------------------+------------------+------+-----+---------+----------------+
| Field              | Type             | Null | Key | Default | Extra          |
+--------------------+------------------+------+-----+---------+----------------+
| ID                 | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| CustomerID         | bigint(20)       | YES  |     | NULL    |                |
| ReceivedAt         | datetime         | YES  |     | NULL    |                |
| DeviceReportedTime | datetime         | YES  |     | NULL    |                |
| Facility           | smallint(6)      | YES  |     | NULL    |                |
| Priority           | smallint(6)      | YES  |     | NULL    |                |
| FromHost           | varchar(60)      | YES  |     | NULL    |                |
| Message            | text             | YES  |     | NULL    |                |
| NTSeverity         | int(11)          | YES  |     | NULL    |                |
| Importance         | int(11)          | YES  |     | NULL    |                |
| EventSource        | varchar(60)      | YES  |     | NULL    |                |
| EventUser          | varchar(60)      | YES  |     | NULL    |                |
| EventCategory      | int(11)          | YES  |     | NULL    |                |
| EventID            | int(11)          | YES  |     | NULL    |                |
| EventBinaryData    | text             | YES  |     | NULL    |                |
| MaxAvailable       | int(11)          | YES  |     | NULL    |                |
| CurrUsage          | int(11)          | YES  |     | NULL    |                |
| MinUsage           | int(11)          | YES  |     | NULL    |                |
| MaxUsage           | int(11)          | YES  |     | NULL    |                |
| InfoUnitID         | int(11)          | YES  |     | NULL    |                |
| SysLogTag          | varchar(60)      | YES  |     | NULL    |                |
| EventLogType       | varchar(60)      | YES  |     | NULL    |                |
| GenericFileName    | varchar(60)      | YES  |     | NULL    |                |
| SystemID           | int(11)          | YES  |     | NULL    |                |
+--------------------+------------------+------+-----+---------+----------------+
24 rows in set (0.00 sec)

​ 4、配置rsyslog加载ommysql模块

#### MODULES ####
......
$ModLoad ommysql
​ 5、配置RULES,将所期望的日志信息记录于mysql中;​ 其格式为:​ facility.priority :ommysql:DBHOST,DB,DBUSER,DBUSERPASS

检查数据库连接信息:确保数据库连接信息正确。在你的配置中,你正在将日志发送到MySQL服务器的127.0.0.1,数据库名为Syslog,用户名为rsyslog,密码为123456。请确保这些信息与你的实际MySQL配置匹配。

配置规则:在*.*:ommysql这部分,*.*表示将所有日志消息都发送到MySQL。你可以根据需要更改这部分以匹配特定的日志规则。

​ 所以添加以下信息:

*.* 
:ommysql:127.0.0.1,Syslog,rsyslog,123456

​ 6、启动mysql服务,并重启rsyslog服务,mysql已经记录日志,到此为止,日志信息已经成功的存储于数据库中;

systemctl restart mariadb && systemctl restart rsyslog
mysql>USE Syslog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changedmysql> SELECT * FROM SystemEvents\G
*************************** 1. row ***************************ID: 1CustomerID: NULLReceivedAt: 2016-10-16 13:35:46
DeviceReportedTime: 2016-10-16 13:35:46Facility: 0Priority: 6FromHost: centos6Message: imklog 5.8.10, log source = /proc/kmsg started.NTSeverity: NULLImportance: NULLEventSource: NULLEventUser: NULLEventCategory: NULLEventID: NULLEventBinaryData: NULLMaxAvailable: NULLCurrUsage: NULLMinUsage: NULLMaxUsage: NULLInfoUnitID: 1SysLogTag: kernel:EventLogType: NULLGenericFileName: NULLSystemID: NULL
*************************** 2. row ***************************ID: 2CustomerID: NULLReceivedAt: 2016-10-16 13:35:46
DeviceReportedTime: 2016-10-16 13:35:46Facility: 5Priority: 6FromHost: centos6Message:  [origin software="rsyslogd" swVersion="5.8.10" x-pid="3081" x-info="http://www.rsyslog.com"] startNTSeverity: NULLImportance: NULLEventSource: NULLEventUser: NULLEventCategory: NULLEventID: NULLEventBinaryData: NULLMaxAvailable: NULLCurrUsage: NULLMinUsage: NULLMaxUsage: NULLInfoUnitID: 1SysLogTag: rsyslogd:EventLogType: NULLGenericFileName: NULLSystemID: NULL
*************************** 3. row ***************************ID: 3CustomerID: NULLReceivedAt: 2016-10-16 13:35:50
DeviceReportedTime: 2016-10-18 10:48:37Facility: 18Priority: 6FromHost: localhostMessage:  nidhaiNTSeverity: NULLImportance: NULLEventSource: NULLEventUser: NULLEventCategory: NULLEventID: NULLEventBinaryData: NULLMaxAvailable: NULLCurrUsage: NULLMinUsage: NULLMaxUsage: NULLInfoUnitID: 1SysLogTag: root:EventLogType: NULLGenericFileName: NULLSystemID: NULL
*************************** 4. row ***************************ID: 4CustomerID: NULLReceivedAt: 2016-10-16 13:35:52
DeviceReportedTime: 2016-10-18 10:48:39Facility: 18Priority: 6FromHost: localhostMessage:  DNTSeverity: NULLImportance: NULLEventSource: NULLEventUser: NULLEventCategory: NULLEventID: NULLEventBinaryData: NULLMaxAvailable: NULLCurrUsage: NULLMinUsage: NULLMaxUsage: NULLInfoUnitID: 1SysLogTag: root:EventLogType: NULLGenericFileName: NULLSystemID: NULL
4 rows in set (0.00 sec)

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

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

相关文章

6.strchr函数和strrchr函数

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h>/*char *strchr(char const *str, int ch);strchr在字符串中str中查找字符ch第1次出现的位置&#xff0c;找到后函数返回一个指向该位置的指针&#xff1b;如果该字符并不存在于字符串中&a…

EFLK与logstash过滤

目录 一、Filebeat工作原理&#xff1a; 二、为什么要使用Filebeat&#xff1a; 三、Filebeat和Logstash的区别&#xff1a; 四、logstash 的过滤插件&#xff1a; 五、FilebeatELK 部署&#xff1a; 1. 安装filebeat&#xff1a; 2. 设置 filebeat 的主配置文件&#xff1…

RIAC-V架构开发——ecall函数调用分析

1、sbi_ecall函数功能 &#xff08;1&#xff09;sbi_ecall函数是内核调用SBI的接口&#xff0c;在RISC-V架构中定义了SBI规范&#xff0c;内核通过ecall指令来调用SBI接口进而操作硬件&#xff1b; &#xff08;2&#xff09;SBI规范参考官网文档《riscv-sbi.pdf》&#xff1b…

qt_vs_tools 设置

1. 设置qt->general->最后面的QT/MSBUILD 该路径在QT/MSBUILD的本机路径 &#xff08;%LOCALAPPDATA%\QtMsBuild&#xff09; C:\Users\pc\AppData\Local\QtMsBuild 设置后需重启vs才能生效 2. 环境变量设置 path中需添加qt安装路径 E:\ProgramFiles\Qt\6.5.1\msvc201…

Spring Boot Bean 注入的常用方式教程

Spring Boot Bean 注入是一种将依赖对象引入到应用程序组件中的机制&#xff0c;它有助于实现松耦合和可测试的代码。这种注入方式允许我们将依赖关系委托给 Spring 容器来管理&#xff0c;从而提高了代码的可维护性和可读性。Spring Boot 提供了多种 Bean 注入方式&#xff0c…

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案 自从chatGPT掀起的AI大模型热潮以来&#xff0c;国内大模型研究和开源活动&#xff0c;进展也如火如荼。模型越来越大&#xff0c;如何在小显存部署和使用大模型&#xff1f; 本实战专栏将评估一系列的开源模型&#xf…

CICD:Circle CI 实现CICD

持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成&#xff08;CI&#xff09; 集成&#xff0c;就是一些孤立的事物或元素通过某种方式集中在一起&#xff0c;产生联系&#xff0c;从而构建一个有机整体的过程。 持续&#xff0c;就是指长期…

element ui el-table表格复选框,弹框关闭取消打勾选择

//弹框表格复选框清空 this.$nextTick(()>{this.$refs.table.clearSelection();})<el-table ref"table" v-loading"crud.loading" :header-cell-style"{ color: #FFF, background: #333 }":cell-style"{ color: #FFF, background: #3…

Java基础--阳光总在风雨后,请相信彩虹

1、今日任务 JAVA SE-韩顺平视频教程–30p以上&#xff08;今天得50p以上因为是基础&#xff09;计算机基础八股记忆总结刷题&#xff08;两题&#xff09;可以先用python 1、SSM ssm->Spring&#xff08;轻量级的文本开发框架&#xff09;/SpringMVC&#xff08;分层的w…

前端面试题个人笔记(后面继续更新完善)

文章目录 填空题部分简答题部分 if有好答案请各位大佬们在底下评论上&#xff0c;感谢 填空题部分 1、常见的css选择器 2、getElementById获取元素的&#xff08;DOM&#xff09;对象 简答题部分 1、介绍一下你对RESTful API的理解以及它的优势&#xff1f; 答&#xff1a; …

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1)

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1) 假设实现一个简单的功能&#xff0c;对传入要加载的path路径增加一定的筛选、容错或“重定向”&#xff0c;需要自定义一个模型&#xff0c;基于这个模型&#xff0c;让Glide自动匹配模型…

探索RPA流程自动化在不同行业的应用案例

随着数字化的推进&#xff0c;企业建设了大量的业务系统&#xff0c;跨系统的业务流程越发复杂&#xff0c;业务孤岛、 流程孤岛、数据孤岛也随之出现&#xff0c;产生了大量需要人工执行的重复性系统操作流程。而使用RPA能将员工从大量的、重复的、高耗时的工作中解放出来&…

【【萌新的SOC学习之AXI DMA环路测试介绍】】

萌新的SOC学习之AXI DMA环路测试介绍 AXI DMA环路测试 DMA(Direct Memory Access&#xff0c;直接存储器访问)是计算机科学中的一种内存访问技术。它允许某些计算机内部的硬件子系统可以独立地直接读写系统内存&#xff0c;而不需中央处理器&#xff08;CPU&#xff09;介入处…

修改Grafana自动刷新时间为1s

仪表盘设置了1s自动刷新&#xff0c;但是Grafana默认的刷新时间最低是5s&#xff0c;我们需要修改下Grafana的配置文件 grafana.ini配置文件&#xff1a; [dashboards] # Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1 # 要保留的仪表板版本号…

从零开始的LINUX(二)

1.alias: 用法&#xff1a;取别名&#xff0c;此时code1是code的别名&#xff0c;对code1进行操作和对code进行操作结果一致。 如果原本文件名不存在&#xff0c;仍可以正常运行指令&#xff0c;不会报错。 2.stat 显示指定文件或目录的状态、属性。 3.touch 当文件名不存在的…

1.MySQL库的操作

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 1.创建数据库&#xff1a; 语法&#xff1a;create database if not exists db_name charset字符集 collate校验规则 ; if not exists &#xff0c;charset &#xff0c;collate可以不加&#xff0c;直接create database 数…

Vue项目 -- 解决Eslint导致的console报错问题

在利用vue-cli3构建的项目中引入eslint进行语法检查时&#xff0c;使用console.log(‘xxx’)时&#xff0c;控制台抛出了Unexpected console statement (no-console) 异常&#xff0c; 例&#xff1a;一使用console就提示报错 解决办法是&#xff1a; 在 .eslintrc.js 文件中…

Java的异常指什么

Java异常 什么是异常&#xff1f; 程序在执行过程中&#xff0c;出现的非正常情况&#xff0c;如果不处理最终会导致JVM的非正常停止 异常并不是语法错误&#xff0c;语法错误的话编译不会通过&#xff0c;不会产生字节码文件&#xff0c;根本运行不起来 异常的抛出机制&am…

docker离线安装和使用

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://ullx9uta.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo syste…

常见场景面试题(二)

typora-copy-images-to: imgs theme: cyanosis 敏感词库的设计&#xff0c;要求增删改查敏感词。敏感词文本匹配&#xff0c;敏感词一万个&#xff0c;文本长度在 20 - 1000 答&#xff1a;使用 trie 树来实现敏感词库的设计&#xff0c;可以利用字符串公共前缀来节约存储空间。…