Initial commit for Clover Collector 45/57245/3
authorEddie Arrage <eddie.arrage@huawei.com>
Wed, 9 May 2018 18:33:55 +0000 (18:33 +0000)
committerEddie Arrage <eddie.arrage@huawei.com>
Tue, 12 Jun 2018 06:43:48 +0000 (06:43 +0000)
commitdbece18d19c3977019c6727fcbe7a436031666fe
tree8eda38ba5fc07f5afc82904a610dc0dad859a4a4
parent115d3c9ba4de194534cdf0be827c16e04e49951b
Initial commit for Clover Collector

- Added a container named clover-collector using clover
container as a base with build script
- GRPC server to manage collector process
- Cassandra DB client interface to initialize visibility keyspace
- Init messaging adds table schemas for tracing - traces & spans
- Adds table for monitoring - metrics
- Does not implement Cassandra server but developed using
public Cassandra docker container
- Collector process in simple loop that periodically fetches
traces and monitoring data and inserts to Cassandra - not optimized
for batch retrieval yet for monitoring
- CLI interface added to collector process and used
by GRPC server for configuration
- Simple GRPC client script to test GRPC server and start/stop
of collector process
- Collector process can be configured with access for tracing,
monitoring and Cassandra
- Added a return value in monitoring query method

- Added ability to truncate tracing, metrics and spans tables
in cql
- Added cql prepared statements and batch insert for metrics
and spans
- Align cql connection to cql deployment within k8s
- Fix issue with cql host list using ast and collect process
args with background argument
- Added redis interface to accept service/metric list
externally for monitoring (will work in conjunction
with clover-controller)
- Use k8s DNS names and default ports for monitoring, tracing
and cassandra
- Added yaml manifest renderer/template for collector

Change-Id: I3e4353e28844c4ce9c185ff4638012b66c7fff67
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
19 files changed:
clover/collector/__init__.py [new file with mode: 0644]
clover/collector/build.sh [new file with mode: 0755]
clover/collector/db/__init__.py [new file with mode: 0644]
clover/collector/db/cassops.py [new file with mode: 0644]
clover/collector/db/redisops.py [new file with mode: 0644]
clover/collector/docker/Dockerfile [new file with mode: 0644]
clover/collector/grpc/__init__.py [new file with mode: 0644]
clover/collector/grpc/build_proto.sh [new file with mode: 0755]
clover/collector/grpc/collector.proto [new file with mode: 0644]
clover/collector/grpc/collector_client.py [new file with mode: 0644]
clover/collector/grpc/collector_pb2.py [new file with mode: 0644]
clover/collector/grpc/collector_pb2_grpc.py [new file with mode: 0644]
clover/collector/grpc/collector_server.py [new file with mode: 0644]
clover/collector/process/__init__.py [new file with mode: 0644]
clover/collector/process/collect.py [new file with mode: 0644]
clover/collector/process/grpc_process.sh [new file with mode: 0755]
clover/collector/yaml/manifest.template [new file with mode: 0644]
clover/collector/yaml/render_yaml.py [new file with mode: 0644]
clover/monitoring/monitoring.py