August 2019 Update: The Logmet service is no longer available in IBM Cloud.
With the release of IBM Integration Bus version 10.0.0.7, you can now simply view your inventory of integration servers and quickly gain insight into operational logs and usage through all-in-one Bluemix and Logmet Kibana Dashboards. New functional content is provided in this fix pack release that enables you to configure your integration servers to register startup and usage to a new experimental IBM Bluemix Hybrid Connect service. Additionally, the integration server BIP log events can now be published to IBM Bluemix Logmet service and viewed with a Kibana dashboard.
Since the publication of this post, please note the following updates:
- IBM Cloud Product Insights takes over for Hybrid Connect
- Integration Bus fixpack 10.0.0.8 provides enhanced support for the now GA IBM Cloud Product Insights service adding additional usage metric and support for grouping, and simplifying the setup command usage. See:
Exploiting IBM Cloud Product Insights with IBM Integration Bus 10.0.0.8
IBM Integration Bus is just one of a number of IBM products supporting these services, enabling you to implement your unique Bluemix service instances in which product and usage information is securely stored and viewed with a single Bluemix dashboard. Additionally, with these products also being capable of posting their logs to an IBM Bluemix Logmet service, you also have a single point to access each product’s provided Kibana dashboard. By using these Kibana dashboards as references you can optionally construct tailored dashboards to meet your organization’s specific needs.
In this post, I introduce the experimental Bluemix services and provide detailed steps to exploit them from IBM Integration Bus specific to 10.0.0.7.
IBM is providing two new cloud-based services in Bluemix to use with your typically on-premises IBM software products. You can visit the IBM Hybrid Connect Customer Community to obtain details on enabled products, the minimum product support levels, and how you can get other products enabled and provide feedback.
Enterprises can struggle to track product instances, usage, and status. Some have created their own solutions to provide inventory reports and track their usage and access distributed logs.
Hybrid Connect experimental service
Using Hybrid Connect, organizations can configure their enabled IBM software products to report their startup and usage data to a Bluemix service in the IBM Cloud. They can then view information about these products through a dashboard in Bluemix to gain a greater insight into the installations and their runtime usage metrics. The product instance and usage information is securely stored and viewed within the scope or context of your unique Bluemix service.
Bluemix Logmet service and Kibana dashboards
Using the Bluemix Logmet service, organizations can configure their enabled IBM software products and send logging data to a centralized service in the IBM Cloud. They can then view these through a Kibana dashboard in Bluemix and gain an insight into the operation status of all systems.
The Logmet service in Bluemix is an IBM-hosted implementation of the ELK stack. This is formed from a stack of three open source products; Elasticsearch, a clusterable search server; Logstash, a data pipeline technology used to ingest data; and Kibana, a flexible, rapid development web browser-based dashboard technology. Each enabled IBM product provides a pre-built Kibana dashboard.
In this section, I detail how to enable IBM Integration Bus instances to report into an instance of a Hybrid Connect service and then view all instances along with other enabled IBM products in the service’s dashboard.
From Integration Bus version 10.0.0.7, each integration server provides an internal feature to enable it to report its startup and period usage data to an instance of the Hybrid Connect service.
You can choose to send startup and usage information for a specified integration server, or for all integration servers on a specified integration node.
Complete the following steps to enable your IBM Integration Bus integration servers to report startup and usage information to the Hybrid Connect service:
- If you don’t already have one, create an account in IBM Bluemix.
- Create your instance of the Hybrid Connect service
- Within your chosen Bluemix organisation and space, navigate to the Hybrid Connect service and view the instance’s “apikey” on the service credentials tab.
You can visit the IBM Hybrid Connect Customer Community to obtain more details.
- Now you are ready to open an IBM Integration Bus console and use the mqsichangebluemixreporting command to configure a specific integration server, or all integration servers, to send startup and usage information to your Hybrid Connect service instance.
- For example, the following mqsichangebluemixreporting command specifies an integration server called TESTNODE, a reporting interval of 10 minutes, and sets the reporting state to active:
mqsichangebluemixreporting TESTNODE -e myIntegrationServer1 -c active -b https://hybridconnect-api.ng.bluemix.net/api -r startup -u usage -i 10 -k us-south:ag282f6-6jki-4984-8892-7356e196k0l7
Ensure that you use the apikey value for your Hybrid Connect service instance in the “-k” parameter value.
Note: Above command syntax is for v10.0.0.7 only.
- Restart the integration server(s) for the changes to take effect.
- You can use the mqsireportbluemixreporting command to view the current startup and reporting configuration for the integration server.
Once you have configured your integration servers to enable reporting and restarted them, they post information about the instance on each startup and, at the configured interval, the usage data. Note that to do this the integration servers require connectivity to the internet. If the server cannot send data, it issues a BIP6502W; however the data is stored locally and added to the data send in the next interval or start.
Now that your integration servers are configured to send data to your instance of Hybrid Connect service you can login to IBM Bluemix and select the relevant service instance. Your Bluemix services are listed at the end of the home page:
The Hybrid Connect “Manage” tab allows you to view all of the registered product instances. As noted, IBM Integration Bus is just one of the IBM products supporting this service, refer to the IBM Hybrid Connect Customer Community to obtain details of other products.
To view the data for each registered integration server select it in the instances center panel. You can narrow the select by selecting a product in the left hand panel, or using the search instances facility.
Once an instance is selected, the right hand panel switches to initially show the “Usage” for that instance. Currently IBM Integration Bus provides the following metrics;
- Active CPUs for the integration server process at the start of the interval.
Note, for zOS instances this is not applicable and shows as 1.
- CPU usage for the integration server process during the interval.
You can select a time period between 24 hours and 1 year for the usage data to be charted.
You can switch the right hand panel to display “Details”. In this view the details of the IBM product software and the host operating system environment can be viewed.
The integration bus provides the product version and details of any APARs applied, plus the install location and node and server names. Additionally it sends the URL of the web administration console enabling you to use the “Launch Console” action in Hybrid connect to open a new browser tab to drill into the particular instance.
In this section I detail how to enable IBM Integration Bus instances to send their BIP message events into an instance of a Bluemix Logmet service and then view all instances in the provided IBM Integration Bus Kibana dashboard. I also provide a reference to information for customizing your own Kibana dashboards.
Integration Bus reports start, stop, and configuration change informational and warning and error events know as “BIP messages“. Viewing these BIP messages can enable you to understand the operational status of your system and are essential in diagnosing issues. These BIP messages are written to the operating system event log on each host running Integration Bus.
From Integration Bus version 10.0.0.7 each integration server provides an internal feature to enable it to publish it’s BIP messages to an instance of IBM Bluemix Logmet, know as the Hybrid Connect – Logging service. The event data in this centralized Logmet instance can then be queried and the data visualized in Kibana dashboards.
For each integration server, or all servers owned by a single integration node, that you want to send BIP message events to the IBM Bluemix Logmet service, perform the following steps to configure the server and load the IBM Integration Bus Kibana dashboard into your Bluemix space.
Note: When configuring an Integration Bus to use IBM Bluemix Logmet service services you need to provide Bluemix service credentials. Integration Bus does not store your Bluemix password, and the password is only used within the mqsichangebluemixreporting command. If you do not want to provide the Bluemix service credentials directly, see alternative manual configuration steps.
Open an Integration Bus console window and run the mqsichangebluemixreporting command from the host machine that is running your integration node to configure and activate the Logmet logging feature. For example, the following command specifies that all integration servers (as specified by the -g parameter) on integration node TESTNODE report to the IBM Bluemix Logmet service in the us-south region, for the user organisation and space specified.
mqsichangebluemixreporting myIntegrationNode1 -g -l active -z us-south -o email@example.com -p dev -n firstname.lastname@example.org -w pass -d
You can set the logging status to active only if all of the following required parameters are set:
‘-z’ sets the Bluemix region for logging services. Valid values are ‘us-south’ or ‘eu-gb’.
‘-o’ sets the Bluemix organisation for logging services.
‘-p’ sets the Bluemix space for logging services.
‘-n’ sets the Bluemix username for logging services.
‘-w’ sets the Bluemix password for logging services.
‘-d’ indicates publish current IIB Kibana dashboard for logging services.
Note: Above command syntax is for v10.0.0.7 only.
The successful command response is as show below:
Request Bluemix logging tokens: https://logmet.ng.bluemix.net/login
Successful HTTPStatus: 200
Publishing Kibana dashboard
Successful HTTPStatus: 200
Response: Your Kibana 4 dashboards can be accessed at the following location: https://logmet.ng.bluemix.net/app/#/kibana4
The Kibana 4 dashboards that have been uploaded include: IBM Integration Bus Dashboard
BIP8377I: Current dashboard has been loaded into Kibana for Bluemix logging space 'dev'. Dashboard files are also prepared for manual import into Kibana from 'C:\ProgramData\IBM\MQSI\BluemixReporting\TESTNODE'.
Restart the integration node for the changes to take effect. When the reporting status is active, BIP message event information for all integration servers on the specified integration node is reported to the Hybrid Connect â€“ Log Management service. Alternatively, if you specified a named integration server by using the -e parameter, log event information is reported for that integration server only.
You can use the mqsireportbluemixreporting command to view the current logging service configuration for the integration server.
You are now able to view the configured Integration Server BIP message events in the IBM Bluemix Logging service by logging in with the above Bluemix details at the following URLs:
To open the Integration Bus Kibana 4 Dashboard, select the Kibana 4 tab, then the Dashboard tab and then click the “load saved dashboard” open folder icon and select the “IBM Integration Bus Dashboard”.
The IBM Integration Bus dashboard provides a set of charts that enable you to quickly identify the operation status of your integration servers by enabling you to view:
- The machines in your network which are producing the most IIB log events
- The integration servers in your network which are producing the most IIB log events
- The top 5 Log event types
- Number of log events charted against time and categorised by their severity
- Chart plotting stop, start and configure indication events
- A tabular view of the detailed events in the selected time period is also provided.
Note, if you get errors in a loaded Kibana dashboard, it could be that the Logmet index has not been rebuilt since event data from the integration server has been delivered. The events from IBM integration bus use a set of fields that are designed to be consistent with other enabled IBM products, for example
ibm_... fields need to be indexed. To reload the dashboard index pattern, ensure you have sent data events, then in the Kibana4 dashboard, click “Settings –> Indices” and select the existing index pattern. Click the reload icon to refresh the index pattern.
Optionally if you wish to use the Integration bus Kibana 3 dashboard.
Select the Kibana 3 tab. Click the “load” button then open the “advanced” link and browse to the folder containing your prepared IIB dashboard files, as reported when you ran the mqsichangebluemixreporting command response, and select the file “IIB_K3_dashboard_< Bluemix space>.json” file and import. Once the import completes the dashboard is opened. However you must then save it, by clicking the “save” disk icon button, to be able to reopen the next time you login. To re-open the Integration Bus Kibana 3 Dashboard click the “Load” open folder icon button and select “IBM Integration Bus Dashboard”.
Customizing Kibana dashboards
In addition to the IBM Integration Bus Dashboards a number of other IBM Products are providing support for publishing logs to IBM Bluemix Logment service and viewing though sample Kibana dashboards. For more details see the IBM Hybrid Connect Customer Community .
You could also publish your own events into the service using technology such as Filebeat.
You can then use the simple facilities of Kibana to create customized dashboards that meet your specific needs to quickly visualize the status of your environments by combining log event data events using the sample dashboards provided as working references.
For a guide to developing Kibana dashboards in IBM Bluemix see here.
In this article, I have described how you can quickly configure IBM Integration Bus v10.0.0.7 to exploit Bluemix and Logmet Kibana dashboards to quickly and simply view your inventory of integration servers and quickly gain insight into their operational logs and usage.