Hi,
I am new in this community however I’ve been working with Apigee Hybrid for some time. I have a query about Apigee Hybrid 1.6 and its feature called Diagnostic Collector. I wanted to capture diagnostics for runtime pods but this feature doesn’t seem to be working.
Here’s what I’ve done (following https://cloud.google.com/apigee/docs/hybrid/v1.6/diagnostic-collector)
-
Created Google Cloud Storage Bucket “rad-apigee” in EU region.
-
Created a service account with the Storage Admin role in our project + Downloaded json key file.
-
Configured overrides.yaml for Diagnostic collector as following:
diagnostic:
# required properties:
serviceAccountPath: "./service-accounts/apigee-poc-XYZ-apigee-diagnostic.json"
operation: "LOGGING"
bucket: "rad-apigee"
container: "apigee-runtime"
namespace: "apigee"
podNames:
- apigee-runtime-apigee-poc-XYZ-mvp-dev-0c034c1-160-uhaof-94kg9
- apigee-runtime-apigee-poc-XYZ-mvp-dev-0c034c1-160-uhaof-gq2kz
# optional properties:
tcpDumpDetails:
maxMsgs: 10
timeoutInSeconds: 100
threadDumpDetails:
iterations: 5
delayInSeconds: 2
loggingDetails:
loggerNames:
- ALL
logLevel: FINE
logDuration: 60000
- Ran Diagnostic collector.
$APIGEECTL_HOME/apigeectl diagnostic -f overrides/overrides.yaml
Parsing file: config/values.yaml
Parsing file: overrides/overrides.yaml
Invoking "kubectl apply" with diagnostic YAML config...
namespace/apigee-diagnostic created
peerauthentication.security.istio.io/apigee-diagnostic created
clusterrole.rbac.authorization.k8s.io/apigee-diagnostic created
serviceaccount/apigee-diagnostic created
clusterrolebinding.rbac.authorization.k8s.io/apigee-diagnostic created
secret/apigee-diagnostic-config created
secret/apigee-diagnostic-svc-account created
job.batch/apigee-diagnostic created
- Get the pods in the apigee-diagnostic namespace.
kubectl get pods -n apigee-diagnostic
NAME READY STATUS RESTARTS AGE
apigee-diagnostic-x7585 0/1 Completed 0 77s
- Make note of the pod with the name containing diagnostic-collector.
There is no such a pod! (there's only apigee-diagnostic apigee-diagnostic-x7585)
- There are no logs in the Google Cloud Storage Bucket.
No rows to display
- Delete the Diagnostic collector.
$APIGEECTL_HOME/apigeectl diagnostic delete -f overrides/overrides.yaml
Parsing file: config/values.yaml
Parsing file: overrides/overrides.yaml
Invoking "kubectl delete" with diagnostic YAML config...
namespace "apigee-diagnostic" deleted
peerauthentication.security.istio.io "apigee-diagnostic" deleted
clusterrole.rbac.authorization.k8s.io "apigee-diagnostic" deleted
serviceaccount "apigee-diagnostic" deleted
clusterrolebinding.rbac.authorization.k8s.io "apigee-diagnostic" deleted
secret "apigee-diagnostic-config" deleted
secret "apigee-diagnostic-svc-account" deleted
job.batch "apigee-diagnostic" deleted
Google Cloud Storage Bucket still empty!
I am including output from
kubectl logs -n apigee-diagnostic apigee-diagnostic-x7585
There are some warnings present.
https://drive.google.com/file/d/164n0nnAPbUtVks4RhzLLtFEzJ8FeArGv/view?usp=sharing
I am also including output from
kubectl describe pod -n apigee-diagnostic apigee-diagnostic-x7585
https://drive.google.com/file/d/1xvk7Xx0XcnBV43Z5w6ozpNNBOxL9k8-W/view?usp=sharing
Could you please advise on possible root cause of why is this not working for me? Thank you very much in advance for any kind of help!