Log Compliance Extension

Created by Kristaps Felzenbergs, Modified on Tue, 16 Jan at 9:09 AM by Kristaps Felzenbergs

This article describes the setup of syslog integration with Opvizor Metrics and Logs.



Components

The Log Compliance extension consists of multiple components that are seemlessly integrated.


  • vSphere API collector (Tasks, Events)
  • Syslog receiver (ESXi, vCSA, general syslog)
  • Loki (https://github.com/grafana/loki)
  • immudb (https://www.immudb.io)


Features

  • full-text search within any data type (Tasks, Events, Logs)
  • vSphere navigation as usual (vCSA, Cluster, Host,…)
  • support for non-vSphere systems or Guest OS (Windows, Linux, applications)
  • integration of common queries within existing or log-focussed dashboards
  • Mix log entry search with event search (i. e. storage vmotion event and related vmkernel log error)


Setup


After deploying the appliance for the first time or adding the license key that supports log compliance, all vSphere related tasks and events are captured automatically.


To receive the log files of your ESXi hosts and vCSA as well, you can use our appliance administration to setup syslog forwarding:





Configure VMware ESXi to forward syslog data

Note: we respect existing syslog entries and only append our configuration.


If you want to configure the Syslog forwarding manually, please check out the following VMware KB article:


VMware ESXi: https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.esxi.upgrade.doc/GUID-9F67DB52-F469-451F-B6C8-DAE8D95976E7.html


VMware vCSA: https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.vcsa.doc/GUID-9633A961-A5C3-4658-B099-B81E0512DC21.html



Working with Log Analysis


Dashboards


You can also find 4 different dashboards that allow to detect and alert on common "problematic" log entries.


Compliance


We use immudb to store all log data that has been received in a tamperproof way. Our goal is to make the auditing part as easy as possible and being compliant with all important European and US regulations.


When you want to check the integrity and immutability of the log entry, you can simply click the verification button:



The shown result contains all log entry details and the verification of the whole immudb database as well as the individual entry.


That way the Opvizor appliance is not only storing syslog data using simple checksum chain technology – it’s built on top of the most innovative immutability data structure (immudb.io). That technology uses an append-only datastructure and a merkle-tree to guarantee the integrity with a cryptographic proof.


The additional index allows to detect deleted log entries as well.


Full Text Search


After some minutes you’re already able to search through the log entries. Simply click the log analyzer icon to enter the full-text-search:


When starting Log Analyzer for the first time you’ll see an empty search bar and a cheat sheet in the main window:


  1. Navigation: select the vCSA, ESXi or cluster to run the query against. The better you preselect, the less overhead logs will be shown
  2. Log Labels: you can further filter the log result using labels (i. e. severity, VM, …)
  3. The log search bar and the cheat sheet below. You can also find more information about the search in our guidelines:
    https://github.com/opvizor/log-guide/blob/master/README.md
  4. Timerange selection: you can either go for an absolute or relative timerange to filter the search result
  5. Run the query immediately or set a refresh frequency to automatically run the query continuously
  6. Change the entry limit. 1000 entries is the default that is visible in the main screen, but you can go up to several thousand if you like


Example Queries


Some real life examples, to query certain log data:


# Return only warn log entries for the selected ESXi

{ESXi="esxname",severity="warn"}


# Match a certain string in the log file of the selected ESXi

{ESXi="esxname"} |= "exact match for content"


# Query only ESXi Syslog data

{ESXi="esxname", DataType="ESXi_Syslog"}


# Query SCSI entries (exclude SNMP)

{ESXi=~".+"} |~ "SCSI|NMP|ScsiDeviceIO|scsiCorrelator|vmk-iscsi|iscsi|iscsiCorrelator" != "SNMP"


# Query SCSI sence codes

{ESXi=~".+"}|="Valid sense data"



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article