Monitoring TIBCO BusinessEvents Applications - nareshkumarthota/rootrepo GitHub Wiki

TIBCO BusinessEvents applications running on kubernetes cluster can be monitered by using TEA Agent or HAWK Micro Agent.

  1. Moniter BE App with TEA Agent
  2. Moniter BE App with Hawk Microagent

Moniter BE App with TEA Agent

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.

  1. Build the TIBCO BusinessEvents Enterprise Administrator Agent container image by using the script provided by TIBCO BusinessEvents.

    See Containerizing TIBCO BusinessEvents Enterprise Administrator Agent

  2. Push container images of TIBCO BusinessEvents Enterprise Administrator Agent and TIBCO Enterprise Administrator server to respective cloud Container Registry.

  3. Run the TIBCO Enterprise Administrator server.

    For instructions, see readme at TEA_HOME/docker in the TIBCO Enterprise Administrator installation.

  4. 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.
  5. 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
    
  6. (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 the kubectl logs command to view logs of beteagentdeployment.

    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..

Tea Server and BE Teagent SSL Setup

  • 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      

OneWay SSL Setup

  • 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

TwoWay SSL Setup

  • 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

Moniter BE App with HAWK Microagent

TIBCO BusinessEvents application can be monitored using HAWK Microagent. App metrics can be veiwed in HAWK Redtail Web Console.

Follow the below mentioned steps:

  1. While building your BE App provide TIBCO OIHR installer along with BE Installer. If you build from local installation make sure you have configured HAWK_HOME path in be-engine.tra file.

  2. Deploy your TIBCO OIHR container files in kubernetes cluster and get the ip/service address of HAWK agent. Usually this address will be like this.

redtail-agent-0.redtail-agent:2571
  1. Once TIBCO OIHR webconsole is ready. Deploy your BE App prepared in step 1 using helm chart. Make sure to update oihr details in values.yaml file.
oihr:
  enabled: true                      # Set to true, to enable Hawk micro agent
  hkAgentUrl: redtail-agent-0.redtail-agent:2571      # HAWK agent url
  1. If everything configured properly, you will be able to see deployed be app in redtail agent via HAWK Web Console.
⚠️ **GitHub.com Fallback** ⚠️