The /var/log/vmware/observability/observability.log file on vCenter Server contains errors such as
[YYYY-MM-DDTHH:MM:SS]ERROR615086[Thread-46] - com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:438) - Not a JSON Object: "MB"java.lang.IllegalStateException: Not a JSON Object: "MB" at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:91) at com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:384) at com.vmware.observability.observer.SqlWriter.execute(SqlWriter.java:298) at com.vmware.stellar.plugin.Daemon.drain(Daemon.java:183) at com.vmware.stellar.executor.DaemonExecutor.run(DaemonExecutor.java:143) at java.lang.Thread.run(Thread.java:750)[YYYY-MM-DDTHH:MM:SS]ERROR615087[Thread-46] - com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:438) - Not a JSON Object: "filesystem"java.lang.IllegalStateException: Not a JSON Object: "filesystem" at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:91) at com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:384) at com.vmware.observability.observer.SqlWriter.execute(SqlWriter.java:298) at com.vmware.stellar.plugin.Daemon.drain(Daemon.java:183) at com.vmware.stellar.executor.DaemonExecutor.run(DaemonExecutor.java:143) at java.lang.Thread.run(Thread.java:750)[YYYY-MM-DDTHH:MM:SS]ERROR615087[Thread-46] - com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:438) - Not a JSON Object: "1776101272594"java.lang.IllegalStateException: Not a JSON Object: "1776101272594" at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:91) at com.vmware.observability.observer.SqlWriter.writeMetricInfoToStatDB(SqlWriter.java:384) at com.vmware.observability.observer.SqlWriter.execute(SqlWriter.java:298) at com.vmware.stellar.plugin.Daemon.drain(Daemon.java:183) at com.vmware.stellar.executor.DaemonExecutor.run(DaemonExecutor.java:143) at java.lang.Thread.run(Thread.java:750)
root@<vCenter>[ / ]# sqlite3 /storage/db/vmware-observability/stellar.db
SQLite version 3.38.5 <Timestamp>Enter ".help" for usage hints.sqlite> SELECT name, status FROM metrics WHERE source = "stat";user|0nice|0system|0idle|0iowait|0irq|0softirq|0steal|0guest|0guest_nice|0cpuUsage|0sqlite> SELECT name, status FROM metrics WHERE source = "filesystem";totalSpace|0freeSpace|0usedSpace|0readOnly|0type|0diskName|0sqlite>
Notice that all the values above are set to 0.
VMware vCenter Server
The issue is caused by a failure in the VMware Observability Service. This service is responsible for collecting and pushing partition and CPU metrics to the management layer. The service fails to report data because the collection flags for the stat and filesystem metric sources are disabled (set to status = 0) within the internal stellar.db configuration database.
To resolve this issue, the metric status flags must be manually enabled in the observability service database.
NOTE: Take a Snapshot/Backup of the vCenter Server before making any changes to the database.
sqlite3 /storage/db/vmware-observability/stellar.dbUPDATE metrics SET status = 1 WHERE source IN ('stat', 'filesystem');sqlite> SELECT name, status FROM metrics WHERE source = "stat";
user|1
nice|1
system|1
idle|1
iowait|1
irq|1
softirq|1
steal|1
guest|1
guest_nice|1
cpuUsage|1
sqlite> SELECT name, status FROM metrics WHERE source = "filesystem";
totalSpace|1
freeSpace|1
usedSpace|1
readOnly|1
type|1
diskName|1service-control --restart observability