日志管理与LVS不同模式的实现

1.日志分类及其优先级别,以及其如何发到syslog。

 日志分为两大类:一中是内置的分类,另外一种是自定义的分类
  内置的分类:auth、authpriv、cron、daemon、ftp、kern、lpr、mail、news、security(auth)、user(default)、uncp、syslog
  自定义的分类:local0-local7
 日志的优先级别:从低到高
  debug>info>notice>warn(warning)>error>crit(critical)>alert>emerg(panic)
在这里插入图片描述

2.完成功能sshd应用将日志写到rsyslog的local6分类,过滤所有级别,写入到/var/log/ssh.log

[root@openeuler ~]$vim /etc/ssh/sshd_config
#将该参数进行更改SyslogFacility local6
[root@openeuler ~]$systemctl restart sshd.service #重启ssh服务
[root@openeuler ~]$vim /etc/rsyslog.conf
#添加一条新规则	local6.*                                       /var/log/ssh.log
[ root@openeuler ~]$systemctl restart rsyslog.service #重启rsyslog服务
#进行测试
[ root@openeuler ~]$tail -f /var/log/ssh.log 
#然后在开一个窗口对该设备进行登录就可以看到信息了。

在这里插入图片描述

[ root@openeuler ~]$tail -f /var/log/ssh.log #在不关闭的前提下使用也可以看到信息的输出
[ root@openeuler ~]$logger -p local6.info "local6 is ssh service"

3.完成功能,将3个主机的ssh日志,通过rsyslog服务将ssh日志写入到集中的主机上的rsylog服务,写入到/var/log/all-ssh.log文件

实验环境4台设备,centos8为日志服务器,openeuler一台,两台Rocky9。
在这里插入图片描述

 在centos8上日志服务器进行如下配置

#1.关闭防火墙
[root@centos8 ~]$systemctl stop firewalld.service
#2.禁用selinux
[root@centos8 ~]$vim /etc/selinux/config 
SELINUX=disabled
#3.修改sshd配置文件
[root@centos8 ~]$vim /etc/ssh/sshd_config 
SyslogFacility AUTH
#4.修改rsyslog配置文件
[root@centos8 ~]$vim /etc/rsyslog.conf 
module(load="imudp") # 若该配置文件中有这行则将其取消注释,如果没有则添加该两行
input(type="imudp" port="514")
#### RULES #### #在该规则模块中加入该行,将所有的auth分类全部写入到该文件中
auth.*                                                  /var/log/all-ssh.log
#5.重启sshd服务与rsyslog服务
[root@centos8 ~]$systemctl restart sshd.service #重启sshd服务
[root@centos8 ~]$systemctl restart rsyslog.service #重启rsyslog服务

 在openeuler客户端与Rocky9客户端进行配置

#1.关闭防火墙
[ root@openeuler ~]$systemctl stop firewalld.service
#2.禁用selinux
[ root@openeuler ~]$vim /etc/selinux/config 
SELINUX=disabled
#3.修改sshd配置文件
[ root@openeuler ~]$vim /etc/ssh/sshd_config 
SyslogFacility AUTH
#4.修改rsyslog配置文件
[ root@openeuler ~]$vim /etc/rsyslog.conf 
$ModLoad imudp  #添加下列三行
$UDPServerRun 514
auth.*                                                  @192.168.198.134:514 #使用UDP协议将其日志传送到日志服务器
#5.修改主机名称
[ root@openeuler ~]$hostnamectl hostname openEuler-192-168-198-133
#6.重启sshd服务于rsyslog服务
[ root@openeuler ~]$systemctl restart sshd.service #重启sshd服务
[ root@openeuler ~]$systemctl restart rsyslog.service #重启rsyslog服务
#Rocky客户端与openeuler客户端同理,将其主机变成不一致即可。
#进行测试,测试在任意客户端进行登录,在服务器端查看是否有日志输出
[ root@openeuler ~]$tail -f /var/log/all-ssh.log 

在这里插入图片描述

4.总结/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无此文件

5.journalctl命令的选项及示例

journalctl日志管理工具,可以只用一个命令,查看所有日志(内核日志和应用日志)其配置文件/etc/systemd/journald.conf
查看所有日志(默认情况下 ,只保存本次启动的日志)
   journalctl
查看内核日志(不显示应用日志)
   journalctl -k
查看系统本次启动的日志
  journalctl -b
  journalctl -b -0
查看上一次启动的日志
   journalctl -b -1
查看指定时间的日志
  journalctl --since=“年-月-日 时:分:秒”
  journalctl --since “20 min ago”
  journalctl --since yesterday
  journalctl --since “年-月-日 时:分:秒” --until “年-月-日 时:分:秒”
   journalctl --since 09:00 --until “1 hour ago”
显示尾部的最新10行日志
  journalctl -n
实时滚动显示最新日志
  journalctl -f
查看指定服务的日志
  journalctl /usr/lib/systemd/systemd
查看指定进程的日志
  journalctl _PID=1
查看某个路径的脚本的日志
  journalctl /usr/bin/bash
查看某个 Unit 的日志
  journalctl -u nginx.service
  journalctl -u nginx.service --since today

6.完成将多个主机的nginx日志集中写到mysql表中

环境4台主机,一台centos8充当syslog的服务器,其余三台充当客户端
在这里插入图片描述
 在centos8上进行操作

#1.安装rsyslog-mysql的rpm包
[root@Centos8_192-168-198-134 ~]$yum install rsyslog-mysql -y
#2.列出rsyslog-mysql的文件找到/usr/share/doc/rsyslog/mysql-createDB.sql该文件
[root@Centos8_192-168-198-134 ~]$rpm -ql rsyslog-mysql
#3.安装mysql服务
[root@Centos8_192-168-198-134 ~]$yum install mysql-server -y
#4.进入mysql,并配置mysql
[root@Centos8_192-168-198-134 ~]mysql
#调用该文件
mysql> source /usr/share/doc/rsyslog/mysql-createDB.sql
#创建用户,并进行授权
create user syslog@'192.168.198.%' identified by '123456';
grant all on Syslog.* to syslog@'192.168.198.%';
#5.进入数据库查看数据库
mysql>show databases;	#显示所有数据库
mysql>use Syslog; 	#进入数据库
mysql>show Syslog.tables;	#查看该数据库中的所有表
mysql>desc SystemEvents; 查看该表的结构
#6.配置rsyslog文件添加如下两行,
[root@Centos8_192-168-198-134 ~]$vim /etc/rsyslog.conf 
#### MODULES ####
module(load="ommysql")
#### RULES ####
*.info                                                  :ommysql:192.168.198.134,Syslog,syslog,123456
#7.重启服务
[root@Centos8_192-168-198-134 ~]$systemctl restart rsyslog.service

 在客户端操作:

#1.安装rsyslog-mysql的rpm包
[ root@Openeuler_192-168-234-129 ~]$yum install rsyslog-mysql -y
2.配置rsyslog文件添加如下两行
[ root@Openeuler_192-168-234-129 ~]$
#### MODULES ####
module(load="ommysql")
#### RULES ####
*.info                                                  :ommysql:192.168.198.134,Syslog,syslog,123456
#3.重启服务
[ root@Openeuler_192-168-234-129 ~]$systemctl restart rsyslog.service

 在服务器端进行测试

#进入mysql然后进入Syslog数据库,并查看该SystemEvents表的所有记录
[root@Centos8_192-168-198-134 ~]$select * from SystemEvents;

7.使用logrotate服务切割nginx日志,每天切割一次,要求大于不超过3M,保存90天的日志,旧日志以时间为后缀,要求压缩

[root@centos8-192.168.198.134 ~]$cat /etc/logrotate.d/nginx 
/var/log/nginx/*log {
    create 0664 nginx root
    daily
    rotate 90
    size   3M
    missingok
    notifempty
    compress
    dateext
    sharedscripts
    postrotate
        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
    endscript
}
[root@centos8-192.168.198.134 ~]$dd if=/dev/zero of=/var/log/nginx/test.log bs=1M count=6 #创建一个文件
[root@centos8-192.168.198.134 ~]$logrotate /etc/logrotate.d/nginx   #然后进行手动转储

8.总结LVS的NAT和DR模型工作原理,并完成DR模型实战。

LVS-NAT模型工作原理

  1. 客户端向Director Server发送请求,请求的数据报文(源IP是CIP,目标IP是VIP)到达Director Server的内核空间。
  2. Director Server的内核空间判断数据包的目标IP是本机,此时IPVS(IP Virtual Server)比对数据包请求的服务是否为集群服务。若是,则修改数据包的目标IP地址为后端服务器IP(RIP),重新封装数据包(源IP为CIP,目标IP为RIP),然后选路将数据包发送给Real Server。
  3. Real Server比对发现目标IP是本机的IP,处理请求并重新封装报文(源IP为RIP,目标IP为CIP)发回给Director Server。
  4. Director Server重新封装数据包,将源IP地址修改为自己的VIP地址,然后响应给客户端。

LVS-DR模型工作原理

  1. 客户端向Director Server发送请求,请求的数据报文(源IP是CIP,目标IP是VIP)到达Director Server的内核空间。
  2. Director Server根据负载均衡算法选择一台后端服务器,并改写请求报文的目标MAC地址为所选Real Server的MAC地址,然后将请求转发给该Real Server。
  3. Real Server收到请求后,处理并返回响应给客户端。在这个过程中,响应报文直接返回给客户端,无需经过Director Server。

8.1LVS的NAT模式实战

环境一台centos8,两台rocky9,一台openeuler
 环境连接拓扑图:

在这里插入图片描述

#1.四台机器关闭防火墙和selinux
#2.将RS1和RS2的NAT网卡改成静态的并将其网关指向LVS地址
#3.RS1和RS2安装httpd服务,并写内容进行测试,RS2同理
[ root@rs1 ~]$yum install httpd -y
[ root@rs1 ~]$echo "rs1-server,IP:`hostname -I`" > /var/www/html/index.html
[ root@rs1 ~]$systemctl enable --now httpd.service
[ root@rs1 ~]$curl 192.168.198.132
rs1-server,IP:192.168.198.132 

 LVS服务器配置

#4.在LVS服务器上安装ipvsadm
[root@lvs-server ~]$yum install  ipvsadm -y
[root@lvs-server ~]$systemctl start ipvsadm.service #若启动失败则可能没有该配置文件,进行创建即可touch/etc/sysconfig/ipvsadm,然后在进行启动
#5.开启内核模块,并配置LVS
[root@lvs-server ~]$echo "net.ipv4.ip_forward" >> /etc/sysctl.conf
[root@lvs-server ~]$sysctl -p
[root@lvs-server ~]$ipvsadm -A -t 192.168.234.128:80 -s wrr
[root@lvs-server ~]$ipvsadm -a -t 192.168.234.128:80 -r 192.168.198.130:80 -m 
[root@lvs-server ~]$ipvsadm -a -t 192.168.234.128:80 -r 192.168.198.132:80 -m 

 在客户端进行循环测试

[ root@client ~]$while :;do curl 192.168.234.128;sleep 1 ;done
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 

8.2.1LVS的DR模型实战单网段实现。

环境准备两台centos8,一台充当router使用,一台当作LVS。两台rocky9当RS,一台openeuler当客户端
 拓扑图连接情况:
在这里插入图片描述
 RS配置

#1.客户端增添一条默认路由指向router,然后对内网的RS进行ping测试
[ root@client ~]$ip route add 0.0.0.0/0 via 192.168.234.128 dev ens33 
[ root@client ~]$ping 192.168.198.132 -c1
[ root@client ~]$ping 192.168.198.130 -c1
#2.router开启路由器IPV4地址转发功能
[root@router ~]$echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@router ~]$sysctl -p 
#3.两台RS服务器也配置默认路由下一跳指向网关
[root@rs2 ~]$ip route  add  default via 192.168.198.134 dev ens33 
#4.两台RS服务器安装httpd服务
[ root@rs2 ~]$yum install httpd -y
[ root@rs2 ~]$echo "rs2-server,IP:`hostname -I`" > /var/www/html/index.html
[ root@rs2 ~]$systemctl enable --now httpd.service
[ root@rs2 ~]$curl 192.168.198.130
rs2-server,IP:192.168.198.130
#5.两台RS的IPVS配置,RS1同RS2。
[root@rs2 ~]$echo 1 >   /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 ~]$echo 2 >   /proc/sys/net/ipv4/conf/all/arp_announce 
[root@rs2 ~]$echo 1 >   /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@rs2 ~]$echo 2 >   /proc/sys/net/ipv4/conf/lo/arp_announce 
[root@rs2 ~]$ifconfig lo:1 192.168.198.234/32
[root@rs2 ~]$ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.198.234/0 scope global lo:1
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

 LVS配置

[root@lvs-server ~]$ifconfig lo:1 192.168.198.234/32
#添加LVS规则
[root@lvs-server ~]$ipvsadm -A -t 192.168.198.234 -s rr
[root@lvs-server ~]$ipvsadm -a -t 192.168.198.234 -r 192.168.198.130 -g 
[root@lvs-server ~]$ipvsadm -a -t 192.168.198.234 -r 192.168.198.132 -g 
[root@lvs-server ~]$ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.198.234:80 rr
  -> 192.168.198.130:80           Route   1      0          0         
  -> 192.168.198.132:80           Route   1      0          0         

 在客户端进行循环访问

[ root@client ~]$ while :;do curl 192.168.198.234;sleep 1 ;done
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 

8.2.2LVS的DR模型实战多网段实现。

在这里插入图片描述
1-5步骤与单网段相同唯一不同的为将lo口的地址进行更改,同时为RS1与RS2也进行更改
 router配置

#6.在ruoter的上对内部的网口进行添加一个为24为的地址
[root@router ~]$ip addr add 10.0.0.10/24 dev ens160

 RS配置

[root@rs2 ~]$ifconfig lo:1 10.0.0.20/32

 LVS配置

[root@lvs-server ~]$ifconfig lo:1 10.0.0.20/32
[root@lvs-server ~]$ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.0.0.20/0 scope global lo:1
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
#添加LVS规则
[root@lvs-server ~]$ipvsadm -C
[root@lvs-server ~]$ipvsadm -A -t 10.0.0.20:80 -s rr 
[root@lvs-server ~]$ipvsadm -a -t 10.0.0.20:80  -r 192.168.198.130:80 -g  
[root@lvs-server ~]$ipvsadm -a -t 10.0.0.20:80  -r 192.168.198.132:80 -g

 客户端进行测试

[ root@client ~]$ while :;do curl 10.0.0.20;sleep 1 ;done
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132 
rs2-server,IP:192.168.198.130 
rs1-server,IP:192.168.198.132
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值