-
Notifications
You must be signed in to change notification settings - Fork 4
Monitoring TIBCO BusinessEvents Applications
TIBCO BusinessEvents applications running on kubernetes cluster can be monitored by using TIBCO Enterprise Administrator (TEA) or TIBCO Operational Intelligence Hawk RedTail (OIHR)
To monitor TIBCO BusinessEvents applications running on kubernetes cluster, run TIBCO BusinessEvents Enterprise Administrator Agent container in the same Kubernetes namespace as the application.
Note: You can build only Linux container (and not Windows container) of TIBCO BusinessEvents Enterprise Administrator Agent.
-
A TIBCO BusinessEvents application running on kubernetes cluster. See Running an Application.
-
Build the TIBCO BusinessEvents Enterprise Administrator Agent container image by using the script provided by TIBCO BusinessEvents.
See Containerizing TIBCO BusinessEvents Enterprise Administrator Agent
-
Push container images of TIBCO BusinessEvents Enterprise Administrator Agent and TIBCO Enterprise Administrator server to respective cloud Container Registry.
-
Run the TIBCO Enterprise Administrator server.
For instructions, see readme at TEA_HOME/docker in the TIBCO Enterprise Administrator installation.
-
Update the following Kubernetes object specification (
.yaml
) files for TIBCO BusinessEvents Enterprise Administrator Agent:- beteagentdeployment.yaml - A deployment of TIBCO BusinessEvents Enterprise Administrator Agent container image with the TIBCO Enterprise Administrator server URL and login details.
- beteagentinternalservice.yaml - An internal service for connecting to TIBCO BusinessEvents Enterprise Administrator Agent from other nodes
- k8s-authorization.yaml - A ClusterRoleBinding for binding roles to the user. These object specification files are available at BE_HOME->cloud->kubernetes->cloud_name->tea.
-
Create Kubernetes objects required for deploying and running TIBCO BusinessEvents Enterprise Administrator Agent by using the YAML files.
Syntax:
kubectl create -f <kubernetes_object.yaml>
kubectl create -f k8s-authorization.yaml kubectl create -f beteagentdeployment.yaml kubectl create -f beteagentinternalservice.yaml
-
(Optional) If required, you can check logs of TIBCO BusinessEvents Enterprise Administrator Agent pod.
Syntax:
kubectl logs <pod>
For example, use the
kubectl get
command to get the list of pods and then use thekubectl logs
command to view logs ofbeteagentdeployment
.kubectl get pods kubectl logs beteagentdeployment-86d75d5fbc-z9gqt
Launch TIBCO Enterprise Administrator in a web browser by using the external IP and port obtained from the TIBCO Enterprise Administrator external service.
For more details on functioning of TIBCO BusinessEvents Enterprise Administrator Agent, see TIBCO BusinessEvents Administration guide..
- Create a kubernetes secret with certificates
kubectl create secret generic sslcerts --from-file=<certificates folder path>
- Update teaserver and teagent url's to
https
in the k8s deployment file - Add a volume and volumemount to k8s deployment file as follows
apiVersion: apps/v1
kind: Deployment
metadata:
name: beteagent
spec:
replicas: 1
selector:
matchLabels:
dep_name: "be-teagent-label"
template:
metadata:
labels:
dep_name: "be-teagent-label"
spec:
containers:
- name: be-teagent-container
#The BE teagent image repo name. Change this to your teagent image name.
image: "<teagent:6.2.0>"
imagePullPolicy: IfNotPresent
env:
- name: TEA_SERVER_URL
#Change this to your TEA Server service-name.
value: "https://beteaserver-service:8777"
- name: TEA_SERVER_USERNAME
#TEA server authentication. Change these if required.
value: "admin"
- name: TEA_SERVER_PASSWORD
value: "admin"
- name: BE_TEA_AGENT_URL
#Internal service of BE TEA Agent to connect to TEA server
value: "https://beteagent-service:9777"
- name: BE_TEA_AGENT_AUTO_REGISTER_ENABLE
value: "true"
- name: BE_INSTANCE_DISCOVERY_TYPE
value: "k8s"
volumeMounts:
- mountPath: /home/certs
name: tea-certs
resources:
requests:
memory: 700Mi
volumes:
- name: tea-certs
secret:
secretName: sslcerts
- Add the following env's to teagent deployment file
- name: tra.java.property.tea.agent.http.keystore
value: /home/certs/httpserversslkeys.jceks
- name: tra.java.property.tea.agent.http.truststore
value: /home/certs/httpserverssltrusts.jceks
- name: tra.java.property.tea.agent.http.keystore.password
value: password
- name: tra.java.property.tea.agent.http.truststore.password
value: password
- name: tra.java.property.tea.agent.http.keymanager.password
value: password
- name: tra.java.property.tea.agent.http.cert-alias
value: httpserver
- name: tra.java.property.tea.agent.http.want.client.auth
value: "false"
- name: tra.java.property.tea.agent.http.need.client.auth
value: "false"
- name: TEA_SERVER_SSL_ENABLED
value: "true"
- name: TEA_SERVER_SERVER_CERT
value: /home/certs/httpserver.cert
- Add the following env's to teagent deployment file
- name: tra.java.property.tea.agent.http.keystore
value: /home/certs/httpserversslkeys.jceks
- name: tra.java.property.tea.agent.http.truststore
value: /home/certs/httpserverssltrusts.jceks
- name: tra.java.property.tea.agent.http.keystore.password
value: password
- name: tra.java.property.tea.agent.http.truststore.password
value: password
- name: tra.java.property.tea.agent.http.keymanager.password
value: password
- name: tra.java.property.tea.agent.http.cert-alias
value: httpserver
- name: tra.java.property.tea.agent.http.want.client.auth
value: "true"
- name: tra.java.property.tea.agent.http.need.client.auth
value: "true"
- name: TEA_SERVER_SSL_ENABLED
value: "true"
- name: TEA_SERVER_SERVER_CERT
value: /home/certs/httpserver.cert
- name: TEA_SERVER_CLIENT_CERT
value: /home/certs/httpclient.cert
- name: tra.java.property.tea.agent.http.client.keystore
value: /home/certs/httpclientsslkeys.jceks
- name: tra.java.property.tea.agent.http.client.truststore
value: /home/certs/httpclientssltrusts.jceks
- name: tra.java.property.tea.agent.http.client.keystore.password
value: password
- name: tra.java.property.tea.agent.http.client.truststore.password
value: password
- name: tra.java.property.tea.agent.http.client.keymanager.password
value: password
- name: tra.java.property.tea.agent.http.client.cert-alias
value: httpclient
To monitor TIBCO BusinessEvents applications running on kubernetes cluster, run TIBCO Operational Intelligence Hawk RedTail Agent container in the same Kubernetes cluster as the application.
-
Build BE application container image by providing TIBCO OIHR installer along with BE Installers. If you build from local installation make sure you have configured HAWK_HOME path in be-engine.tra file. For additional details refer Preparing for TIBCO BusinessEvents Containerization.
-
Run TIBCO Operational Intelligence Hawk RedTail. For additional details refer here.
-
Make sure that Hawk Agent is running in the same Kubernetes cluster as the BE application. Obtain the Hawk Agent address. Usually this address will be like this.
redtail-agent-0.redtail-agent:2571
- Deploy BE App prepared in step 1 using BE helm chart. Make sure to update OIHR related configurations like below in the values.yaml file:
oihr:
enabled: true # Set to true, to enable Hawk micro agent
hkAgentUrl: redtail-agent-0.redtail-agent:2571 # HAWK agent url
- If everything configured properly, you will be able to see deployed BE application in OIHR Web Console.