首页 > 其他分享 >第八周

第八周

时间:2024-03-20 16:55:05浏览次数:20  
标签:log 第八 192.168 rsyslog var 日志 root

一、总结日志分类, 优先级别。图文并茂解释应用如何将日志发到rsyslog,并写到目标。
facility:设施,从功能或程序上对日志进行归类:

#内置分类

auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user(default), uucp, syslog

#自定义的分类

local0-local7

Priority 优先级别,从低到高排序:

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

应用如何将日志发到rsyslog,并写到目标:

启用网络日志服务,打开对外接收日志的端口,udp监听端口514,把应用上发生的所有info级别及以上的设施都发送到日志服务器上,514收到后就会写到/var/log/syslog文件中
二、完成功能,sshd应用将日志写到rsyslog的local6分类,过滤所有级别,写入到/var/log/ssh.log。
修改sshd服务的配置
[20:06:03 root@rocky88 ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6
 
[20:07:01 root@rocky88 ~]systemctl restart sshd
 
修改rsyslog的配置
[20:10:02 root@rocky88 ~]vim /etc/rsyslog.conf
local6.*     /var/log/ssh.log
 
[20:12:31 root@rocky88 ~]systemctl restart rsyslog
 
logger测试
[20:15:12 root@rocky88 ~]logger -p local6.info "hello sshd"
[20:16:49 root@rocky88 ~]tail /var/log/ssh.log
Dec 16 20:14:02 rocky88 sshd[25937]: Accepted password for root from 192.168.31.175 port 51350 ssh2
Dec 16 20:15:23 rocky88 root[26004]: hello sshd
三、完成功能,将3个主机(要求主机名为ip)的ssh日志,通过rsyslog服务将ssh日志写入到集中的主机上的rsyslog服务,写入到/var/log/all-ssh.log文件
日志服务器上打开对外接收日志的端口
[[email protected] ~]vim /etc/rsyslog.conf
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
 
重启服务
[[email protected] ~]systemctl restart rsyslog.service
 
可以看到udp监听端口514
[[email protected] ~]ss -nul
State        Recv-Q       Send-Q                                Local Address:Port             Peer Address:Port      Process       
UNCONN       0            0                                     127.0.0.53%lo:53                    0.0.0.0:*                       
UNCONN       0            0                              192.168.31.179%ens33:68                    0.0.0.0:*                       
UNCONN       0            0                                           0.0.0.0:514                   0.0.0.0:*                       
UNCONN       0            0                                              [::]:514                      [::]:*                       
UNCONN       0            0                  [fe80::20c:29ff:fe93:2339]%ens33:546                      [::]:*            
 
客户端1配置:
[[email protected] ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6
 
[[email protected] ~]systemctl restart sshd    
 
[[email protected] ~]vim /etc/rsyslog.conf
# Don't log private authentication messages!
local6.info;mail.none;authpriv.none;cron.none                /var/log/all-ssh.log
local6.info                                                  @192.168.31.179:514   
 
[[email protected] ~]systemctl restart rsyslog.service    
 
客户端2配置:
[[email protected] ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6
 
[[email protected] ~]systemctl restart sshd    
 
[[email protected] ~]vim /etc/rsyslog.conf
# Don't log private authentication messages!
local6.info;mail.none;authpriv.none;cron.none                /var/log/all-ssh.log
local6.info                                                  @192.168.31.179:514   
 
[[email protected] ~]systemctl restart rsyslog.service    
 
 
可以在客户端上触发生成日志来测试一下
[[email protected] ~]#logger "This is test log from 192.168.31.55"
 
此时,在日志服务器上就能看到两台客户端发送过来的日志了
[[email protected] ~]tail -f /var/log/all-ssh.log
四、总结/var/log/目录下常用日志文件作用。
/var/log/secure,/var/log/auth.log:系统安全日志,文本格式,应周期性分析
/var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行 查看
/var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
/var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化 将不再记录,也可以通过专用命令
dmesg查看,可持续记录硬件变化的情况
/var/log/boot.log:系统服务启动的相关信息,文本格式,Ubuntu无此文件
/var/log/messages(红帽系统),/var/log/syslog (Ubuntu) :系统中大部分的信息
/var/log/anaconda:anaconda的日志,Ubuntu无此文件
五、总结journalctl命令的选项及示例
日志管理工具 journalctl

journalctl命令格式:

journalctl [OPTIONS...] [MATCHES...]
选项说明:

--no-full, --full, -l  
如果字段内容超长则以省略号(...)截断以适应列宽。   默认显示完整的字段内容(超长的部分换行显示或者被分页工具截断)。
老旧的 -l/--full 选项 仅用于撤销已有的 --no-full 选项,除此之外没有其他用处。
-a, --all  
完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长
-f, --follow  
只显示最新的日志项,并且不断显示新生成的日志项。 此选项隐含了 -n 选项。
-e, --pager-end  
在分页工具内立即跳转到日志的尾部。 此选项隐含了 -n1000,以确保分页工具不必缓存太多的日志行。 不过这个隐含的行数可以被明确设置的 -n  选项覆盖。 注意,此选项仅可用于 less(1) 分页器。
-n, --lines=  
限制显示最新的日志行数。 --pager-end 与 --follow 隐含了此选项。  
此选项的参数:若为正整数则表示最大行数; 若为 "all" 则表示不限制行数;若不设参数则表示默认值10行。
--no-tail  
显示所有日志行, 也就是用于撤销已有的 --lines= 选项(即使与 -f 连用)。
-r, --reverse  
反转日志行的输出顺序, 也就是最先显示最新的日志。
六、完成将多个主机(要求主机名为ip)的nginx日志集中写入到mysql表中
安装MySQL和创建相应账号
[root@centos8 ~]#yum install mysql-server
#在MySQL数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器
[root@centos8 ~]#mysql -u
mysql>source /data/mysql-createDB.sql
mysql>CREATE USER 'rsyslog'@'10.0.0.%' IDENTIFIED BY '123456';
mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'10.0.0.%' ;

配置日志服务器将日志发送至指定数据库

#配置rsyslog将日志保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
#
####MODULES####
#在 MODULES 语言下面,如果是 Ubuntu22.04,20.04和CentOS8 加下面行
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql
#在RULES语句块加下面行的格式
#facility.priority :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
*.info :ommysql:10.0.0.18,Syslog,rsyslog,123456
[root@centos8 ~]#systemctl restart rsyslog.service
#Ubuntu 自动生成以下配置文件,只需要按环境修改
[root@ubuntu2004 ~]#cat /etc/rsyslog.d/mysql.conf
### Configuration file for rsyslog-mysql
### Changes are preserved
module (load="ommysql")
*.* action(type="ommysql" server="10.0.0.18" db="Syslog" uid="rsyslog"
pwd="123456")

验证
#在日志服务器上生成日志
[root@centos8 ~]#logger "this is a test log"
#在数据库上查询到上面的测试日志
mysql>SELECT COUNT(*) FROM SystemEvents;

七、尝试使用logrotate服务切割nginx日志,每天切割一次,要求大于不超过3M, 保存90天的日志, 旧日志以时间为后缀,要求压缩。
[root@rocky8 ~]cat /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
rotate 90
missingok
compress
delaycompress
notifempty
create 644 ngnix nginx
size 1M
postrotate
echo `date +%F_%T` >> /data/test1.log
if [ -f /app/nginx/logs/nginx.pid ]; then
kill -USR1 `cat /app/nginx/logs/nginx.pid`
fi
endscript
}

标签:log,第八,192.168,rsyslog,var,日志,root
From: https://www.cnblogs.com/meishijia8/p/18085612

相关文章

  • pikachu靶场第八关——XSS(跨站脚本)之DOM型xss(附代码审计)
    什么是DOM?简单来说DOM文档就是一份XML文档,当有了DOM标准之后,DOM便将前端html代码化为一个树状结构,方便程序和脚本能够轻松的动态访问和更新这个树状结构的内容、结构以及样式,且不需要经过服务端,所以DOM型xss在js前端自己就可以完成数据的输入输出,不与服务器产生交互,这样来说DO......
  • 学习STM32第八天
    TIM基础1、TIM编码器接口通过定时器的编码器接口进行自动计次,之前的编码器计次是通过触发外部中断然后在中断函数中进行计次,当测量的是高速旋转的电机时,则每秒会产生成千上万个中断,程序会频繁进入中断但是中断所完成的任务又仅仅是简单的加一减一,极大地浪费软件资源。使用......
  • 四剑客第八关面试真题
    四剑客面试真题-21.截取本机IP,并用IP:192.168.5.101的格式显示使用ifconfig命令查看并截取ip:192.168.5.101ifconfigifconfigens33|grep-oE'inet(addr:)?([0-9\.]+)'|grep-Eo'([0-9\.]+)'ipaddrshowens33|grep-oP'(inet\d+(\.\d+){3})'host......
  • 程序是怎么跑起来的第八章
    第八章讲的是源文件和源代码。源代码,记得有几次上机的时候,我们的老师让写书中的习题,我想那就是源代码。可是我不知道什么源代码,我自己理解的意思是最初的代码(在计算机中,源代码的定义为:某种编程语言编写的程序叫做源代码)。在读后第八章后,我有大概明白了,不过我们接触源代码还是挺多......
  • 第八届蓝桥杯省赛 分巧克力(二分)
    题目描述:  思路:给出N个长方形的长和宽,可以分别看长能被分成多少块,宽能被分为多少块,也就是(h/mid)*(w/mid),使其大于等于K所以我们可以通过二分去找,最大的边长是多少AC代码: #include<iostream>usingnamespacestd;typedeflonglongLL;constintN=1......
  • 从JavaSE到项目部署——Java基础学习第八天(Java面向对象编程初级)
    目录一、类与对象(OOP)——类        1、类与对象概述    2、对象在内存中的存在形式     3、属性/成员变量/field(字段)     4、对象创建和使用    5、对象创建过程二、方法    1、方法基本演示    2、方......
  • 第八章 函数探幽
    8.1C++内联函数提出的目的:为了提高程序运行速度。内联函数和普通函数的区别:编译方式:内联函数在编译时会被直接替换到调用处,而不是像普通函数那样通过函数调用的方式执行。这样可以减少函数调用的开销,提高程序执行效率。普通函数则是通过函数调用的方式执行,会涉及函数栈的......
  • 程序是怎样跑起来的第八章有感
    在阅读第八章后,我对程序的内存管理有了更深入的理解。这一章详细介绍了内存的分配和释放机制,以及如何避免内存泄漏和内存溢出等问题。我认识到了内存管理对于程序的重要性。不合理的内存使用可能导致程序性能下降、崩溃甚至出现安全漏洞。通过学习本章内容,我了解到了不同的内存分......
  • 腾讯视频号直播卖货学习第八课-付费投流
    腾讯视频号直播卖货学习第八课-付费投流目前视频号直播分为微信豆,ADQ两种主流投放工具,类比竞媒ADQ约等于千川微信豆加热无挂车视频约等于dou+微信豆加热直播,挂车短视频约等于小店随心推1微信豆让账户快速积累建模,度过冷启动竟对拦截召回老客中小商家 前期阶段......
  • 《程序是怎样跑起来的》第八章
    《程序是怎样跑起来的》第八章CPU可以解析和运行的程序形式称为本地代码将多个目标文件结合形成exe文件的工具称为链接器拓展名为点.OBJ的目标文件的内容是本地代码把多个目标文件收录在一起的文件称为库文件仅包含Windows的DLL文件中储存的函数信息的文件称为导入库在程序......