ESXi与Linux主机配置syslog日志上传远程服务器

ESXi与Linux主机配置syslog日志上传远程服务器

https://www.conum.cn/cloud/vmware/148.html

前言

       最近很多客户遇到等级保护监测,需要搭建日志服务器,对所有系统进行日志收集,这里我就对ESXi主机和基于Linux虚拟化的主机配置syslog服务器方法进行说明。

ESX主机配置

       ESXi主机可以使用vsphere client或者web client进行配置,也要配合esxcli命令进行配置加载。具体步骤如下:

1、进入主机的“高级配置”选项;

 

2、在Syslog配置项内配置S也是log.global.loghost值,如:udp://10.150.20.170:514;

 

共有五个可配置选项:
Syslog.global.logDir  –  本地或远程数据存储(VMFS、NFS、FAT)上的位置和日志应保存到的路径。采用 [DatastoreName]DirectoryName 格式,映射到/vmfs/volumes/DatastoreName/DirectoryName/。如果指定的DirectoryName不存在,则将进行创建。如果定义了/scratch,则默认值为 []/scratch/log。有关暂存位置的详细信息,请参见 Creating a persistent scratch location for ESXi (1033696)。
Syslog.global.logHost  –  使用 syslog 协议将日志发送到的远程服务器的逗号分隔列表。如果 logHost 字段为空,则不会转发任何日志。包括协议和端口,类似于 tcp://hostname:514 或 udp://hostname:514 或ssl://hostname:514。
Syslog.global.logDirUnique  –  一个布尔选项,用于控制是否在配置的logDir中创建特定于主机的目录。此目录名称为 ESXi 主机的主机名。如果多个 ESXi 主机使用同一共享目录,则使用唯一目录将会有所帮助。默认为false。
Syslog.global.defaultRotate  –  要在 ESXi 主机上配置的 logDir 中本地保留的最大日志文件数量。不会影响远程 syslog 服务器保留。默认为8。
Syslog.global.defaultSize  –  每个本地日志文件在轮换之前的最大大小(以千字节为单位)。不会影响远程 syslog 服务器保留。默认为1024 KB。有关所需空间的详细信息,请参见 Providing Sufficient Space for System Logging。
注意:要单独为 auth、vmkernel 和 hostd 等系统组件设置日志记录级别,可从 vSphere Client GUI 的syslog下选择记录器并设置为所需的值。

3、将主机防火墙的syslog端口规则放开;

 

 

4、配置完成后,开启主机SSH服务,登录后台;使用esxcli system syslog config get  命令查看主机syslog配置;

 

 

1

2

3

4

5

6

7

8

9

# esxcli system syslog config get

  Default Network Retry Timeout: 180

  Local Log Output: /scratch/log

  Local Log Output Is Configured: false

  Local Log Output Is Persistent: true

  Local Logging Default Rotation Size: 1024

  Local Logging Default Rotations: 8

  Log To Unique Subdirectory: false

  Remote Host: udp://10.150.20.170:514

 

5、确定配置后 ,使用esxcli system syslog reload 重新加载配置,使其生效;

6、可以在主机上使用 nc 命令检测远程syslog服务器能否成功访问;

 

 

1

2

nc -z -u 10.150.20.170 514

Connection to 10.150.20.170 514 port [udp/syslog] succeeded!

 

7、查看syslog服务器是否成功接收目标主机的日志信息。

Linux主机配置

       Linux主机的配置相较于ESXi主机基本相同。

1、登录Linux主机,查看rsyslog.conf文件是否存在;

 

 

1

2

# ls /etc/ | grep rsyslog.conf

rsyslog.conf

 

       注:有些发现版本可能包含子配置文件,如ubuntu:

 

 

1

2

3

4

5

6

# ls /etc/ | grep rsyslog

rsyslog.conf

rsyslog.d    #这里是存放子配置文件的目录

 

ls /etc/rsyslog.d/

20-ufw.conf 50-default.conf   #实际上级目录中的rsyslog.conf引用了这里的两个子配置文件,根据实际情况确定修改哪个配置文件

 

2、修改rsyslog.conf配置文件,在配置文件中添加指向配置;

       这里可以根据具体的需求决定上传哪些级别的日志,这里我配置了info以上级别的日志。

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

# Save news errors of level crit and higher in a special file.

uucp,news.crit                                          /var/log/spooler

 

# Save boot messages also to boot.log

local7.*                                                /var/log/boot.log

 

 

*.info @10.150.20.170:514   #这里是加入的配置信息,将info级别以上的信息传输至远程syslog服务器

# ### begin forwarding rule ###

# The statement between the begin ... end define a SINGLE forwarding

# rule. They belong together, do NOT split them. If you create multiple

# forwarding rules, duplicate the whole block!

# Remote Logging (we use TCP for reliable delivery)

#

# An on-disk queue is created for this action. If the remote host is

# down, messages are spooled to disk and sent when it is up again.

#$WorkDirectory /var/spppl/rsyslog # where to place spool files

#$ActionQueueFileName fwdRule1 # unique name prefix for spool files

#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)

#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown

#$ActionQueueType LinkedList   # run asynchronously

#$ActionResumeRetryCount -1    # infinite retries if host is down

# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional

#*.* @@remote-host:514

# ### end of the forwarding rule ###

 

3、保存配置后,重启rsyslog服务;

 

 

1

2

3

# service rsyslog restart

Shutting down system logger:                               [  OK  ]

Starting system logger:                                    [  OK  ]

 

4、这里也可以使用nc 命令对远程服务器进行连接测试,决定是否需要配置本地防火墙;

 

 

1

2

# nc -z -u 10.150.20.170 514

Connection to 10.150.20.170 514 port [udp/syslog] succeeded!

 

5、查看syslog服务器是否成功接收目标主机的日志信息。

其他设备配置介绍

       其他的网络设备和系统配置:

       网络设备

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<----------cisco----------->

# config terminal

(config)# logging on

(config)# logging <10.x.x.x>           ## 注意syslog日志服务器接收地址,根据实际情况修改。

(config)# logging facility local7      ## 将记录事件类型定义为local7。

(config)# logging trap notifications   ## 将记录事件严重级别定义为从notifications开始,一直到最紧急级别的事件全部记录到前边指定的syslog server。

 

<----------H3C----------->

sy

[switch] info-center enable            ## 使能信息中心功能

[switch] info-center loghost 1.2.0.1 channel loghost facility local5

## 将IP地址为1.2.0.1/16的主机用作日志主机,使用loghost通道发送信息(可选,系统缺省为loghost通道),使用local5作为日志主机

##下面配置为可选##

[switch] info-center source default channel loghost debug state off log state off trap state off

# 关闭loghost通道所有模块log、trap、debug信息的输出开关。

[switch] info-center source default channel loghost log level informational state on

# 配置输出规则:允许所有模块、级别高于等于informational的日志信息输出到日志主机。

 

<----------Huawei----------->

system-view

[~SwitchA] info-center enable                   ## 使能信息中心功能

[*SwitchA] commit

[~SwitchA] info-center channel 6 name loghost1  ## 命名信息通道

[*SwitchA] commit

[*SwitchA] info-center loghost 10.1.1.2 channel loghost1 transport tcp ## 配置Log信息输出到日志主机所使用的通道

[~SwitchA] info-center source arp channel loghost1 log level notification  ## 配置向日志主机通道输出Log信息的规则

[~SwitchA] info-center loghost source vlanif 100   ## 配置发送Log信息的源接口。

[*SwitchA] commit

 

       F5负载均衡器

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#bigpipe syslog remote server {syslog{host 10.150.20.170 local ip 10.150.255.122}} ##配置远程主机

#bigpipe syslog list all 查看配置情况

syslog {

   authpriv from notice

   authpriv to emerg

   cron from warning

   cron to emerg

   daemon from notice

   daemon to emerg

   include none

   kern from notice

   kern to emerg

   mail from notice

   mail to emerg

   messages from notice

   messages to warning

   userlog from notice

   userlog to emerg

   remote server syslog {

         host 10.150.20.170

         local ip 10.150.255.122

         remote port 514

      }

}

#bigpipe save #保存配置

 

       Windows服务器

       Windows服务器因为使用的是WMI事件,所以基本不支持使用syslog进行上传。但是可以使用第三方的代理插件将WMI事件日志转换为syslog日志进行上传,这里推荐一款工具nslog。虽然他是收费软件,但是他也有社区版本,这个是免费的。

总结

       syslog虽然可以轻松收集,但是海量的日志怎么去看,谁又会对着这么多原始日志去一个一个检测呢?!完全不可能,所以日志收集后就是对日志的分析,这个就需要用到专业的日志分析软件,或者现在比较时髦的态势感知软件了,以后我还会对这方面的内容进行研究。

你可能感兴趣的:(VMware,配置笔记)