Linux日志管理实验

Linux日志管理:journald和rsyslog 本节归纳日志管理和主机时间的修改,包括:如何永久查看日志、如何将日志文件保存在自己想要指定的目录中、如何远程同步日志、如何修改日志显示的格式、时间的查看和更改、同步其他主机的时间等 阅读详情

实验

如何将某个服务重新定义日志

  • 环境
    将ssh服务从新定义日志文件和日志级别
实验

1.首先在rsyslog服务的配置文件定义一个符合自己日志类别

[root@centos7 ~]# vim /etc/rsyslog.conf    #rsyslog的主配置文件
# Save boot messages also to boot.log
local7.*                                  /var/log/boot.log
local0.*                                  /var/log/sshd.log # 添加一行这个local0-7没有用的数字,local0.这个里如果写*则表示任何信息的记录,当然也可以选择记录那个级别的
  1. 修改sshd服务的配置文件
[root@centos7 ~]# vim /etc/ssh/sshd_config 
# Logging
#SyslogFacility AUTH
SyslogFacility local0   # 这里修改成刚刚在rsyslog配置文件中定义的名字
#LogLevel INFO    # 这个是日志级别默认是没有启用的
  1. 修改好配置文件后重启这两个服务
systemctl restart sshd
systemctl restart rsyslog
  1. 测试
[root@centos7 ~]# cat /var/log/sshd.log 
Feb  3 15:07:18 centos7 sshd[6206]: Server listening on 0.0.0.0 port 22.
Feb  3 15:07:18 centos7 sshd[6206]: Server listening on :: port 22.
Feb  3 15:07:38 centos7 sshd[6221]: Accepted password for root from 192.168.27.1 port 49380 ssh2
  1. 用logger这个命令来测试local0是否能记录
[root@centos7 ~]# logger -p local0.info "this is a test log"  # 用-p选项
[root@centos7 ~]# cat /var/log/sshd.log                     
Feb  3 15:07:18 centos7 sshd[6206]: Server listening on 0.0.0.0 port 22.
Feb  3 15:07:18 centos7 sshd[6206]: Server listening on :: port 22.
Feb  3 15:07:38 centos7 sshd[6221]: Accepted password for root from 192.168.27.1 port 49380 ssh2
Feb  3 15:28:02 centos7 root: this is a test log

当日志发生时用广播的方式通知特定的用户

  1. 修改rsyslog的配置文件
# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log
local0.*                                                /var/log/sshd.log
local1.*                                                guo,root    #可以通知多个用户,如果是通知多个用户就写*
  1. 重启服务
systemctl  restart rsyslog
  1. 测试
[root@centos7 ~]# logger -p local1.info 'this is test' 
[root@centos7 ~]#  root:this is test    # 这个可以的
  1. 注意用su切换的用户是收不到广播通知,需要登录才可以

实现将日志存放到日志服务器中

  • 将centos7上的日志存放到centos6的主机中进行管理
操作
  • 在centos6中在rsyslog配置文件在启用日志端口监听模块
# Provides UDP syslog reception
$ModLoad imudp      # 加载模块
$UDPServerRun 514   # 监听udp的514端口,因为udp不是安全的传输,所以我们使用tcp

# Provides TCP syslog reception
$ModLoad imtcp      # 加载模块
$InputTCPServerRun 514  # 监听tcp的514端口
  1. 重启服务并且查看端口是否处于监听状态
[root@centos6 ~]# service rsyslog restart 
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
[root@centos6 ~]# ss -ntlu |grep 514
udp    UNCONN     0      0                      *:514                   *:*     
udp    UNCONN     0      0                     :::514                  :::*     
tcp    LISTEN     0      25                    :::514                  :::*     
tcp    LISTEN     0      25                     *:514                   *:*    
  1. 配置centos7的rsyslog配置文件文件
[root@centos7 ~]# vim /etc/rsyslog.conf 
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none                /var/log/messages  # 当开启将日志转发给日志服务器时,本地默认是不会存日志的,所有也可以把这一行注释去掉,这样本地也会存放日志
*.info;mail.none;authpriv.none;cron.none                 @@192.168.27.128  # 如果只是用udp的话只用一个@符号就可以
  1. 重启服务
systemctl restart rsyslog
  1. 测试
[root@centos7 ~]# logger "this is test 2th"
[root@centos7 ~]# logger "this is test 2th"
[root@centos6 ~]# tailf /var/log/messages 
Feb  3 16:34:37 centos7 root: this is test 2=th
Feb  3 16:34:38 centos7 root: this is test 2=th

将日志存放到数据库中

  • 环境
    1. 一台centos6的主机,和一台有mariadb的centos7的主机
    2. 将centos6上的日志存放到centos7中
操作
  1. 用yum或者编译,二进制安装mariadb数据库
[root@centos7 ~]# yum install mariadb-server.x86_64 1:5.5.56-2.el7
[root@centos7 ~]# systemctl enable mariadb 
[root@centos7 ~]# systemctl start mariadb
  1. 在centos6中安装mysql的模块
[root@centos6 ~]# rpm -ql  rsyslog-mysql.x86_64 0:5.8.10-10.el6_6 
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql # 这是一个mariadb脚本,这里会创建表等内容。
package 0:5.8.10-10.el6_6 is not installed
  1. 因为这个脚本在centos6中,所以我们将这个脚本复制掉7中
[root@centos6 ~]# scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 192.168.27.129:
  1. 将这个脚本导入到mariadb中
MariaDB [(none)]> source createDB.sql
Query OK, 1 row affected (0.00 sec)

Database changed
Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

MariaDB [Syslog]>
#  查看是否生成数据库和表
ariaDB [Syslog]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |  # 这个就是生成的数据库
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [Syslog]> 
  1. 创建一个mysql用户并且授权有Syslog数据库的管理权限
MariaDB [Syslog]> flush privileges; # 因为刚刚对数据库做了增的操作,所有要刷新一下
MariaDB [Syslog]> grant all on Syslog.* to syslog@'192.168.27.128' identified by 'guo123456';
Query OK, 0 rows affected (0.00 sec)
  1. 测试一下用这个用户是否可以连接数据库
[root@centos6 ~]# mysql -usyslog -pguo123456 -h192.168.27.129    
Welcome to the MySQL monitor.  Commands end with ; or \g.
  1. 修改centos6上的rsyslog配置文件
#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability
$ModLoad ommysql  # 加载这个模块,就是刚刚用yum安装的
#### RULES ####
*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.27.129,Syslog,syslog,guo123456 #:模块:数据库主机IP,数据库文件,用户名,密码
  1. 重启rsyslog服务
[root@centos6 ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
  1. 测试
MariaDB [Syslog]> select * from SystemEvents\G ; 
*************************** 183. row ***************************
                ID: 183
        CustomerID: NULL
        ReceivedAt: 2017-11-11 04:13:15
DeviceReportedTime: 2017-11-11 04:13:15
          Facility: 1
          Priority: 5
          FromHost: centos6
           Message:  test
        NTSeverity: NULL
        Importance: NULL
       EventSource: NULL
         EventUser: NULL
     EventCategory: NULL
           EventID: NULL
   EventBinaryData: NULL
      MaxAvailable: NULL
         CurrUsage: NULL
          MinUsage: NULL
          MaxUsage: NULL
        InfoUnitID: 1
         SysLogTag: root:
      EventLogType: NULL
   GenericFileName: NULL
          SystemID: NULL
183 rows in set (0.00 sec)
  • 当然这样看非常不方便,我们可以让它在web页面显示,
  • 这里我们还需要一台当web服务器的机器,安装httpd,php等安装包
  • web服务器的配置,为了省事这里都是以yum安装的,当然如果要定制就要用编译安装这些
 yum install -y httpd php-gd php php-mysql
  1. 测试一下http是否可以连接到数据,当然还需要在数据库中创建一个账号,因为syslog这个账号只能192.168.27.128能连接
MariaDB [(none)]> grant all on Syslog.*  to log@'192.168.27.%' identified by 'guo123456';
Query OK, 0 rows affected (0.00 sec)
[root@localhost html]# vim /var/www/html/info.php      
 <?php
$mysqli=new mysqli("192.168.27.129","log","guo123456");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo "OK";
$mysqli->close();
?>
# 启动服务
[root@localhost html]# systemctl start httpd
  1. 测试一下
    mark
    • 可以正常连接数据库
  2. 下载loganalyzer这是一个php写的程序用来展示数据库中的日志
 tar xvf loganalyzer-4.1.6.tar.gz 
 cd loganalyzer-4.1.6
 cp -r src /var/www/html/log    # 因为解压出来很多文件,我们只需要src的目录的文件
 touch  /var/www/html/log/config.php  # 创建这个文件这是向导是要写的配置
chmod 666 /var/www/html/log/config.php  # 改权限
  1. 现在打开浏览器进行向导
    mark
    mark
    mark
    mark
    mark
    • 这里一定要注意,数据库需要到mysql查一下表
      mark
    • 这样就完成
      mark
  2. 将刚刚的配置文件权限修改一下
chmod 644 /var/www/html/log/config.php
SSH日志管理系统 该项目为日志管理系统,基于SSH三大框架开发的,非Maven项目,适合SSH初学参考,也可作为SSH课程设计。有需要的可以下载看看。 立即下载

相关推荐

LAN8720芯片硬件设计避坑指南:从晶振选择到PHY地址配置的5个关键细节

本文深入解析LAN8720以太网PHY芯片硬件设计的五个关键细节,涵盖晶振模式选择、PHY地址配置、复位电路设计、电源滤波与接口布线。重点阐述了REF_CLK Out与REF_CLK In两种时钟模式的配置逻辑与应用场景,提供了避免通信失败与信号完整性问题的实战方案,是嵌入式网络硬件开发的实用避坑指南。

i1j2k的博客 514

SSH秘钥登录配置与系统日志管理

SSH秘钥登录配置与系统日志管理

weixin_64655821的博客 2525

功率开关管驱动串扰(Crosstalk):深度解析与优化方案

介绍了功率开关器件驱动串扰产生机理,并整理了常见的工程应用优化措施

qq_38326420的博客 556

ssh日志的独立与ssh远程日志

1.系统日志:是记录了历史事件:包括时间地点人物事件等。日志级别:事件的关键性程度,Loglevel。级号消息级别说明0EMERG紧急会导致主机系统不可用的的情况1ALERT警告必须马上采取措施解决的问题2CRIT严重比较严重的情况3ERR错误运行出现错误4WARNING提醒可能会影响系统功能的事情5NOTICE注意不会影响系统但值得注意6INFO信息一般信息7DEBUG调试程序或系统调试信息等。

2301_78327423的博客 1857

嵌入式NTC温度解算库:Steinhart-Hart定点实现与硬件解耦设计

NTC热敏电阻是嵌入式系统中最常用的模拟温度传感器,其阻值-温度关系高度非线性,需依赖Steinhart-Hart方程实现高精度转换。该方程通过三参数对数多项式建模,理论上可将误差控制在±0.1°C以内,但直接移植到MCU面临浮点开销大、定点溢出、系数精度损失等工程瓶颈。为此,归一化处理(ln(R/R₂₅))、Q24.8定点运算、查表+插值对数计算等优化技术成为资源受限场景下的关键技术路径。其核心价值在于将ADC采样与温度解算彻底解耦,适配各类HAL/裸机/RTOS环境,广泛应用于电池管理、工业PLC、Io

weixin_35756624的博客 647

Windows 11 部署 Docker Desktop:从 WSL 报错到服务配置的完整排障实录

本文详细记录了在Windows 11上部署Docker Desktop时遇到的WSL报错问题及完整解决方案。从Hyper-V配置、BIOS设置到系统服务检查,提供了一系列实用命令和排查步骤,帮助开发者快速解决'Unexpecter WSL error'等常见问题,实现Docker与WSL2的稳定运行。

weixin_30687051的博客 120

SSH框架下项目的日志文件配置

SSH框架下项目的日志文件配置 一、导入开发包: 有这么几个: 1、log4j-1.2.*.jar  建议添加log4j-1.2.12 之后的版本。 2、slf4j-api-1.7.5 3、slf4j-log4j12-1.7.5 这里两个slf4j的版本最好对应。 关于开发包,slf4j可能会报这样两个错误: 1.Failed to load class org.slf4j.impl

kuku713的专栏 2404

GD32F103RCT6/GD32F303RCT6(6.2)USART串口实战:从寄存器配置到DMA高效传输

本文详细介绍了GD32F103RCT6和GD32F303RCT6的USART串口通信实战,从寄存器配置到DMA高效传输的全过程。通过具体的代码示例和优化建议,帮助开发者快速掌握串口通信的关键技术,提升嵌入式开发效率。特别强调了DMA在高速数据传输中的优势和应用技巧。

weixin_33725239的博客 308

sftp 配置 log

1、修改ssh的配置 vi /etc/ssh/sshd_config 在36行左右修改如下配置 Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f local5 LogLevel INFO 2、修改rsyslog配置 vi /etc/rsyslog.conf 在最后增加如下配置 auth,authpriv.*...

daxian_am461的博客 1038

安装m_map以及用matlab绘制高精度海岸线地图

#如何用matlab绘制高精度海岸线地图

qq_38512775的博客 1万+

JAVA:Spring Boot 集成 LibreOffice 实现文档在线转换服务

本文介绍了在企业级应用开发中使用LibreOffice实现文档格式转换的技术方案。通过对比分析商业库、纯Java方案和云服务API的优缺点,重点阐述了LibreOffice在格式兼容性、转换质量和零成本方面的优势。文章详细说明了环境准备步骤,包括Windows/Linux系统安装LibreOffice、解决中文乱码问题以及Docker部署方案。最后提供了Spring Boot项目的基本配置,包括Maven依赖和application.yml配置文件,为构建稳定高效的文档转换服务奠定基础。

木头 520

Linux系统日志配置实验

日志配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf 实验:将ssh服务的日志换个位置存储 vim /etc/ssh/sshd_config 原来是这样的 #SyslogFacility AUTHPRIV 注释掉 SyslogFacility local1 LogLevel INFO 去掉注释 vim /etc/rsyslog.c

Ruoshuiss的博客 665

Wi-Fi QoS中AIFSN/CWmin/CWmax/TxOP参数是怎样计算的?

802.11e/WMM的EDCA机制通过AIFS、CWmin/CWmax和TxOP三组参数实现业务优先级控制。AIFS决定最短等待时间(AIFS=SIFS+AIFSN×SlotTime),CWmin/CWmax定义退避范围(2^ECW-1),TxOP设置最大占用时长(32µs单位)。默认配置中,语音业务(VO)优先级最高,其AIFSN最小(2)、CW范围最小(3-7)、TxOP适中(1.504ms);视频(VI)次之;普通数据(BE)和后台(BK)优先级最低。调优需根据网络特性调整参数:VoIP可降低AIF

1042484520@qq.com(邮箱) 1746

linux日志管理实验,linux系统日志管理

实验目标:通过本实验掌握centos7/rhel7下journalctl和rsyslog日志工具的使用,建立通过查看日志分析排错的思路,以及日志内容的查找,分类重定向的使用。实验步骤:1、 不配置本机IP地址,但试着启动DHCP服务,会报错2、 运行journalctl工具,从日志中查×××报错的原因3、 将特定时间的日志,比如10:30到11:50之间,写入systeminfo.txt文件...

weixin_30082367的博客 313

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linux日志管理

本文中简述了日志的基本概念,以及日志从哪里来,到哪里去,为什么要到哪里去,这就涉及到了rsyslogd程序和logrotate日志轮转,并且本文还对rsyslogd和logrotate进行了类似与实战的实验

wjy的博客 1685

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Linux 系统的日志管理

############################### # 实验环境 # ############################### localhost1: 172.25.254.101 localhost2: 172.25.254.201 root&localhost1: systemctl stop firewalld ############################### # 1.journald # ########...

Sun__s的博客 257

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux系统的日志管理

一、rsyslog服务 这个服务时linux系统中采集日志的服务,下面我们用实验来证明它的作用: 1##为了看的更清楚,我们先清空一次/var/log/message中的日志,然后重启sshd服务,再查看message中的日志内容,如下图:   发现重启sshd这一动作已经被记录进了messages这个日志文件中。 ##2.下来我们试着关掉rsyslog这个服务,然后再清除掉messa...

qq_40628106的博客 333

速通Linux日志管理Rsyslog

var/log/boot.log #系统启动信息/var/log/cron #系统中周期化任务日志/var/log/maillog #邮件日志/var/log/messages #服务常规信息,服务启动报错/var/log/secure #系统认证日志#####对于参数的解释##########%FROMHOST-IP% #生成日志的ip#%timegenerated% #生成日志的时间#%syslogtag% #生成日志的程序。

ZZZKKKRTSAE的博客 461

C02S12-Linux文件系统和日志管理

日志系统记录着操作系统或者是应用运行期间所有信息的文件,记录了一些必要信息、关键信息。判断系统或者是应用是否正常运行。记录故障信息,告诉用户故障产生的原因。日志主要有两大类,一类是系统日志,另一类是服务日志。操作系统的日志保存在/var/log目录下,CentOS系统的日志保存在/var/log/messages,Ubuntu系统的日志保存在/var/log/syslog。服务日志的保存位置有多种,一般是在/var/log/服务名称中;自定义日志目录,修改服务配置,可以自定义服务日志文件的存放位置。

Lin_Nong的博客 1163

Rsyslog实验

默认日志/var/log/boot.log #系统启动信息/var/log/cron #系统中周期化任务日志/var/log/maillog #邮件日志/var/log/messages #服务常规信息,服务启动报错/var/log/secure #系统认证日志#日志存储位置为*.* /var/log/sysmessages #自定义日志存放,第一个*为日志类型,第二个*为日志级别*.info;mail.none;

YNA的博客 466

第10单元Linux运维——日志管理

两者相同

qq_27172205的博客 478

文件系统和日志管理

文件系统:文件系统提供了一个接口,用户用来访问硬件设备(硬盘)。文件存储在硬盘上,硬盘最小的存储单位是512字节,扇区。文件在硬盘上的最小存储单位:块 block一个块的大小是4k,一个块就是连续的8个扇区。存储文件的方式:实际数据 和 元信息实际数据:文件内部的数据保存在硬盘上元信息:文件的所有者,所在组,最后一次修改时间,文件的大小,文件的权限等存储元信息的标识:inode号inode不包含文件名,每个文件(目录)创建都会分配一个全局(当前设备)唯一的识别码。

云计算练习生X的博客 866

【Linux操作系统】探秘Linux奥秘:日志管理的解密与实战

博文“日志管理”深入探讨了有效日志管理的重要性与实践方法。文章首先强调了日志在系统运维和安全监控中的关键角色,指出其对于问题排查、性能优化等方面的不可替代性。进而,文章详细介绍了如何规划、收集、存储和分析日志,以确保系统的可靠性和安全性。从日志级别的设置到日志轮转的策略,文章提供了全面的日志管理指南,助力读者建立高效、可维护的日志系统。

朝花夕拾 7844

Linux日志管理全知识点与实战

实验目标:为第一阶段创建的配置轮转规则(每天轮转、保留 7 天、压缩、轮转后通知)。

ljx200478的博客 1162

Linux系统中的日志管理(一)

提示: 目录一、实验环境1.二、日志查看工具 journalctl1.服务名称2.日志存放位置三、journal日志采集方法1. journalctl命令2.用journald服务永久存放日志四、rsyslog:可以日志采集规则1.日志存放2.日志存放规则的配置文件五、rsyslog日志采集格式设定1.定义日志采集格式:六、在westosa中设定接收所有人的日志六、timedatectl 命令的使用1.七、时间同步服务1. 一、实验环境 1. 二、日志查看工具 journalctl 日志:程序在和操作者

weixin_44992260的博客 1811

运维大法之Linux系统中的日志管理

############################### 实验环境 ############################### westos_linux: 172.25.254.10 westos_node1: 172.25.254.20 wesots_linux&westos_node1: systemctl stop firewalld ###################...

with_cat的博客 219
上一篇: shell-脚本-字符串切片
下一篇: linux日志笔记
ITlinuxP
博客等级 码龄9年 56粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值