I am running Couchbase Enterprise Server 4.5.1 on a three node cluster. The architectural info is as follows :-
OS - Red Hat Enterprise Edition 7.2
CPU arch - x64
When I perform any task or query it should get logged into the logs (which is not happening ). In addition to that, when I use perform the logging operation, it is logging info from the very first day when the cluster was created. Ergo, the last info in it of 4 days ag.
I am also trying to integrate Couchbase Cluster with IIB v9. As a stepping stone, they are trying to perform the CRUD operations on the data in the cluster. During this, they are able to perform only the SELECT and DELETE operations ( and this is not getting logged into http_access.log ). But they are unable to perform the INSERT / UPDATE operation ( which is also storing anything in the error .log )
So, when they try to access the data, it should get logged somewhere in the system which is not happening.
How to solve this problem
Couchbase Server does not generally log information about most operations/queries as it would incur a massive performance penalty. Even most ‘errors’ aren’t logged as they are simply returned to the client instead.
I have found solution for two different problems
- IIB was not able to perform any insertion or updation to the documents in Couchbase server. They were getting the following error
Caught unknown exception: This JVM does not support empty HMAC keys (empty passwords). Please set a bucket password or upgrade your JVM
After having a detailed discussion with the IBM support staff, they told that IIB comes packaged with IBM JAVA, so by default we need to provide password to the exisitng. Thus, we created password for the said bucket. And now, it works just fine
- The second problem was the logging issue (main topic). So, Couchbase does not log everything in its log. But it provides the feature of system catalogs which holds the info about operations being performed on Couchbase Server.
Here under system:completed_requests, we can see which operations are being performed. By default, even this system catalog will only log those operations which take longer than it’s default time-value( 1000 ms ). It can be edited by editing the completed-threshold value to 0 for logging all request and -1 for not logging any request.