diff --git a/src/monitoring/.gitlab-ci.yml b/src/monitoring/.gitlab-ci.yml index 24f81d16e566bef01ebcd705f7f7d16205cff58b..073288f705e10a85f5b00b642c613e4044ff8e6d 100644 --- a/src/monitoring/.gitlab-ci.yml +++ b/src/monitoring/.gitlab-ci.yml @@ -1,41 +1,42 @@ -# # build, tag and push the Docker image to the gitlab registry -# build monitoring: -# variables: -# IMAGE_NAME: 'monitoring' # name of the microservice -# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) -# stage: build -# before_script: -# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY -# script: -# - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ -# - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" -# - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" -# after_script: -# - docker rmi $(docker images --quiet --filter=dangling=true) -# rules: -# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' -# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' -# - changes: -# - src/$IMAGE_NAME/**/*.{py,in,yml} -# - src/$IMAGE_NAME/Dockerfile -# - src/$IMAGE_NAME/tests/*.py -# - src/$IMAGE_NAME/tests/Dockerfile -# - manifests/$IMAGE_NAME.yaml -# - .gitlab-ci.yml +# build, tag and push the Docker image to the gitlab registry +build monitoring: + variables: + IMAGE_NAME: 'monitoring' # name of the microservice + IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) + stage: build + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - echo $INFLUXDB_USER + - docker build --build-arg user={$INFLUXDB_USER} --build-arg pass={$INFLUXDB_PASSWORD} --build-arg db={$INFLUXDB_DATABASE} -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile ./src/ + - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" + - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" + after_script: + - docker rmi $(docker images --quiet --filter=dangling=true) + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - changes: + - src/$IMAGE_NAME/**/*.{py,in,yml} + - src/$IMAGE_NAME/Dockerfile + - src/$IMAGE_NAME/tests/*.py + - src/$IMAGE_NAME/tests/Dockerfile + - manifests/$IMAGE_NAME.yaml + - .gitlab-ci.yml kubernetes test: stage: build script: # - kubectl version # - kubectl get all - # - kubectl delete -f "manifests/monitoring.yaml" - # - sleep 15 - # - kubectl apply -f "manifests/monitoring.yaml" - # - sleep 30 - # - kubectl get all - - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf - - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb - - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server + - kubectl delete -f "manifests/monitoring.yaml" + - sleep 15 + - kubectl apply -f "manifests/monitoring.yaml" + - sleep 30 + - kubectl get all + # - kubectl --namespace gitlab-ci describe pod monitoring-595c885c6c-7gcbf + # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf influxdb + # - kubectl --namespace gitlab-ci logs monitoring-595c885c6c-7gcbf server # # test if the Docker image can be pulled from the gitlab registry # test monitoring pull: diff --git a/src/monitoring/Dockerfile b/src/monitoring/Dockerfile index 19d9cf503b2eca6ce553198b6d80acf48af2168d..e36585f28d3c5f844903c44bf21122105db3b150 100644 --- a/src/monitoring/Dockerfile +++ b/src/monitoring/Dockerfile @@ -37,9 +37,9 @@ ENV PORT=7070 ARG user ARG pass ARG db -ENV INFLUXDB_USER = ${user} -ENV INFLUXDB_PASSWORD = ${pass} -ENV INFLUXDB_DATABASE = ${db} +ENV INFLUXDB_USER=$user +ENV INFLUXDB_PASSWORD=$pass +ENV INFLUXDB_DATABASE=$db RUN echo $INFLUXDB_USER RUN echo $INFLUXDB_PASSWORD RUN echo $INFLUXDB_DATABASE diff --git a/src/monitoring/service/MonitoringServiceServicerImpl.py b/src/monitoring/service/MonitoringServiceServicerImpl.py index fb89e7b1621c001b312c15e872d54ff58c361794..34fe706c277a8247e9f376d9029746b61827d319 100644 --- a/src/monitoring/service/MonitoringServiceServicerImpl.py +++ b/src/monitoring/service/MonitoringServiceServicerImpl.py @@ -25,11 +25,12 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService LOGGER.info('Init monitoringService') # Init sqlite monitoring db self.sql_db = sqlite_tools.SQLite('monitoring.db') + + # Create influx_db client + self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) LOGGER.info(INFLUXDB_USER) LOGGER.info(INFLUXDB_PASS) LOGGER.info(INFLUXDB_DB) - # Create influx_db client - self.influx_db = influx_tools.Influx("localhost","8086",INFLUXDB_USER,INFLUXDB_PASS,INFLUXDB_DB) # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi(self, request : monitoring_pb2.CreateKpiRequest, context) -> monitoring_pb2.KpiId :