Skip to content

Configuration Manual for Collector 「Tencent Cloud-MongoDB-Node」

Before reading this article, please read the following first:

Before using this collector, you must install the 「Integration (Core Package)」 and its associated third-party dependency packages

1. Configuration Structure

The configuration structure of this collector is as follows:

Field Type Required Description
regions list Required List of MongoDB regions to be collected
regions[#] str Required Region ID. For example: 'ap-shanghai'. Refer to the appendix for the full table

2. Configuration Example

Python
1
2
3
configs = {
    'regions' : ['ap-shanghai'],
}

Configuration Filter (Optional)

This collector script supports user-defined filters, allowing users to filter target resources via object properties. The filter function returns True or False. - True: The target resource needs to be collected. - False: The target resource does not need to be collected.

Supported object properties for filtering:

Property Description
Address Node access address
Hidden Whether it is a Hidden node
NodeName Node name
Priority Node priority
ReplicateSetId Replica set ID
Role Role
SlaveDelay Master-slave delay, in seconds
Status Node status
Votes Node voting rights
WanServiceAddress Zone information
Zone Available zone where the node resides
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# Example: Enable the filter based on InstanceId and NodeName attributes, with the configuration format as follows:

def filter_instance(instance):
    '''
    return True|False
    '''
    instance_id = instance.get('InstanceId')
    node_name = instance.get('NodeName')
    if instance_id in ['xxx'] and node_name in ['xxx']:
        return True
    return False

###### Do not modify the following contents #####
from guance_integration__runner import Runner
import guance_tencentcloud_mongodb_node__main as main

def run():
    collectors = [
        main.DataCollector(account, collector_configs, filters=[filter_instance]),
    ]
    Runner(collectors).run()

3. Data Reporting Format

After data is synchronized normally, you can view the data in the 「Infrastructure-Resource Catalog」 section of Guance and TrueWatch.

An example of the reported data is as follows:

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "measurement": "tencentcloud_mongodb_node",
  "tags": {
      "Address"          : "172.xx.xx.x: xx",
      "GroupId"          : "node-primary",
      "Hidden"           : "False",
      "InstanceId"       : "cmgo-xxxx",
      "NodeName"         : "cmgo-xxxx_0-node-primary",
      "Priority"         : "1",
      "RegionId"         : "ap-shanghai",
      "ReplicateSetId"   : "cmgo-xxxx_0",
      "Role"             : "PRIMARY",
      "SlaveDelay"       : "0",
      "Status"           : "NORMAL",
      "Votes"            : "1",
      "WanServiceAddress": "",
      "Zone"             : "ap-shanghai-4",
      "name"             : "cmgo-xxxx_0-node-primary"
  },
  "fields": {
    "message": "{Instance JSON data}"
  }
}

Descriptions of some fields are as follows; for more details, refer to the appendix interface response parameters.

Field Type Description
Status string Node status
Includes: NORMAL/STARTUP/RECOVERING/STARTUP2/UNKNOWN/DOWN/ROLLBACK/REMOVED etc

Fields in tags and fields may change with subsequent updates

The value of tags.name is the instance ID, used as a unique identifier

fields.message is a JSON serialized string

X. Appendix

Please refer to the official Huawei Cloud documentation: