From 45640158f7d0e21c748fd6ce75c9bbeb5e2a89e2 Mon Sep 17 00:00:00 2001 From: tmakhmudov Date: Thu, 8 Dec 2016 19:55:20 +0200 Subject: [PATCH 1/5] KAA-1581: MongoDB log appender - initial commit. --- .../Data-collection/MongoDB-log-appender/index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md index 2088ba27d7..9245d83373 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md @@ -2,7 +2,6 @@ layout: page title: MongoDB log appender permalink: /:path/ -nav: /:path/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender sort_idx: 70 --- @@ -11,7 +10,7 @@ sort_idx: 70 * TOC {:toc} -The MongoDB log appender is responsible for transferring logs from the Operations service to the MongoDB database. +The MongoDB log appender is used to transfer logs from the Operations service to the MongoDB database. The logs are stored in the table named `logs\_$applicationToken`, where `$applicationToken` matches the [token of the current application]({{root_url}}Glossary/#application-token). # Creating MongoDB log appender in Admin UI @@ -244,4 +243,4 @@ The following JSON example matches the previous schema. ... ``` -If your output doesn't match above one, please follow our [troubleshooting guide]({{root_url}}Administration-guide/Troubleshooting). +If you don't get the desired output or experience other problems, see [Troubleshooting]({{root_url}}Administration-guide/Troubleshooting). From dcdde36138e2d1ffd58ba0b4fca17fb718f6ad16 Mon Sep 17 00:00:00 2001 From: tmakhmudov Date: Thu, 8 Dec 2016 20:33:40 +0200 Subject: [PATCH 2/5] Interim commit. --- .../MongoDB-log-appender/index.md | 155 +++++++++--------- 1 file changed, 76 insertions(+), 79 deletions(-) diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md index 9245d83373..66ecaeecc2 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md @@ -10,33 +10,90 @@ sort_idx: 70 * TOC {:toc} -The MongoDB log appender is used to transfer logs from the Operations service to the MongoDB database. -The logs are stored in the table named `logs\_$applicationToken`, where `$applicationToken` matches the [token of the current application]({{root_url}}Glossary/#application-token). +The MongoDB log appender is used to transfer logs from the [Operations service]({{root_url}}Glossary/#operations-service) to the [MongoDB](https://www.mongodb.com/) database. +The logs are stored in the `logs\_$applicationToken` table, where `$applicationToken` matches the [token of the current application]({{root_url}}Glossary/#application-token). -# Creating MongoDB log appender in Admin UI +## Create MongoDB log appender -The easiest way to create a MongoDB log appender for your application is by using Admin UI. +To create a MongoDB log appender for your application using the [Administration UI]({{root_url}}Glossary/#administration-ui): -To create a log appender of the MongoDB storage type, do the following: +1. Log in to the **Administration UI** page as a [tenant developer]({{root_url}}Glossary/#tenant-developer). -1. In the **Log appenders** window, click **Add log appender**. -2. Enter the log appender name and description, select the minimum and maximum supported log schema version, and select necessary log metadata fields. -3. Set the log appender type to _MongoDB_. +2. Click **Applications** and open the **Log appenders** page of your application. +Click **Add log appender**. + +3. On the **Log appender details** page, enter the necessary information and set the **Type** field to **MongoDB**. ![Add log appender in Admin UI](attach/add-log-appender-in-admin-ui.png) -4. Fill in the MongoDB log appender [configuration](#configuration) form. -5. Click **Add** button. Log appender is ready and operational at this point. -![MongoDB log appender configuration part 1](attach/MongoDB-log-appender-configuration1.png) -![MongoDB log appender configuration part 2](attach/MongoDB-log-appender-configuration2.png) -# Creating MongoDB log appender with Admin REST API +4. Fill in the **Configuration** section for your log appender and click **Add**. +See [Configure log appender](#configure-log-appender). + + ![MongoDB log appender configuration part 1](attach/MongoDB-log-appender-configuration1.png) + ![MongoDB log appender configuration part 2](attach/MongoDB-log-appender-configuration2.png) + +Alternatively, you can use the [server REST API]({{root_url}}Programming-guide/Server-REST-APIs/#!/Logging/editLogAppender) to create or edit your MongoDB log appender. + +The following example illustrates how to create an instance of MongoDB log appender using the server REST API. + +```bash +curl -v -S -u devuser:devuser123 -X POST -H 'Content-Type: application/json' -d @mongoDBLogAppender.json "http://localhost:8080/kaaAdmin/rest/api/logAppender" | python -mjson.tool +``` -It is also possible to create a MongoDB log appender for your application by using [Admin REST API]({{root_url}}Programming-guide/Server-REST-APIs/#!/Logging/editLogAppender). -The following example illustrates how to create the MongoDB log appender via Admin Rest API. +where file `mongoDBLogAppender.json` contains the following data. + +``` +{ + "pluginClassName":"org.kaaproject.kaa.server.appenders.mongo.appender.MongoDbLogAppender", + "pluginTypeName":"MongoDB", + "applicationId":"5", + "applicationToken":"82635305199158071549", + "name":"Sample MongoDB log appender", + "description":"Sample MngoDB log appender", + "headerStructure":[ + "KEYHASH", + "VERSION", + "TIMESTAMP", + "TOKEN", + "LSVERSION" + ], + "maxLogSchemaVersion":2147483647, + "minLogSchemaVersion":1, + "tenantId":"1", + "jsonConfiguration":"{\"mongoServers\":[{\"host\":\"localhost\",\"port\":27017}],\"mongoCredentials\":[],\"dbName\":\"kaa\",\"connectionsPerHost\":{\"int\":30},\"maxWaitTime\":{\"int\":120000},\"connectionTimeout\":{\"int\":5000},\"socketTimeout\":{\"int\":0},\"socketKeepalive\":{\"boolean\":false},\"includeClientProfile\":{\"boolean\":false},\"includeServerProfile\":{\"boolean\":false}}" +} +``` + +Below is an example result. + +```json +{ + "applicationId":"5", + "applicationToken":"82635305199158071549", + "confirmDelivery":true, + "createdTime":1466504475844, + "createdUsername":"devuser", + "description":"Sample MongoDB log appender", + "headerStructure":[ + "KEYHASH", + "VERSION", + "TIMESTAMP", + "TOKEN", + "LSVERSION" + ], + "id":"163840", + "jsonConfiguration":"{\"mongoServers\":[{\"host\":\"localhost\",\"port\":27017}],\"mongoCredentials\":[],\"dbName\":\"kaa\",\"connectionsPerHost\":{\"int\":30},\"maxWaitTime\":{\"int\":120000},\"connectionTimeout\":{\"int\":5000},\"socketTimeout\":{\"int\":0},\"socketKeepalive\":{\"boolean\":false},\"includeClientProfile\":{\"boolean\":false},\"includeServerProfile\":{\"boolean\":false}}", + "maxLogSchemaVersion":2147483647, + "minLogSchemaVersion":1, + "name":"Sample MngoDB log appender", + "pluginClassName":"org.kaaproject.kaa.server.appenders.mongo.appender.MongoDbLogAppender", + "pluginTypeName":"MongoDB", + "tenantId":"1" +} +``` -## Configuration +## Configure log appender -The MongoDB log appender configuration must match to - [this]({{github_url}}server/appenders/mongo-appender/src/main/avro/mongodb-appender-config.avsc) Avro schema. +The MongoDB log appender configuration must match [this Avro schema]({{github_url}}server/appenders/mongo-appender/src/main/avro/mongodb-appender-config.avsc). Fields of avro schema: @@ -96,67 +153,7 @@ An example configuration that matches to previously introduced Avro schema is as } ``` -## Administration - -The following Admin REST API call example illustrates how to create a new MongoDB log appender. - -```bash -curl -v -S -u devuser:devuser123 -X POST -H 'Content-Type: application/json' -d @mongoDBLogAppender.json "http://localhost:8080/kaaAdmin/rest/api/logAppender" | python -mjson.tool -``` - -where file `mongoDBLogAppender.json` contains the following data: - -``` -{ - "pluginClassName":"org.kaaproject.kaa.server.appenders.mongo.appender.MongoDbLogAppender", - "pluginTypeName":"MongoDB", - "applicationId":"5", - "applicationToken":"82635305199158071549", - "name":"Sample MongoDB log appender", - "description":"Sample MngoDB log appender", - "headerStructure":[ - "KEYHASH", - "VERSION", - "TIMESTAMP", - "TOKEN", - "LSVERSION" - ], - "maxLogSchemaVersion":2147483647, - "minLogSchemaVersion":1, - "tenantId":"1", - "jsonConfiguration":"{\"mongoServers\":[{\"host\":\"localhost\",\"port\":27017}],\"mongoCredentials\":[],\"dbName\":\"kaa\",\"connectionsPerHost\":{\"int\":30},\"maxWaitTime\":{\"int\":120000},\"connectionTimeout\":{\"int\":5000},\"socketTimeout\":{\"int\":0},\"socketKeepalive\":{\"boolean\":false},\"includeClientProfile\":{\"boolean\":false},\"includeServerProfile\":{\"boolean\":false}}" -} -``` - -Example result: - -```json -{ - "applicationId":"5", - "applicationToken":"82635305199158071549", - "confirmDelivery":true, - "createdTime":1466504475844, - "createdUsername":"devuser", - "description":"Sample MongoDB log appender", - "headerStructure":[ - "KEYHASH", - "VERSION", - "TIMESTAMP", - "TOKEN", - "LSVERSION" - ], - "id":"163840", - "jsonConfiguration":"{\"mongoServers\":[{\"host\":\"localhost\",\"port\":27017}],\"mongoCredentials\":[],\"dbName\":\"kaa\",\"connectionsPerHost\":{\"int\":30},\"maxWaitTime\":{\"int\":120000},\"connectionTimeout\":{\"int\":5000},\"socketTimeout\":{\"int\":0},\"socketKeepalive\":{\"boolean\":false},\"includeClientProfile\":{\"boolean\":false},\"includeServerProfile\":{\"boolean\":false}}", - "maxLogSchemaVersion":2147483647, - "minLogSchemaVersion":1, - "name":"Sample MngoDB log appender", - "pluginClassName":"org.kaaproject.kaa.server.appenders.mongo.appender.MongoDbLogAppender", - "pluginTypeName":"MongoDB", - "tenantId":"1" -} -``` - -# Playing with MongoDB log appender +## Playing with MongoDB log appender We'll use [Data collection demo](https://github.com/kaaproject/sample-apps/tree/master/datacollection/source) from Kaa Sandbox. Our example will send data to Kaa and then persist it to MongoDB. Also, we'll do selection queries on persisted data. From ffc5ff3d4453c3cb72ccf53efecce173060fda8c Mon Sep 17 00:00:00 2001 From: tmakhmudov Date: Thu, 8 Dec 2016 20:48:59 +0200 Subject: [PATCH 3/5] Interim commit. --- .../MongoDB-log-appender/index.md | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md index 66ecaeecc2..ced6d0c8ba 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md @@ -48,7 +48,7 @@ where file `mongoDBLogAppender.json` contains the following data. "applicationId":"5", "applicationToken":"82635305199158071549", "name":"Sample MongoDB log appender", - "description":"Sample MngoDB log appender", + "description":"Sample MongoDB log appender", "headerStructure":[ "KEYHASH", "VERSION", @@ -95,24 +95,25 @@ Below is an example result. The MongoDB log appender configuration must match [this Avro schema]({{github_url}}server/appenders/mongo-appender/src/main/avro/mongodb-appender-config.avsc). -Fields of avro schema: +You can configure the following log appender settings: + +* **MongoDB nodes** -- list of MongoDB hosts. +* **Authentication credentials** -- credentials used to authenticate on MongoDB cluster. -* MongoDB nodes - list of MongoDB hosts. -* Authentication credentials - credentials used to authenticate on MongoDB cluster. -* Other fields which configure of connection to MongoDB. +The rest of the connection settings are described in the table below. -|name |description | +|Name |Description | |-----------------------|-----------------------------------------------------------------------| -|dbName |Name of the database | -|connectionsPerHost |Max number of connections per host | -|maxWaitTime |Max wait time for connection in milliseconds | -|connectionTimeout |Connection timeout in milliseconds | -|socketTimeout |Socket timeout in milliseconds | -|socketKeepalive |Turn on socket keep alive (boolean value) | -|includeClientProfile |Whether to include client-side endpoint profile data (boolean value) | -|includeServerProfile |Whether to include server-side endpoint profile data (boolean value) | +|`dbName` |Database name. | +|`connectionsPerHost` |Maximum number of connections per host. | +|`maxWaitTime` |Maximum wait time for connection in milliseconds. | +|`connectionTimeout` |Connection timeout in milliseconds. | +|`socketTimeout` |Socket timeout in milliseconds. | +|`socketKeepalive` |Turn on socket keep alive (boolean value). | +|`includeClientProfile` |Specifies whether to include client-side endpoint profile data (boolean value). | +|`includeServerProfile` |Whether to include server-side endpoint profile data (boolean value). | -An example configuration that matches to previously introduced Avro schema is as below: +Below is an example configuration that matches the mentioned Avro schema. ```json { @@ -155,10 +156,11 @@ An example configuration that matches to previously introduced Avro schema is as ## Playing with MongoDB log appender -We'll use [Data collection demo](https://github.com/kaaproject/sample-apps/tree/master/datacollection/source) from Kaa Sandbox. Our example will send data -to Kaa and then persist it to MongoDB. Also, we'll do selection queries on persisted data. +The example below uses the **Data collection demo** from [Kaa Sandbox]({{root_url}}Glossary/#kaa-sandbox). +The log appender will send data to Kaa and then persist it to MongoDB. +Some selection queries will be demonstrated using the persisted data. -We have next log schema: +Below is the log schema for the application. ```json { @@ -179,7 +181,7 @@ We have next log schema: } ``` -The following JSON example matches the previous schema. +The following JSON example matches the above schema. ```json { From 7aee828286cfe50d4e9b6d29db5b088b71497496 Mon Sep 17 00:00:00 2001 From: tmakhmudov Date: Thu, 8 Dec 2016 21:15:35 +0200 Subject: [PATCH 4/5] KAA-1581: MongoDB log appender - reviewed. [master] --- .../Flume-log-appender/index.md | 2 +- .../MongoDB-log-appender/index.md | 82 +++++++------------ 2 files changed, 32 insertions(+), 52 deletions(-) diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/Flume-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/Flume-log-appender/index.md index 8ac033c88a..fabce03583 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/Flume-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/Flume-log-appender/index.md @@ -380,7 +380,7 @@ This Avro schema is obtained trough the [server REST API call]({{root_url}}Progr The example below uses the **Data collection demo** from [Kaa Sandbox]({{root_url}}Glossary/#kaa-sandbox). -To play around with the log appender: +To play around with the log appender: 1. Open the Data collection demo from Kaa Sandbox, follow the application installation instructions, and run the application. diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md index ced6d0c8ba..1c246787a2 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md @@ -23,7 +23,7 @@ To create a MongoDB log appender for your application using the [Administration Click **Add log appender**. 3. On the **Log appender details** page, enter the necessary information and set the **Type** field to **MongoDB**. -![Add log appender in Admin UI](attach/add-log-appender-in-admin-ui.png) + ![Add log appender in Admin UI](attach/add-log-appender-in-admin-ui.png) 4. Fill in the **Configuration** section for your log appender and click **Add**. See [Configure log appender](#configure-log-appender). @@ -191,55 +191,35 @@ The following JSON example matches the above schema. ``` -1. Go to Data collection demos in Sandbox. -![Data collection demo in Sandbox](attach/data-collection-demo-in-sandbox.png) -2. In the Admin UI follow to **Data collection demo** application. -![Data collection Demo Admin UI](attach/mongodb-log-appender2.png) -![Add log appender](attach/mongodb-log-appender3.png) -3. There can be one MongoDB log appender. You can add new with your parameters. -4. Enter name of the new appender. -5. Select **MongoDB** appender type. -![Log appender configuration](attach/mongodb-log-appender4.png) -6. Add new node in the **Configuration** section (localhost:27017). -![Add new node](attach/mongodb-log-appender5.png) -7. Also you can add some **Authentication credentials**. -![Authentication credentials](attach/mongodb-log-appender6.png) -8. And other important parameters of configuration. You can change them or use default. -![Other configuration parameters](attach/mongodb-log-appender7.png) -9. Click **Add** button on the top of the screen to create and deploy appender. -![Add button](attach/mongodb-log-appender8.png) -10. Verify that newly created appender has appeared in list. -![Verify newly created log appender](attach/mongodb-log-appender9.png) -11. Now use instructions from Sandbox to run Data collection demo application. -12. After this you should see something like below: - - ```bash - Data collection demo started - Received new sample period: 1 - Sampled temperature 28 1474622330 - Sampled temperature 31 1474622331 - Sampled temperature 32 1474622332 - Sampled temperature 30 1474622333 - Sampled temperature 28 1474622334 - ... - ``` - -13. Let's verify that our logs have been persisted in MongoDB. Go to Sandbox VM and run next command to connect MongoDB: - - ```bash - mongo kaa - db.logs_$your_application_token$.find() - ``` - -14. You should observe similar output: - - ```bash - { "_id" : ObjectId("57d916e8d55fb2073ae3cfbd"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 28, "timeStamp" : 1474622330 } } - { "_id" : ObjectId("57d916e8d55fb2073ae3cfbe"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 31, "timeStamp" : 1474622331 } } - { "_id" : ObjectId("57d916e8d55fb2073ae3cfbf"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 32, "timeStamp" : 1474622332 } } - { "_id" : ObjectId("57d916e8d55fb2073ae3cfc0"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 30, "timeStamp" : 1474622333 } } - { "_id" : ObjectId("57d916e8d55fb2073ae3cfc1"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 28, "timeStamp" : 1474622334 } } - ... - ``` +To play around with the MongoDB log appender: +1. Open the Data collection demo from Kaa Sandbox, follow the application installation instructions, and run the application. + +2. Create a MongoDB log appender as described [above](#create-mongodb-log-appender). + +3. Your running Data collection demo application will display the output similar to the example below. + + Data collection demo started + Received new sample period: 1 + Sampled temperature 28 1474622330 + Sampled temperature 31 1474622331 + Sampled temperature 32 1474622332 + Sampled temperature 30 1474622333 + Sampled temperature 28 1474622334 + ... + +4. To verify that your logs have been persisted to MongoDB, open the Sandbox VM and run the following command. + + mongo kaa + db.logs_$your_application_token$.find() + +5. The following output will be displayed. + + { "_id" : ObjectId("57d916e8d55fb2073ae3cfbd"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 28, "timeStamp" : 1474622330 } } + { "_id" : ObjectId("57d916e8d55fb2073ae3cfbe"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 31, "timeStamp" : 1474622331 } } + { "_id" : ObjectId("57d916e8d55fb2073ae3cfbf"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 32, "timeStamp" : 1474622332 } } + { "_id" : ObjectId("57d916e8d55fb2073ae3cfc0"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 30, "timeStamp" : 1474622333 } } + { "_id" : ObjectId("57d916e8d55fb2073ae3cfc1"), "header" : { "endpointKeyHash" : { "string" : "H0Oclp3Wn/QS25dZCQSbV5ZkjRo=" }, "applicationToken" : { "string" : "65691512829156876532" }, "headerVersion" : { "int" : 1 }, "timestamp" : { "long" : NumberLong("1473844968489") }, "logSchemaVersion" : null }, "event" : { "temperature" : 28, "timeStamp" : 1474622334 } } + ... + If you don't get the desired output or experience other problems, see [Troubleshooting]({{root_url}}Administration-guide/Troubleshooting). From db38143393485dc2ef0ff8cec56c9a5046d40dff Mon Sep 17 00:00:00 2001 From: tmakhmudov Date: Fri, 16 Dec 2016 13:36:50 +0200 Subject: [PATCH 5/5] Fixed upon QA review. --- .../Data-collection/MongoDB-log-appender/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md index 1c246787a2..5c9c6c9887 100644 --- a/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md +++ b/doc/Programming-guide/Key-platform-features/Data-collection/MongoDB-log-appender/index.md @@ -195,7 +195,7 @@ To play around with the MongoDB log appender: 1. Open the Data collection demo from Kaa Sandbox, follow the application installation instructions, and run the application. -2. Create a MongoDB log appender as described [above](#create-mongodb-log-appender). +2. Create a MongoDB log appender as described [above](#create-mongodb-log-appender) or use the one pre-installed in the sample application. 3. Your running Data collection demo application will display the output similar to the example below.