Add service dimension

Service dimension is missing in Directory and FileSize Plugins
Default service name for directory and filesize plugin should be
uncategorized

Change-Id: Id80b3f87c5d08d7055017b2595c35552cfad67b4
This commit is contained in:
Kaiyan Sheng
2016-03-01 10:05:27 -07:00
parent 98ba74cbd8
commit c8d88f4f95
4 changed files with 19 additions and 6 deletions

View File

@@ -10,6 +10,8 @@ class Directory(monasca_setup.detection.ServicePlugin):
'directory_names': ['/path/to/directory_1',
'/path/to/directory_2',
...]
service_name example:
'service_name': 'directory-service'
"""
def __init__(self, template_dir, overwrite=True, args=None):
@@ -17,6 +19,6 @@ class Directory(monasca_setup.detection.ServicePlugin):
'args': args,
'template_dir': template_dir,
'overwrite': overwrite,
'service_name': 'directory-service',
'service_name': '',
'directory_names': []}
super(Directory, self).__init__(service_params)

View File

@@ -10,6 +10,8 @@ class FileSize(monasca_setup.detection.ServicePlugin):
'file_dirs_names': [('/path/to/directory_1', ['*'], True),
('/path/to/directory_2', ['file_name2'], False),
('/path/to/directory_3', ['file_name31', 'file_name32'])]
service_name example:
'service_name': 'file-size-service'
"""
def __init__(self, template_dir, overwrite=True, args=None):
@@ -17,7 +19,7 @@ class FileSize(monasca_setup.detection.ServicePlugin):
'args': args,
'template_dir': template_dir,
'overwrite': overwrite,
'service_name': 'file-size-service',
'service_name': '',
'file_dirs_names': [],
'search_pattern': ''}
super(FileSize, self).__init__(service_params)

View File

@@ -104,13 +104,13 @@ class ServicePlugin(Plugin):
log.info("\tMonitoring the size of files {0} in the "
"directory {1}.".format(", ".join(str(name) for name in file_names), file_dir))
config.merge(watch_file_size(file_dir, file_names,
file_recursive))
file_recursive, self.service_name))
if self.directory_names:
for dir_name in self.directory_names:
log.info("\tMonitoring the size of directory {0}.".format(
dir_name))
config.merge(watch_directory(dir_name))
config.merge(watch_directory(dir_name, self.service_name))
# Skip the http_check if disable_http_check is set
if self.args is not None and self.args.get('disable_http_check', False):

View File

@@ -109,7 +109,8 @@ def watch_process_by_username(username, process_name, service=None, component=No
return config
def watch_file_size(directory_name, file_names, file_recursive):
def watch_file_size(directory_name, file_names, file_recursive,
service=None, component=None):
"""Takes a directory, a list of files, recursive flag and returns a
Plugins object with the config set.
"""
@@ -118,17 +119,25 @@ def watch_file_size(directory_name, file_names, file_recursive):
'file_names': file_names,
'recursive': file_recursive}
dimensions = _get_dimensions(service, component)
if len(dimensions) > 0:
parameters['dimensions'] = dimensions
config['file_size'] = {'init_config': None,
'instances': [parameters]}
return config
def watch_directory(directory_name):
def watch_directory(directory_name, service=None, component=None):
"""Takes a directory name and returns a Plugins object with the config set.
"""
config = agent_config.Plugins()
parameters = {'directory': directory_name}
dimensions = _get_dimensions(service, component)
if len(dimensions) > 0:
parameters['dimensions'] = dimensions
config['directory'] = {'init_config': None,
'instances': [parameters]}
return config