Refactored surveil-init
* New options --influxdb will create influxdb database * Works when called directly with python * Use new mongo-uri parameter Change-Id: I73931a447d6e0728e86736364acb61c613414af3
This commit is contained in:
parent
f1ba125b69
commit
36d42c10f8
surveil/cmd
@ -18,6 +18,7 @@ import optparse
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
import influxdb
|
||||
import pymongo
|
||||
import surveilclient.client as sc
|
||||
|
||||
@ -30,6 +31,10 @@ def main():
|
||||
default=False,
|
||||
dest='demo',
|
||||
action="store_true")
|
||||
parser.add_option('-i', '--influxdb',
|
||||
default=False,
|
||||
dest='influxdb',
|
||||
action='store_true')
|
||||
opts, _ = parser.parse_args(sys.argv)
|
||||
|
||||
# Create a basic config in mongodb
|
||||
@ -39,6 +44,16 @@ def main():
|
||||
# Drop the current shinken config
|
||||
mongo.drop_database('shinken')
|
||||
|
||||
if opts.influxdb is True:
|
||||
# Create the InfluxDB database
|
||||
influx_client = influxdb.InfluxDBClient.from_DSN(
|
||||
config.surveil_api_config['influxdb_uri']
|
||||
)
|
||||
|
||||
databases = influx_client.get_list_database()
|
||||
if not any(db['name'] == influx_client._database for db in databases):
|
||||
influx_client.create_database(influx_client._database)
|
||||
|
||||
if mongo.surveil.init.count() == 0:
|
||||
# Mark packs as uploaded
|
||||
print("Uploading packs...")
|
||||
@ -48,8 +63,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/openstack-keystone-http/",
|
||||
]
|
||||
)
|
||||
@ -57,8 +71,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/openstack-glance-http/",
|
||||
]
|
||||
)
|
||||
@ -66,8 +79,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/generic-host/",
|
||||
]
|
||||
)
|
||||
@ -75,8 +87,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/openstack-nova-http/",
|
||||
]
|
||||
)
|
||||
@ -84,8 +95,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/openstack-cinder-http/",
|
||||
]
|
||||
)
|
||||
@ -93,8 +103,7 @@ def main():
|
||||
subprocess.call(
|
||||
[
|
||||
"surveil-pack-upload",
|
||||
"--mongo-url=mongo",
|
||||
"--mongo-port=27017",
|
||||
"--mongo-uri=" + config.surveil_api_config['mongodb_uri'],
|
||||
"/usr/share/monitoring/packs/sfl/openstack-host/",
|
||||
]
|
||||
)
|
||||
@ -238,3 +247,6 @@ def main():
|
||||
|
||||
# Reload the shinken config
|
||||
cli_surveil.config.reload_config()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
@ -30,12 +30,9 @@ def main():
|
||||
prog='surveil-pack-upload',
|
||||
add_help=False,
|
||||
)
|
||||
parser.add_argument('--mongo-url',
|
||||
default='localhost',
|
||||
parser.add_argument('--mongo-uri',
|
||||
default='mongodb://localhost:27017',
|
||||
help='Defaults to localhost', type=str)
|
||||
parser.add_argument('--mongo-port',
|
||||
default=27017,
|
||||
help='Defaults to 27017', type=int)
|
||||
parser.add_argument('pack', metavar='[Pack]', type=str, nargs=1,
|
||||
help='Pack directory')
|
||||
|
||||
@ -73,8 +70,7 @@ def main():
|
||||
config_item[i[0]] = ','.join(i[1])
|
||||
|
||||
# Remove the existing pack from mongodb
|
||||
mongo = mongo_client.MongoClient(host=options.mongo_url,
|
||||
port=options.mongo_port)
|
||||
mongo = mongo_client.MongoClient(options.mongo_uri)
|
||||
mongo_shinken = mongo.shinken
|
||||
for collection in (
|
||||
mongo_shinken.collection_names(include_system_collections=False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user