热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

虚拟机安装日志服务器,使用Rsyslog进行VMwarevSphere和vCenter重要日志管理

我在CentOS7系统上安装Rsyslog服务器,并将其配置为vCenterServerAppliance(vCSA)日志和vSphere服务器生成的所有日志的重要日

我在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命令检查状态,没问题的话会返回运行状态信息:

e4111e9b1a33bf08b94dc126c75e213c.png

然后打开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

它应该有如下所示:

7694b68ffbde2bcb0c59dcd2b80941a6.png

44e856dc1cd25a944bbb50ecc88ae87e.png

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

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

http://vCSA-IP:5480

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

0b5cfa2bc88e4fb16906f6fb2470821c.png

输入安装期间提供的用户名和密码,初始默认用户名为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服务器。

相关主题



推荐阅读
  • 本文深入探讨了CGLIB BeanCopier在Bean对象复制中的应用及其优化技巧。相较于Spring的BeanUtils和Apache的BeanUtils,CGLIB BeanCopier在性能上具有显著优势。通过详细分析其内部机制和使用场景,本文提供了多种优化方法,帮助开发者在实际项目中更高效地利用这一工具。此外,文章还讨论了CGLIB BeanCopier在复杂对象结构和大规模数据处理中的表现,为读者提供了实用的参考和建议。 ... [详细]
  • 当使用 `new` 表达式(即通过 `new` 动态创建对象)时,会发生两件事:首先,内存被分配用于存储新对象;其次,该对象的构造函数被调用以初始化对象。为了确保资源管理的一致性和避免内存泄漏,建议在使用 `new` 和 `delete` 时保持形式一致。例如,如果使用 `new[]` 分配数组,则应使用 `delete[]` 来释放内存;同样,如果使用 `new` 分配单个对象,则应使用 `delete` 来释放内存。这种一致性有助于防止常见的编程错误,提高代码的健壮性和可维护性。 ... [详细]
  • 经过两天的努力,终于成功解决了半平面交模板题POJ3335的问题。原来是在`OnLeft`函数中漏掉了关键的等于号。通过这次训练,不仅加深了对半平面交算法的理解,还提升了调试和代码实现的能力。未来将继续深入研究计算几何的其他核心问题,进一步巩固和拓展相关知识。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文探讨了利用JavaScript实现集合的对称差集算法的方法。该算法旨在处理多个数组作为输入参数,同时保留每个数组中元素的原始顺序。算法不会移除单个数组内的重复元素,但会删除在不同数组之间出现的重复项。通过这种方式,能够有效地计算出多个数组的对称差集。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • HBase Java API 进阶:过滤器详解与应用实例
    本文详细探讨了HBase 1.2.6版本中Java API的高级应用,重点介绍了过滤器的使用方法和实际案例。首先,文章对几种常见的HBase过滤器进行了概述,包括列前缀过滤器(ColumnPrefixFilter)和时间戳过滤器(TimestampsFilter)。此外,还详细讲解了分页过滤器(PageFilter)的实现原理及其在大数据查询中的应用场景。通过具体的代码示例,读者可以更好地理解和掌握这些过滤器的使用技巧,从而提高数据处理的效率和灵活性。 ... [详细]
  • 本文深入解析了 FCEUX 源码,并详细介绍了两种制作 DEB 包的方法及其技术细节。首先,DEB 包通常由两部分组成:控制信息(位于 DEBIAN 目录)和安装内容(模拟目录)。通过解压现有的 DEB 包,可以查看其内部结构,进而理解其工作原理。具体操作包括将安装内容释放到指定目录中,以便进行进一步的修改和定制。此外,文章还探讨了如何修改现有的 DEB 包,以满足特定需求,提供了实用的步骤和技巧。 ... [详细]
  • 在TypeScript中,我定义了一个名为 `Employee` 的接口,其中包含 `id` 和 `name` 属性。为了使这些属性可选为空,可以通过使用 `| null` 或 `| undefined` 来扩展其类型定义。例如,`id: number | null` 表示 `id` 可以是数字或空值。这种类型的灵活性在处理不确定的数据时非常有用,可以提高代码的健壮性和可维护性。 ... [详细]
  • 如何在Mac上构建高效的本地服务器环境
    在Mac上构建高效的本地服务器环境,首先需要了解基本步骤:1. 配置目录基础;2. 启动Apache服务;3. 添加自定义文档至本地服务器;4. 查看自定义效果。此外,还可以通过手机或其他电脑访问本机服务器,以确保跨设备的兼容性和调试效果。Mac系统自带的Apache服务为本地开发提供了便捷的工具,本文将详细介绍每个步骤的具体操作方法。 ... [详细]
  • 在MySQL中实现时间比较功能的详细解析与应用
    在MySQL中实现时间比较功能的详细解析与应用。本文深入探讨了MySQL中时间比较的实现方法,重点介绍了`UNIX_TIMESTAMP`函数的应用。该函数可以接收一个日期时间参数,也可以不带参数使用,其返回值为Unix时间戳,便于进行时间的精确比较和计算。此外,文章还涵盖了其他相关的时间处理函数和技巧,帮助读者更好地理解和掌握MySQL中的时间操作。 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • Jedis接口分类详解与应用指南
    本文详细解析了Jedis接口的分类及其应用指南,重点介绍了字符串数据类型(String)的接口功能。作为Redis中最基本的数据存储形式,字符串类型支持多种操作,如设置、获取和更新键值对等,适用于广泛的应用场景。 ... [详细]
author-avatar
Dark-胡俊賢
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有