Linux自学笔记——日志服务之rsyslog

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

日志:历史事件日志
历史事件:
时间,事件
时间级别(日志级别):事件的关键性程度;
事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件:
系统日志服务:
syslog:
syslogd:system
klogd:kernel
事件格式较为简单时,可统一由syslog进行记录:
事件产生的日期时间 主机 进程[pid]:事件内容
支持C/S架构:可通过UDP或TCP协议提供日志记录服务;
rsyslog:
rsyslogd:
特性:
多线程;
UDP,TCP,SSL,TLS,RELP;
存储日志信息于mysql、pgsql、oracle等数据管理系统;
强大的过滤器,实现过滤日志信息中任何部分的内容;
自定义输出格式;
Elk stack:elasticsearch,logstash,kibana
rsyslog日志收集器中的术语:
facility:设施,从功能或程序上对日志收集进行分类:
auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,local0-local7,syslog
priority:优先级,日志级别
debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)
指定级别:
 :所有级别
None:没有级别;
priority:此级别以高于此级别的所有级别;
=priority:仅此级别;
……
程序环境:
主程序:rsyslogd
主配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/
.conf
服务脚本(centos6):/etc/rc.d/init.d/rsyslog
Unit File(centos7):/usr/lib/system/system/rsyslog.service
配置文件格式rsyslog.conf
主要由三部分组成:
MODULES
GLOBAL DRICTIVES
RULES
RULES:
facilty.priority targetbr/>   target:
文件:记录日志事件于指定的文件中;通常应该位于/var/log目录下;文件路径之前的“-”表示异步写入;
用户:将日志事件通知给指定的用户;是通过将信息发送给登录到系统上的用户的终端进行的;
日志服务器:@host,把日志送往指定的服务器主机;
<="" a="" style="margin: 0px; padding: 0px; max-width: 100%;"> Host:即日志服务器地址,监听在tcp或udp协议的514端口以提供服务;
管道:| COMMAND
Linux自学笔记——日志服务之rsyslog 
其他日志文件:
/var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看
/var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看
Lastlog:显示当前系统上的所有用户最近一次登录系统的时间;
/var/log/dmesg:系统引导过程中的日志信息;也可以使用dmesg命令进行查看;
Rsyslog服务器:
编辑配置文件/etc/rsyslog.conf,启用一下选项即可启用rsyslog服务器;
Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

  Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
Linux自学笔记——日志服务之rsyslog

示例:将日志记录在mysql中,以下为大致的步骤:
1.于mysql服务器:准备好mysql服务器,创建用户,授权对syslog数据库拥有全部的访问权限;
2.于rsyslog主机:安装rsyslog-mysql程序包;
3.于rsyslog主机:通过导入createDB.sql脚本创建依赖到的数据库及表;
mysql -uUSER -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
4.配置rsyslog使用ommysql模块
MODULES ####
$ModLoad ommysql

    RULES ####
    Facility.priority   :ommysql:DBHOST,DB,DBUSER,DBUSERPASSWORD
    注意:重启rsyslog服务;
5.Web展示接口:loganalyzer
    1)  配置lamp
        Httpd,php,php-mysql,php-gd
    2)  安装loganalyzer
        #tar xf loganalyzer-3.6.5.tar.gz
        #cp –r loganalyzer-3.6.5/src  /var/www/html/loganalyzer
        #cp –r loganalyzer-3.6.5/contrib/*.sh  /var/www/html/loganalyzer/
        #cd /var/www/html/loganalyzer/
        #chmod +x  *.sh 
        #./configure.sh
        #./secure.sh
        #chmod 666 config.php
测试,通过url访问;

演示:
日志服务器:192.168.19.134
测试主机:192.168.19.138
Mysql主机:192.168.19.138

  1. 启用服务器功能;
    Linux自学笔记——日志服务之rsyslog
  2. 启动rsyslog服务,并测试端口;
    Linux自学笔记——日志服务之rsyslog
  3. 测试在另一台主机上编辑/etc/rsyslog.conf,将target指向此台日志服务器的地址;
    1) 编辑19.138主机上的rsyslog的主配置文件;
    Linux自学笔记——日志服务之rsyslog 
    2) 重启服务并执行一个安装程序;
    Linux自学笔记——日志服务之rsyslog 
    3) 在日志服务器上测试是否有日志;
    Linux自学笔记——日志服务之rsyslog
  4. 记录日志于mysql中;
    1) 授权用户对Syslog数据库的全部访问权限;
    Linux自学笔记——日志服务之rsyslog
    Note:在这里除了要授权本机的权限,还要授权,rsyslog主机访问mysql数据库的权限,否则,远程访问mysql将失败;
    2) 在rsyslog主机上安装rsyslog-mysql程序包;
    Linux自学笔记——日志服务之rsyslog
    3) 在rsyslog主机上通过导入createDB.sql脚本创建依赖到的数据库及表;
    Linux自学笔记——日志服务之rsyslog
    4) 配置rsyslog使用ommysql模块;
    Linux自学笔记——日志服务之rsyslog
    Note:重启rsyslog服务;
    5) 测试;
    在测试主机上安装php,php-mysql,查询mysql服务器数据库Syslog表中的内容;
    Linux自学笔记——日志服务之rsyslog
  5. Web展示接口:loganalyzer
    1) 配置lamp组合
    Httpd,php,php,mysql,php-gd;
    Linux自学笔记——日志服务之rsyslog
    2) 安装loganalyzer
    a. 解压;
    Linux自学笔记——日志服务之rsyslog
    b. 复制相关文件至/var/www/html目录;
    Linux自学笔记——日志服务之rsyslog
    c. 更改.sh结尾文件权限;
    Linux自学笔记——日志服务之rsyslog
    d. 执行脚本;
    Linux自学笔记——日志服务之rsyslog
    e. Config.php文件权限修改;
    Linux自学笔记——日志服务之rsyslog
    f. 测试访问;
    访问页面如下:
    Linux自学笔记——日志服务之rsyslog
    确保config.php权限可写:
    Linux自学笔记——日志服务之rsyslog
    Step7,创建数据源,按如下填写:
    Linux自学笔记——日志服务之rsyslog
    进入页面,showevents选项可以查看日志;
    Linux自学笔记——日志服务之rsyslog

本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/2051737,如需转载请自行联系原作者
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
4月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
672 0
|
6月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
709 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
8月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
11月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
280 7
|
11月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
382 1
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
267 7
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
395 3
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
449 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
323 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据