云网牛站
所在位置:首页 > Linux云服务器 > 使用Rsyslog进行VMware vSphere和vCenter重要日志管理

使用Rsyslog进行VMware vSphere和vCenter重要日志管理

2019-02-22 10:05:56作者:增致远稿源:云网牛站

我在CentOS 7系统上安装Rsyslog服务器,并将其配置为vCenter Server Appliance(vCSA)日志和vSphere服务器生成的所有日志的重要日志服务器,本文将介绍Rsyslog服务器的安装/配置和vCSA/vSphere的配置,以便将日志发送到我们配置的远程Rsysog服务器,安装Rsyslog请参考在Debian 9上使用Rsyslog安装一台中央日志服务器

 

一、更新系统

让我们将系统包更新到最新版本:

sudo yum update

对于Ubuntu,使用apt执行相同的操作:

sudo apt-get update && sudo apt-get upgrade

如果可能,请重新启动系统以进行需要更新才能生效的更新,例如内核更新:

sudo reboot

 

二、配置Rsyslog服务器

CentOS和Ubuntu/Debian系统都安装并运行了rsyslog,我们需要为VMware设置创建一个额外的配置文件。

默认配置文件是/etc/rsyslog.conf,任何其他配置都可以放在/etc/rsyslog.d/目录下。

为VMware vSphere和vCSA设备日志创建目录:

$ sudo mkdir -p /data/logs/{vcenter,esxi}

然后将以下配置文件添加到/etc/rsyslog.d/vmware.conf,这是vSphere Infrastructure日志记录的配置,它具有模板,用于指示存储日志的位置和方式,匹配模式以及日志时间戳定义:

# Provides TCP syslog reception

$ModLoad imtcp

#### Create Templates for Log parsing

#### Log store is created folder previously

template(name="TIMESTAMP" type="string" string="%timegenerated:8:25%||%HOSTNAME%||%syslogtag%||%msg%\n")

template(name="ESXI" type="string" string="/data/logs/esxi/%fromhost-ip%/%$YEAR%-%$MONTH%/%$DAY%.%$MONTH%-messages.log")

template(name="VCENTER" type="string" string="/data/logs/vcenter/%fromhost-ip%/%$YEAR%-%$MONTH%/%$DAY%.%$MONTH%-messages.log")

#### Define remote logging RuleSet

$RuleSet remote

### The following rule is created to store logs coming from vCenter with different parameters

### If log is coming from vcenter with IP 192.168.10.50 it will be stored using VCENTER template.

### Replace 192.168.10.50 with your vCSA IP address

if $fromhost == '192.168.10.50' then {

*.* ?VCENTER

}

else {

# Store all other logs using TIMESTAMP and ESXI templates.

*.* ?ESXI;TIMESTAMP

}

### Tell rsyslog to listen TCP port 514.

### All events coming to this port will be parsed using remote RuleSet.

$InputTCPServerBindRuleset remote

$InputTCPServerRun 514

这里我们定义了三个模板:

TIMESTAMP:用于格式化来自某个IP地址的所有日志,这是为了通过适当的时间格式使日志更具可读性。

ESXI:这告诉rsyslog将每个主机的日志存储在一个单独的文件夹中,每天的日志存储在与该日相对应的文件夹中,vSphere主机的日志将存储在/data/logs/esxi中。

VCENTER:这告诉rsyslog使用/data/logs/vcenter中的vCenter设备存储日志,使用与ESXI模板上使用的时间戳和结构类似的时间戳和结构。

进行更改后重新启动rsyslog服务:

sudo systemctl restart rsyslog

使用systemctl status rsyslog命令检查状态,没问题的话会返回运行状态信息:

使用Rsyslog进行VMware vSphere和vCenter重要日志管理

然后打开Rsyslog防火墙端口,Rsyslog侦听端口514,我们将其配置为用户TCP,使用firewalld管理工具打开它。

在Ubuntu/Debian上使用ufw:

sudo ufw allow 514/tcp

参考:Debian、Ubuntu、Linux Mint系统中的UFW防火墙入门教程。https://ywnz.com/linuxaq/4277.html

在CentOS 7上:

sudo firewall-cmd --add-port=514/tcp --permanent

sudo firewall-cmd --reload

 

三、配置vSphere主机和vCSA Appliance

唯一尚未解决的问题是配置vSphere和vCSA设备以将日志推送到我们的rsyslog服务器。

1、如何配置vSphere远程Syslog

打开vCenter并导航至:主机和群集>选择主机>配置>高级系统设置>编辑(Hosts and Clusters > Select Host > configure > Advanced System Settings > Edit)

在“筛选器”框中,搜索“syslog”,你应该看到“Syslog.global.logHost”,在此框中填写rsyslog服务器地址:tcp://192.168.10.35:514

如果要同时配置tcp和udp,请使用逗号分隔它们:tcp://192.168.10.35:514,udp://192.168.10.35:514

它应该有如下所示:

使用Rsyslog进行VMware vSphere和vCenter重要日志管理

使用Rsyslog进行VMware vSphere和vCenter重要日志管理

2、如何配置vCenter(vCSA)远程Syslog

对于vCSA,通过打开vCSA管理UI来配置远程rsyslog:

http://vCSA-IP:5480

然后就可以登录控制中心了,如下图:

使用Rsyslog进行VMware vSphere和vCenter重要日志管理

输入安装期间提供的用户名和密码,初始默认用户名为root,默认密码为vmware。

程序的说明:

1.在vCenter Server Appliance管理界面中,选择Syslog。

2.在“转发配置”部分中,如果尚未配置任何远程syslog主机,请单击“配置”,如果已配置主机,请单击“编辑”。

3.在“创建转发配置”页面中,输入目标主机的服务器地址,支持的目标主机的最大数量为三个。

4.从“协议”下拉菜单中,选择要使用的协议。

5.在“端口”文本框中,输入用于与目标主机通信的端口号。

6.在“创建转发配置”窗格中,单击“添加”以输入另一个远程syslog服务器。

7.单击保存。

8.验证远程syslog服务器是否正在接收消息。

9.在“转发配置”部分中,单击“发送测试消息”。

10.在远程syslog服务器上验证是否收到了测试消息。

新配置设置显示在“转发配置”部分中。

如果你返回到rsyslog服务器,则应在前面配置的logs目录下创建两个文件夹:

$ ls /data/logs/

esx vcenter

$ ls /data/logs/vcenter/192.168.10.50/2019-02/02.22-messages.log 

/data/logs/vcenter/192.168.10.50/2019-02/02.22-messages.log

对于ESXI主机:

$ file /data/logs/esx/192.168.10.31/2019-02/02.22-messages.log 

/data/logs/esx/192.168.10.31/2019-02/02.22-messages.log: ASCII text, with very long lines

你可以考虑为其配置日志轮换:

运行:$ cat  /etc/logrotate.d/vmware

/data/logs/esxi/*/*/*.log {

rotate 90

daily

notifempty

compress

}

/data/logs/vcenter/*/*/*.log {

rotate 90

daily

notifempty

compress

}

操作到这里,你现在已经拥有适用于vSphere Infrastructure的rsyslog服务器。

 

相关主题

在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法

精选文章
热门文章