
在 Elasticsearch 中收集 VMware vCSA LOG 并在 Grafana 中可视化它们
来! 请再来一份日志! 这一次,我们将了解如何利用我们心爱的 VMware vSphere 环境的日志, 我们会从 vCSA 或 vCenter Server Appliance 将日志重定向到 Logstash,以便在 Elasticsearch 中进行处理和存储, 最后,我们将能够使用 Grafana 以更图形化的方式可视化它们. 这样,我们将实时了解正在发生的事情,或者我们将能够获得包含过去 24 小时数据的报告, 周, 月… 完全可定制, 自由…
井, 关于您尚不了解的 vCenter Server 的评价, 我们知道它是我们 VMware 虚拟基础架构的核心, 平台的访问门户是什么?, 事情就在那里发生, 有时很奇怪, 有任务, 我们有活动… 有很多煮熟的酱汁,除了从中榨汁之外,还有什么比从中榨汁更少的呢. 为什么不将所有 vCSA 日志发送到 Logstash, 在那里,我们将通过过滤器将那些丑陋的文本文件分开,就像它们自己一样, 将它们分成不同的字段,以便我们以更舒适的方式进行咨询后,时间将存储在 Elasticsearch 中,以便使用 Kibana 或 Grafana 对其进行可视化. 品尝, 如您所知,我更赞成后者, 但你不必总是😉听我说 好吧, 前往主题, 从 Grafana 中,我们将能够直观地看到已收集的内容, 查看已发生的任何警报, 登录尝试平台, 就像在 vCenter 中一样,您将能够筛选并了解任务或事件, 制作带有字段的可爱表格,以便有时查找一些文本, 作为用户,知道他做了什么…
照常, 首先,我们显然必须安装 Elastic Stack, 什么 Logstash, Elasticsearch 和 琵琶; 然后我们可以转到我们的 vCSA, 转到您的管理网站, 记住 HTTPS://DIRECCION_IP_VCSA:5480, 在那里,我们可以从 “系统日志” 配置以将日志拉取到 Logstash, 因此,我们指明要将日志发送到的 IP 地址以及我们感兴趣的端口.
输入 { TCP 协议 { 类型 => "VCSA" 端口 => "1515" 标签 => ["VMware 公司,VCSA"] } } 滤波器 { 如果 [类型] == "VCSA" { 格罗克 { 匹配 => { "消息" => [ "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{GREEDYDATA:Tipo_tarea} %{词:Log_nivel} %{GREEDYDATA:蒂图洛} opId=] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} %{INT 系列:Proceso_id} - - 事件 \[%{INT 系列:Evento_id}\] \[1-1\] \[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{GREEDYDATA:蒂图洛}\] \[%{词:Log_nivel}\] \[%{GREEDYDATA:用户}\] \[%{数据:地方}\] \[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:消息}\]", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:鼻祖} 子 = %{GREEDYDATA:蒂图洛}\] %{TIMESTAMP_ISO8601:HTTP_fecha} %{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{项目:HTTP_version} %{INT 系列:HTTP_codigo} %{项目:HTTP_codigo_respuesta} - %{INT 系列:HTTP_bytes_recibidos} %{INT 系列:HTTP_bytes_enviados} %{INT 系列:HTTP_duracion} %{INT 系列:HTTP_tiempo_respuesta} %{INT 系列:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT 系列:HTTP_puerto_origen1} %{IPV4:HTTP_ip_destino1}:%{INT 系列:HTTP_puerto_destino1} %{IPV4:HTTP_ip_origen2}:%{INT 系列:HTTP_puerto_origen2} %{IPV4:HTTP_ip_destino2}:%{INT 系列:HTTP_puerto_destino2}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:鼻祖} 子 = %{GREEDYDATA:蒂图洛}\] %{TIMESTAMP_ISO8601:HTTP_fecha} %{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{项目:HTTP_version} %{INT 系列:HTTP_codigo} %{项目:HTTP_codigo_respuesta} - %{INT 系列:HTTP_bytes_recibidos} %{INT 系列:HTTP_bytes_enviados} %{INT 系列:HTTP_duracion} %{INT 系列:HTTP_tiempo_respuesta} %{INT 系列:HTTP_req_forwarder} %{IPV4:HTTP_ip_origen1}:%{INT 系列:HTTP_puerto_origen1} %{IPV4:HTTP_ip_destino1}:%{INT 系列:HTTP_puerto_destino1} %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:鼻祖} 子 = %{GREEDYDATA:蒂图洛} opId=%{项目:Op_id}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{项目:Log_proceso}\] %{词:Log_nivel}\s+opId=%{数据:Op_id} - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:鼻祖} 子 = %{GREEDYDATA:蒂图洛}\] \[%{数据:Tipo_unit}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{INT 系列:Evento_id}\] \[%{GREEDYDATA:鼻祖} 子 = %{GREEDYDATA:蒂图洛}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - \[%{HTTPDATE (简体中文):Log_fecha}\] %{项目:Log_proceso} \[%{词:HTTP_peticion}\] %{IPV4:HTTP_ip_origen1}:%{INT 系列:HTTP_puerto_origen1} 自 %{主机名:HTTP_equipo_destino} %{INT 系列:HTTP_puerto_destino1} - %{项目:HTTP_version} %{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta}\s+[%{词:HTTP_respuesta}\] %{INT 系列:HTTP_codigo} - %{INT 系列:HTTP_bytes} 字节s+[%{项目:HTTP_log_proceso}\] 过程 %{INT 系列:Tiempo_total}女士 / commit %{INT 系列:Tiempo_conexion}女士 / conn \[\+\]", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso} \[%{数据:Log_proceso}\] \[opID=%{项目:Op_id}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:Log_proceso}\[%{数据:Log_proceso}\] \[OpId=%{项目:Op_id}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{词:Log_nivel} \| %{项目:Log_proceso} \| %{数据:Log_tarea} \| %{INT 系列:Pid} \| %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{词:Log_nivel} \| %{项目:Log_proceso} \| %{数据:Log_tarea} \| %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{词:Log_nivel} \] %{项目:Log_proceso} %{项目:任务} %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{项目:Log_proceso}\s+%{词:Log_nivel} %{GREEDYDATA:蒂图洛} opId=%{项目:Op_id}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \[%{项目:Log_proceso}\s+%{词:Log_nivel} %{GREEDYDATA:蒂图洛} opId=%{项目:Op_id} %{词:Nipu}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+[%{TIMESTAMP_ISO8601:Log_fecha}\] %{词:Log_nivel}\[%{项目:Log_proceso}\] - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{INT 系列:Log_bytes} %{INT 系列:Pid} %{项目:Log_proceso} %{INT 系列:HTTP_codigo} \"%{GREEDYDATA:蒂图洛}\" %{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{项目:HTTP_version}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} procstate - - - %{数据:用户}\s+%{项目:Log_pid}\s+%{数据:中央处理器}\s+%{数据:记忆}\s+%{数据:MemoriaVirtual}\s+%{数据:MemoriaProceso}\s+%{数据:TTY}\s+%{数据:Stat}\s+%{数据:Hora_inicio}\s+%{数据:Tiempo}\s+%{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} sca - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{词:Log_nivel} %{项目:过程} \[%{项目:Pool}\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} applmgmt-audit - - - %{TIMESTAMP_ISO8601:Log_fecha}: %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} applmgmt - - - %{TIMESTAMP_ISO8601:Log_fecha} \[%{INT 系列:Evento_id}\]%{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} procstate - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} sca-vmon.std - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vsan-health-main - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vum-log4cpp - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vmcad - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} eam-main - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} cis-license - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vmdird - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} sps-gc - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vstats - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vapi-runtime - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} vpxd-profiler - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} rsyslogd - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} trustmanagement-svcs - - - %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{SYSLOG 时间戳:飞驰} %{项目:Log_proceso}\[%{INT 系列:Pid}\]: %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{TZ:Zona_horaria} %{项目:过程} %{INT 系列:Log_id}\s+LOG:\s+%{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha}\| %{项目:过程}\| I005: %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{项目:过程} %{词:Log_nivel} %{项目:任务} %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} ui-access - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE (简体中文):飞驰}\] \"%{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{项目:HTTP_version}\" %{INT 系列:HTTP_codigo} %{项目:HTTP_codigo_respuesta} - %{数据:HTTP_bytes_recibidos} %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} eam-access - - - %{IPV4:HTTP_ip_destino1} %{IPV4:HTTP_ip_origen1} - - \[%{HTTPDATE (简体中文):飞驰}\] \[%{项目:Log_proceso}\] \"%{词:HTTP_log_accion} %{UNIXPATH:HTTP_ruta} %{项目:HTTP_version}\" %{INT 系列:HTTP_codigo} %{项目:HTTP_codigo_respuesta} \[Processing time %{INT 系列:Tiempo} msec\] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} \[%{项目:过程}\]\[%{词:Log_nivel}\] %{项目:任务}: %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} %{项目:过程} %{词:Log_nivel} %{项目:任务} %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - \[%{TIMESTAMP_ISO8601:Log_fecha}\] \[%{词:Log_nivel}\s+] %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - - %{TIMESTAMP_ISO8601:Log_fecha} \| %{项目:Log_proceso} \| %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} CROND %{INT 系列:Pid} - - \(%{用户名:用户}\) CMD \(%{GREEDYDATA:消息}\)", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} \|\s+%{词:Log_nivel} \| %{项目:Evento_id}\ \| %{项目:过程} \| %{数据:任务} \| %{GREEDYDATA:消息}", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:飞驰} %{主机名:Servidor_VCSA} %{项目:Nombre_log} - - -\s+%{TIMESTAMP_ISO8601:Log_fecha} %{项目:Log_proceso} %{词:Log_nivel} %{项目:任务} %{GREEDYDATA:消息}" ] } } } } 输出 { 如果 ([类型]=="VCSA"){ ElasticSearch 服务 { 索引 => "vmware_vcsa-%{+YYYY.MM.dd}" 主机=> "DIRECCION_IP_ELASTICSEARCH:9200" } } }
Ahora ya será el momento de crear el fichero de configuración en Logstash para recibir, tratar y sacar los Logs a Elasticsearch, 我们可以将其命名为 '/etc/logstash/conf.d/vmware-vcsa.conf', 其中,我们将有侦听端口,它将在其中接收来自 vCSA 的日志. 然后是过滤器,我一如既往地向智者道歉, 但它们是有效的过滤器,可以大大改进, 但它们将允许我们处理版本 7.x 的 vCSA 的日志. 最后,我们将输出 Elasticsearch, 我们指示目标 IP 以在那里存储数据, ,然后是一些凭证, 不要像我一样不标明 'username 的参数’ 和密码.
创建配置文件后, 我们将记得重新启动 Logstash 服务以重新加载新配置. 后, 我们将转到 Kibana,一旦数据进入,我们就可以转到 “Management” > “堆栈管理” > “Kibana” > “索引模式” > “Create index pattern” 创建索引模式, 正如我所说, 照常 (在这种情况下,不带引号) 'vmware_vcsa-*' 的,我们将数据正确存储在 Elasticsearch 中. 现在,我们可以从“发现”连接到我们的 VMware vCSA 索引,并可视化它正在收集数据, 我们开始拥有 vCenter 日志…
在 Kibana 中创建索引后, 现在,在 Grafana 中,我们应该创建一个指向我们的 Elasticsearch 和新创建的 VMware vCSA 索引的“数据源”. 然后让你的想象力自由驰骋, 制作具有不同 Dashboard 的 Dashboard, 使用不同的数据进行可视化, 查看日志类型, 按类型划分的接收图表, 在 僵局 查看特定数据,例如登录尝试, 正确, 不對, 最新警报, DRS 记录, 事件, 任务… 或n 世界地图 如果您是一个在 Internet 上公开的勇敢者,则使用传入连接… 或N 样式面板 桑基 查看源/目标 IP/用户… 备份错误日志并尝试修复它们…
因此, 平常的事情, 所有这些都是为了尝试提供帮助, 激发… 如果您需要, 采纳想法并加以改进, 因此,您可以看到 VMware vSphere 虚拟平台上发生的情况, vCenter 中发生的一切, 实时, 每 个 10 Seconds 非常酷, 它还将帮助我们分析最后一天的总结, 或者知道什么时候发生奇怪的事情......感谢所有在社交网络上移动此类内容的人!!!