monasca-agent/docs/DeveloperDocs/agent_internals.md
Emma Foley 075dcedd08 [docs] Fix links in DeveloperDocs/agent_internals.md
* Fixed broken links
* Hyperlinked text instead of listing a URL
* Added relative file links instead of github links

Change-Id: I5b427d971f4852db5df5db1e909611708dba302d
Closes-Bug: #1696427
2017-06-07 14:25:15 +00:00

4.8 KiB

Table of Contents

Modify_Config

Modify_config is a function in monasca_setup/main.py. It compares existing and detected configurations for each check plugin and writes out the plugin configurations if there are changes.

Examples

There are two examples shown here using http_check to:

  • add a new instance
  • detect endpoint change on an existing http_check instance

Adding a new instance

old_config:

{'init_config': None,
 'instances': [{'built_by': 'HttpCheck',
                'name': 'logging',
                'url': 'http://127.0.0.1:9200',
                'use_keystone': False,
                'match_pattern': '.*VERSION.*',
                'collect_response_time': True,
                'timeout': '10',
                'dimensions': {'service': 'logging'}}]
}

monasca-setup arguments:

$ monasca-setup -d 'HttpCheck' -a 'url=http://192.168.10.6:8070
  match_pattern=.*OK.* name=monasca dimensions=service:monitoring'

input_config generated from monasca-setup:

{'http_check':
    {'instances': [{'built_by': 'HttpCheck',
                    'name': 'monasca',
                    'url': 'http://192.168.10.6:8070',
                    'use_keystone': False,
                    'match_pattern': '.*OK.*',
                    'collect_response_time': True,
                    'timeout': '10',
                    'dimensions': {'service': 'monitoring'}
                    }]
    'init_config': None
    }
}

output_config from modify_config:

{'init_config': None,
 'instances': [{'built_by': 'HttpCheck',
                'name': 'logging',
                'url': 'http://127.0.0.1:9200',
                'use_keystone': False,
                'match_pattern': '.*VERSION.*',
                'collect_response_time': True,
                'timeout': '10',
                'dimensions': {'service': 'logging'}},
               {'built_by': 'HttpCheck',
                'name': 'monasca',
                'url': 'http://192.168.10.6:8070',
                'use_keystone': False,
                'match_pattern': '.*OK.*',
                'collect_response_time': True,
                'timeout': '10',
                'dimensions': {'service': 'monitoring'}}]
}

Changing the current instance

old_config:

{'init_config': None,
 'instances': [{'built_by': 'HttpCheck',
                'name': 'logging',
                'url': 'http://192.168.10.6:8070',
                'use_keystone': False,
                'match_pattern': '.*VERSION.*',
                'collect_response_time': True,
                'timeout': '10',
                'dimensions': {'service': 'logging'}}]
}

monasca-setup arguments:

$ monasca-setup -d 'HttpCheck' -a 'url=https://192.168.10.6:8070
  match_pattern=.*VERSION.* dimensions=service:logging'

input_config generated from monasca-setup:

{'http_check':
   {'instances': [{'built_by': 'HttpCheck',
                    'name': 'https://192.168.10.6:8070',
                    'url': 'https://192.168.10.6:8070',
                    'use_keystone': False,
                    'match_pattern': '.*VERSION.*',
                    'collect_response_time': True,
                    'dimensions': {'service': 'logging'}
                    }]
    'init_config': None
   }
}

output_config from modify_config:

{'init_config': None,
 'instances': [{'built_by': 'HttpCheck',
                'name': 'https://192.168.10.6:8070',
                'url': 'https://192.168.10.6:8070',
                'use_keystone': False,
                'match_pattern': '.*VERSION.*',
                'collect_response_time': True,
                'dimensions': {'service': 'logging'}
                }]
}

Connector

Kubernetes Connector

Kubernetes Connector is a class within monasca-collector utils that is used for connecting to the Kubernetes API from within a container that is running in a k8 cluster.

When a container is brought up in Kubernetes by default there are environmental variables passed in that include needed configurations to connect to the API. Also, the cacert and token that is tied to the serviceaccount the container is under is mounted to the container file system. This class processes both and allows requests to the Kubernetes API.

License

(C) Copyright 2016,2017 Hewlett Packard Enterprise Development LP