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

【懒人运维】rsyslog+mysql+loganalyzer 日志服务器搭建

文章目录运行环境数据库配置rsyslog配置loganalyzer安装防火墙配置《中华人民共和国网络安全法》第二十一条第三项明确规定网络运营者必须采取监测、记录网络运行状态和网络安全事件的技术措施并按照规定留存相关的网络日志不少于六个月‌。‌目前市面上日志类产品接近10W左右功能对于一些小公司来说有些过剩。在这里分享一个我自己基于开源组件搭建的日志服务器PC电脑即可满足性能要求对于法律中的存储要求绰绰有余。不过loganalyzer的展示、搜索功能满足要求分析功能差强人意大家可按需搭建。我自己也针对rsyslog的数据库接口写了一个API数据接口服务后续将放在仓库里共享可配合数据分析脚本使用。运行环境操作系统CentOS 7数据库mysql5.6 yum 默认安装rsyslogd8.24.0 系统自带中间件httpd (Apache) 2.4.6 (yum 默认安装)运行环境php、php-mysql、gd、gd-devel、php-gd (yum 默认安装)loganalyzer4.1.6 (官网下载)其他运行环境安装、配置类似如有差异自行豆包数据库配置1、修改配置文件: /etc/my.cnfskip_name_resolveONinnodb_file_per_tableONinteractive_timeout28800000wait_timeout28800000#防止中文乱码character-set-serverutf8init_connectSET NAMES utf82、安装rsyslog连接至mysql的驱动模块yuminstallrsyslog-mysql安装完成后查看安装结果[rootlocalhost rsyslog-8.24.0]$rpm-qlrsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sqlommysql.so -- rsyslog输出时用到的模块,需要在/etc/rsyslog.conf配置文件里进行配置mysql-createDB.sql -- 帮我们生成rsyslog所依赖的数据(表,字段,表结构等等)的sql脚本3、导入rsyslog表结构mysql-uUSER-hHOST-pPASSWORD/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql查看执行结果mysqlshowdatabases;--------------------|Database|--------------------|information_schema||Syslog||mysql||performance_schema|--------------------4rowsinset(0.00sec)mysqluseSyslog Readingtableinformationforcompletionoftableandcolumnnames You can turnoffthis featuretoget a quicker startupwith-ADatabasechanged mysqlshowtables;------------------------|Tables_in_Syslog|------------------------|SystemEvents||SystemEventsProperties|------------------------2rowsinset(0.00sec)4、建立syslog专用的用户账号(数据库名叫Syslog用户名和密码自己改)GRANTALLONSyslog.*TOrsyslog127.0.0.1IDENTIFIEDBYabcd1234;GRANTALLONSyslog.*TOrsysloglocalhostIDENTIFIEDBYabcd1234;flushprivileges;5、修改表结构可以不操作rsyslogd数据默认不会存储客户端IP信息为保存客户端IP地址修改数据库表结构添加FromIP字段mysqluseSyslog;Readingtableinformationforcompletionoftableandcolumnnames You can turnoffthis featuretoget a quicker startupwith-ADatabasechanged mysqlaltertableSystemEventsaddFromIPvarchar(60)defaultnullafterFromHost;Query OK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0若执行本步操作后rsyslog.conf中template insertpl语句为(自行对比差异)$template insertpl,insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (%msg%, %syslogfacility%, %HOSTNAME%, %fromhost-ip%, %syslogpriority%, %timereported:::date-mysql%, %timegenerated:::date-mysql%, %iut%, %syslogtag%),SQLrsyslog配置1、编辑配置文件: /etc/rsyslog.conf在此只介绍修改后的配置项其余项默认即可$template insertpl,insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (%msg%, %syslogfacility%, %fromhost-ip%, %syslogpriority%, %timereported:::date-mysql%, %timegenerated:::date-mysql%, %iut%, %syslogtag%),SQL $template Remote,/var/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log :fromhost-ip, !isequal, 127.0.0.1 ?Remote :fromhost-ip, !isequal, localhost ?Remote if $fromhost-ip ! 127.0.0.1 and $fromhost-ip ! localhost then { $ModLoad ommysql *.info,*.notice,*.warning;*.err;*.crit;*.alert;*.emerg :ommysql:127.0.0.1,Syslog,rsyslog,abcd1234;insertpl } # The imjournal module bellow is now used as a message source instead of imuxsock. $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imjournal # provides access to the systemd journal $ModLoad imklog # reads kernel messages (the same are read from journald) $ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception #$ModLoad imtcp #$InputTCPServerRun 514FACILITY定义服务类型功能、描述符号syslog序列号kern内核信息LOG_KERN0user用户进程LOG_USER1mail邮件LOG_MAIL2daemon后台进程LOG_DAEM3authpriv授权信息LOG_AUTH4syslog系统日志LOG_SYSLOG5lpr打印信息LOG_LPR6news新闻组信息LOG_NEWS7uucpUUCP程序LOG_UUCP8cron计划和任务信息LOG_CRON9认证消息LOG_AUTHPRIV10FTP daemonLOG_LOGTP11NTP subsystemLOG_NTP12log auditLOG_AUDIT13log alertLOG_ALERT14clock daemonLOG_CLOCK15local0-local7本地用户LOG_LOCALn16-23PRIORITY定义优先级含义符号syslog序列号debug调试级——信息量最多LOG_DEBUG7info通知性消息LOG_INFO6notice普通但重要的消息LOG_NOTICE5warning警告消息LOG_WARNING4err出错消息LOG_ERR3crit重要消息LOG_CRIT2alert紧急消息LOG_ALERT1emerg最紧急的消息LOG_EMERG0none不保存信息2、重启rsyslogservicersyslog restartloganalyzer安装loganalyzer安装比较简单按步骤慢慢来就行。参考网站http://www.ifzhai.com/article.php?id9Tips:安装时先关闭selinux否则会因无法写入文件而报错坑啊测试时被坑了一天。。。修改文件 /etc/selinux/configSELINUXdisabled这一步骤还可以使用命令直接修改sed-is#SELINUXenforcing#SELINUXdisabled#g/etc/selinux/configCentOS 6.9及以下好像没这个问题没测试过防火墙配置CentOS 7开始使用firewalld默认的防火墙代替iptables(相比iptablesfirewalld真难用)#开放80端口(网段自己加)firewall-cmd--permanent--add-rich-rulerule familyipv4 source addressxxx.xxx.xxx.0/24 port procotoltcp port80 accept #开放514端口(网段自己加)firewall-cmd--permanent--add-rich-rulerule familyipv4 source addressxxx.xxx.xxx.0/24 port procotoludp port514 accept #对调试机开放3306firewall-cmd--permanent--add-rich-rulerule familyipv4 source addressxxx.xxx.xxx.xx port procotoltcp port3306 accept #限制ssh登陆firewall-cmd--permanent--remove-servicessh firewall-cmd--permanent--add-rich-rulerule familyipv4 source addressxxx.xxx.xxx.xx port procotoltcp port22 accept #加载防火墙策略firewall-cmd--reload#查看防火墙策略firewall-cmd --list-all

相关文章:

【懒人运维】rsyslog+mysql+loganalyzer 日志服务器搭建

文章目录运行环境数据库配置rsyslog配置loganalyzer安装防火墙配置《中华人民共和国网络安全法》第二十一条第三项明确规定,网络运营者必须采取监测、记录网络运行状态和网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月‌。‌目前&…...

[Deep Agents:LangChain的Agent Harness-03]FilesystemMiddleware:赋能Agent读写文件及管理长上下文

通过“构建抽象的文件系统”我们知道,Deep Agents的文件系统是建立在一个利用BackendProtocol协议抽象的文件系统之上的,使得Agent能够以统一的方式进行文件操作,无论底层存储是本地磁盘、云端S3、数据库还是内存。这种设计不仅提供了极大的灵…...

6条Claude Code实践中的经验与思考

Claude Code系列回顾 目前在实践和应用Claude Code,顺便分享一些在实践过程中的经验,没想竟然写成一个系列了。如果你也对Claude Code感兴趣,可以先回顾一下之前的文章,然后开始今天的文章。 第1篇:《国内环境下的Cl…...

OpenPicoRTOS:ARM Cortex-M微控制器上的极简实时操作系统设计与实战

1. 项目概述:一个为微控制器而生的实时操作系统如果你在嵌入式领域摸爬滚打过几年,尤其是在资源极其受限的微控制器(MCU)上开发过复杂应用,那你一定对“实时性”和“资源占用”这对矛盾深有体会。商业RTOS(…...

从白炽灯到LED:家庭节日照明升级的技术原理、选购与实战指南

1. 从白炽灯到LED:一个拖延了三年才完成的家庭照明升级 每年一到这个时候,看着邻居家窗户上闪烁的彩灯,再看看自家车库里那几箱缠成一团、每年都要花半天时间测试维修的旧灯串,我就下定决心:今年一定要换成LED的。这个…...

基于React与Vite的现代化开源仪表盘开发实战指南

1. 项目概述:一个面向开发者的开源仪表盘解决方案最近在折腾一个内部监控系统,需要快速搭建一个数据可视化的前端界面。找了一圈现成的方案,要么太重,要么定制化程度不够,要么就是设计风格过于陈旧。直到在GitHub上发现…...

苏州沃虎电子(VOOHU)功率线用共模电感WHACM07A40R101产品介绍

苏州沃虎电子科技有限公司(品牌:VOOHU)供应的 WHACM07A40R101 是一款高性能功率线用共模电感,采用紧凑的7.06.04.0mm封装,专为电源线电磁干扰(EMI)抑制设计。该产品具备大电流承载能力和优异的共…...

面向零基础初学者,从环境搭建到发布上线,手把手教你开发第一个微信小程序(第5章-WXSS入门)

5.1 WXSS是什么? WXSS(WeiXin Style Sheets)是微信小程序的样式语言,类似于网页开发中的CSS。 WXSS vs CSS对比CSSWXSS选择器支持完整选择器支持大部分选择器单位px, em, remrpx, px布局flex, grid主要用flex最大的区别&#xff1…...

AI编码助手效率革命:ai-codex工具如何通过静态分析生成项目索引

1. 项目概述:为AI编码助手打造“即时上下文”如果你和我一样,每天都在和Claude Code、Cursor或者GitHub Copilot这类AI编码助手打交道,那你肯定也经历过这个“启动成本”的烦恼:每次开启一个新对话,助手做的第一件事就…...

30个客户,30本定制手册:文档团队的噩梦

上周,一家做大型设备的文档主管给我算了一笔账。他们有30个大客户,每个客户都要求专属手册。A客户要求LOGO换成他们的,操作界面术语用他们的内部叫法;B客户要求删除某些技术参数,只保留操作步骤;C客户要求所…...

技能迁移器:构建个人开发环境一键迁移框架的设计与实践

1. 项目概述:技能迁移器的核心价值最近在GitHub上看到一个挺有意思的项目,叫“skill-migrator”。光看名字,你可能会联想到数据迁移或者系统迁移,但它的核心其实是关于“人”的——如何将一个人的技能、知识、乃至工作习惯&#x…...

ECHO框架:语言驱动机器人控制的边缘-云协同技术

1. ECHO框架:语言驱动人形机器人控制的边缘-云协同架构在机器人控制领域,如何让机器人理解并执行自然语言指令一直是个关键挑战。传统方法要么受限于硬件计算能力,要么面临语义理解与实时控制的矛盾。ECHO框架通过创新的边缘-云协同架构&…...

【STM32】启动过程分析

本文记录一下STM32F4系列的启动过程,也就是从STM32芯片上电复位执行的第一条指令,到执行用户编写的main函数这之间的过程。1.启动模式上电复位,硬件复位和软件复位。当产生复位,并且离开复位状态后,CM4 内核做的第一件…...

OpenClaw任务控制中心:构建自动化工作流的轻量级调度平台

1. 项目概述与核心价值最近在折腾一些自动化任务时,发现很多开源工具虽然功能强大,但往往需要自己写胶水代码来串联,或者需要一个统一的界面来管理和监控。这让我想起了以前在运维和开发中经常遇到的痛点:脚本分散、日志难查、状态…...

总结“从输入URL到展示出页面“ 过程发生了什么

当我们在浏览器地址栏输入URL并按下回车后,背后会经历一系列复杂的步骤,最终将网页内容呈现在眼前,整个过程可以分为以下几个阶段:一、URL解析与处理浏览器首先会判断输入的内容是否为合法URL,如果是域名(如…...

javassit使用过程的坑

https://segmentfault.com/a/1190000044154053 https://blog.csdn.net/Kingairy/article/details/104003524 经过不断的试错和研究&#xff0c;总结如下&#xff1a; 以CtMethod#setBody 方法为例 不要在代码中使用范型&#xff0c;哪怕是定义List<Object>这样基础范型…...

L-system与硬件补偿技术在自动钢琴音乐生成中的应用

1. L-system与硬件补偿技术概述L-system&#xff08;Lindenmayer系统&#xff09;作为一种形式化语法&#xff0c;最初由生物学家Aristid Lindenmayer于1968年提出&#xff0c;用于模拟植物的生长过程。其核心机制是通过字符串重写规则生成具有自相似性的复杂结构。在音乐生成领…...

从零构建团队专属CLI工具:自动化项目脚手架与代码生成实践

1. 项目概述&#xff1a;一个命令行工具的诞生与价值最近在整理自己的工具链&#xff0c;发现一个挺有意思的现象&#xff1a;很多开发者&#xff0c;包括我自己&#xff0c;都习惯性地把一些高频、重复的脚本操作散落在各个项目的根目录下&#xff0c;或者干脆写个简陋的Makef…...

实战入口:Claude 到底在哪用?网页版、桌面端与多端场景全解

最近在 se.zzmax.cn 上直接体验 Claude 各型号&#xff0c;发现很多同学第一次想用 Claude&#xff0c;卡住的往往不是“怎么问”&#xff0c;而是“从哪儿进”。Anthropic 目前提供了多个官方入口&#xff0c;不同入口适配的使用场景、能力和 workflow 集成深度并不一样。下面…...

MCP协议赋能Ollama:本地大模型工具调用的标准化实践

1. 项目概述&#xff1a;当MCP遇上Ollama&#xff0c;本地AI工作流的“最后一公里” 如果你和我一样&#xff0c;是个喜欢折腾本地大模型的开发者&#xff0c;那你肯定对Ollama不陌生。它让在本地运行Llama、Mistral、Qwen这些开源大模型变得像 ollama run llama3.2 一样简单…...

redis 8.6.3 最新版重磅发布:安全修复、核心 Bug 修复与模块优化全面升级

2026年5月5日&#xff0c;Redis 8.6.3 正式发布。 这是一个非常值得关注的版本&#xff0c;因为官方明确标注了 Update urgency: SECURITY&#xff0c;说明本次更新包含安全修复&#xff0c;建议尽快升级。 从发布内容来看&#xff0c;8.6.3 不只是一次常规的小版本迭代&#x…...

2026-05-09:不同元素和至少为 K 的最短子数组长度。用go语言,给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组,使得这个子数组里不同元素的种类数对应的取值之

2026-05-09&#xff1a;不同元素和至少为 K 的最短子数组长度。用go语言&#xff0c;给定一个整数数组 nums 和一个整数 k。你需要在数组中找一个连续的非空子数组&#xff0c;使得这个子数组里不同元素的种类数对应的取值之和&#xff08;也就是&#xff1a;每个数只算一次&am…...

【Python实战】告别杂乱脚本!基于SOLID原则与策略模式的 PDF转Word 批量处理系统

&#x1f4dd; 前言&#xff1a;为什么要造这个“轮子”&#xff1f; 在日常的学习和开发中&#xff0c;我们经常遇到需要将大量 PDF 转换为 Word 文档的场景。市面上的在线工具要么满屏广告&#xff0c;要么限制文件大小和数量&#xff1b;而网上的 Python 脚本往往是简单的“…...

告别冗余!Linux软件卸载命令全攻略,让你的系统焕然一新

还在为Linux系统软件残留烦恼吗&#xff1f;本攻略汇集APT、YUM、DNF、RPM等主流包管理器的卸载命令&#xff0c;并提供手动安装软件的清理方法。告别臃肿&#xff0c;轻松卸载&#xff0c;让你的Linux系统告别卡顿&#xff0c;运行如飞。在Linux系统中&#xff0c;卸载软件的方…...

【线性代数笔记】秩、线性相关性与等价向量组的核心逻辑总结

博主简介&#xff1a;05后理工男&#xff0c;CSDN 技术博主。目前正在攻读计算机专业&#xff0c;同步复习 408 及数学基础。 笔记说明&#xff1a;本文为线性代数关于“秩”与“向量组相关性”的学习笔记&#xff0c;重点记录了判定方法与核心定理。一、 线性表示与方程组解的…...

Cursor AI编程效率追踪器:本地化数据采集与可视化分析实践

1. 项目概述&#xff1a;一个为开发者量身定制的效率追踪器最近在GitHub上看到一个挺有意思的项目&#xff0c;叫cursor-usage-tracker。光看名字&#xff0c;你可能觉得这又是一个平平无奇的“使用情况追踪器”。但如果你是一位深度使用Cursor&#xff08;那个集成了AI能力的现…...

BarTender如何取消激活和重新激活

一、取消激活1、多台电脑、服务端取消激活方法A、打开Administration ConsoleB、许可—选中当前许可证—右键选择取消激活许可证C、点击下一步D、取消激活中E、取消激活成功&#xff0c;许可证没有处于激活的状态2、只安装了单台电脑的情况取消激活可以按照上述取消激活方式进行…...

OpenClaw三层记忆系统:为AI助手构建可检索的长期知识库

1. 项目概述如果你和我一样&#xff0c;长期与各种AI助手打交道&#xff0c;无论是编程、写作还是日常任务规划&#xff0c;最头疼的问题之一就是“记忆”。每次对话都像是一次全新的邂逅&#xff0c;助手记不住你昨天提到的项目细节&#xff0c;也忘了上周讨论过的技术方案。这…...

WebMCP:连接Web应用与AI模型的统一协议服务器实践

1. 项目概述&#xff1a;一个连接Web应用与AI模型的“万能适配器”最近在折腾一些AI应用开发时&#xff0c;我遇到了一个挺典型的痛点&#xff1a;手头有各种功能强大的大语言模型&#xff08;LLM&#xff09;&#xff0c;比如OpenAI的GPT、Anthropic的Claude&#xff0c;或者开…...

Aegis-Veil:轻量级可编程应用安全中间件实战指南

1. 项目概述&#xff1a;一个面向开发者的安全防护工具 最近在梳理自己项目的安全配置时&#xff0c;又想起了之前用过的一个挺有意思的工具——Aegis-Veil。这名字听起来就很有“盾与面纱”的意味&#xff0c;直指其核心&#xff1a;为你的应用或服务提供一层坚固的防护&#…...