Forwarding MQ JSON Error Logs to Elasticsearch

Total Page:16

File Type:pdf, Size:1020Kb

Forwarding MQ JSON Error Logs to Elasticsearch Forwarding MQ JSON error logs to Elasticsearch Matthew Whitehead Published on 02/08/2019 Introduction In 2016 I wrote an article demonstrating how you could take MQ’s error logs and send them to Elasticsearch for centralised logging and analysis. While that demonstrated some useful ways of centralising your MQ error logs, it also demonstrated how complicated it was to parse MQ’s multi-line error log format and create individual log entries that Elasticsearch could handle. Since then MQ has introduced an alternative JSON format for error logs, originally available in MQ 9.0.4. This article demonstrates how to take those JSON formatted error logs and send them to Elasticsearch, with far simpler configuration and no need to handle multi-line error messages. MQ JSON error logs The Diagnostic message logging topic in the Knowledge Center gives an overview of the different error logging options you have and how to configure them. For the purposes of this article I’m going to enable JSON error logs for 3 queue managers, each writing to /var/mqm/qmgrs/QMNAME/errors/AMQERR0x.json. You can also enable JSON logs for system wide error logs and client error logs. Benefits of using JSON error logs There are several reasons why you might want to configure MQ to write error logs as JSON: • To parse them more easily into their constituent parts, for example to extract the error code and QM name from each message • To make it easier to iterate over a list of error messages, because each JSON entry is on a single line in the file • To forward and consume the logs in tooling designed to store logs from multiple sources It’s this last point that is the focus of this article. I’m going to be using Elasticsearch 7.2.1, Kibana 7.2.1 and Filebeat 7.3 to collect the error logs for all 3 of my queue managers. Filebeat will consume log entries written to the files, it will pull out all of the JSON fields for each message and forward them to Elasticsearch. I’ll then use Kibana to browse the log entries and create some visualisations to help me understand what is happening with my queue managers. Turning on JSON error logs for a queue manager To configure JSON errors I’m going to add the following stanza to the qm.ini file for each of my queue managers: DiagnosticMessages: Service = File Name = JSONLogs Format = json FilePrefix = AMQERR It is not possible to disable the existing AMQERR0x.LOG files, so the JSON error logs will be written in addition to the usual text error logs. Once I have done this and restarted my queue managers, the error directories for each queue manager now look like this: mwhitehead@ubuntu:~$ ls /var/mqm/qmgrs/QM1/errors/ AMQERR01.json AMQERR01.LOG AMQERR02.json AMQERR02.LOG AMQERR03.json AMQERR03.LOG mwhitehead@ubuntu:~$ If we now take a look in AMQERR01.JSON we’ll see entries like this: {"ibm_messageId":"AMQ5041I","ibm_arithInsert1":0,"ibm_arithInsert2":0,"ibm _commentInsert1":"LOGGER-IO",... {"ibm_messageId":"AMQ8004I","ibm_arithInsert1":0,"ibm_arithInsert2":0,"ibm _commentInsert3":"QM1",... {"ibm_messageId":"AMQ5029I","ibm_arithInsert1":10621,"ibm_arithInsert2":0, "ibm_commentInsert1":"SYSTEM.AMQP.SERVICE",... You can see that each message is in a separate JSON object on its own line, and each part of the error message is in its own JSON field, so it’s easy with JSON tooling to pull out, for example, all of the message IDs by extracting just the ibm_messageId field or the message description itself by extracting just the message field. Configuring Filebeat to consume the files as JSON and forward them to Elasticsearch Now I have MQ error logs being written as JSON objects I can configure Filebeat to read the JSON files and forward them to Elasticsearch. For my configuration I’m going to edit the default filebeat configuration in /etc/filebeat/filebeat.yml. This file contains a lot of configuration options to do with which files to read, how to parse them, and where to send them to. Below is the filebeat.inputs section I have configured in filebeat.yml. The rest of the configuration file has been left to its default settings: filebeat.inputs: - type: log enabled: true paths: - /var/mqm/qmgrs/*/errors/*.json json.keys_under_root: true json.message_key: message There are a few points to note about this configuration. Firstly, by using “/*/” in the path where the queue manager name would go, I can have Filebeat look for files in all of my queue manager directories. Secondly, by specifying the json.keys_under_root attribute I can tell Filebeat to extract each of the JSON fields in the MQ error messages and put them as top- level fields in the Elasticsearch message. This makes it easier to select and filter on each of the MQ JSON fields in Kibana. Depending on where you have installed Elasticsearch and Kibana you may need to modify the default configuration for where Filebeat sends its data to. If you have Elasticsearch and Kibana running on the same host as Filebeat and on the default ports, you may not need to modify the default settings. Simply start Filebeat and it will begin reading the MQ error logs and sending them to Elasticsearch. Viewing and filtering error messages in Kibana When you first load Kibana you will be asked to create a Kibana index for your filebeat data. Follow the instructions in Kibana for creating an index. When creating an index you will be asked to choose which timestamp field to use as the time index for error log messages. If you select the @timestamp field, messages will be indexed based on the time Filebeat read them from the MQ error logs. If you wish to index them based on the time MQ wrote them to the error logs, choose the ibm_datatime field as the timestamp index instead: Selecting the MQ timestamp field Once you have created the index and allowed Filebeat some time to read and send the MQ error logs you can use the Discover view in Kibana to preview the data in Elasticsearch. By default you get a histogram view showing the number of error log messages written for the given time period, and a table listing the error log messages and their fields. Here’s my Kibana view after starting it for the first time: Kibana dashboard showing MQ error log messages The default view is quite noisy so the first thing we can do is choose the MQ message fields we are interested in. Using the list of available fields on the left of the dashboard, select the MQ fields you are interested in seeing. For example message, which is the translated MQ error message text, and ibm_serverName which contains the name of the queue manager: Kibana dashboard with specific MQ fields This view is more useful than the default dashboard but it still shows us every single MQ error log message, many of which we may not be interested in seeing. One way of restricting the types of message shown in the dashboard is to filter the view based on the value of one or more MQ fields. For example, perhaps we would like to see any authentication attempts that failed because the application didn’t provide the correct credentials for the current CONNAUTH setup. We can create a filter that only includes messages who’s ibm_messageId starts with “AMQ5542”: Filtering to only show AMQ5542 messages Notice how I’ve also added a new field to the view – ibm_commentInsert1. MQ error log messages have up to 2 arithmetic inserts and 3 comment inserts. If we know what each of the inserts contains for particular message IDs we can see more useful information about the message. For AMQ5542 messages the ibm_commentInsert1 field contains the user ID that failed the CONNAUTH check so adding it to the dashboard allows me to see which user IDs are failing CONNAUTH checks and against which queue managers. Finally, if you decide that you are only ever going to want to show higher severity messages in Kibana, there is an option in MQ to configure the severity of the messages written to the error logs. This has the advantage that you won’t be unnecessarily sending every single MQ message to Elasticsearch, but has the down side that if you want to see informational messages in the future you’ll have to update your MQ configuration. To limit the severity of message sent to the MQ JSON error logs add the Severities attribute to your DiagnosticMessages stanza: DiagnosticMessages: Service = File Name = JSONLogs Format = json FilePrefix = AMQERR Severities=W+ By specifying W+ MQ will write messages that are of warning severity or higher. You could specify E+ to get only the error severity messages (or higher). Here’s a screenshot of my Kibana dashboard for a queue manager that only shows warning messages or higher. Note that I’ve also added the loglevel field to the dashboard: MQ only writing warning severity messages or higher Summary Hopefully this article has given you an overview of the JSON error logging options in MQ and how they make it much easier to send MQ error log messages to Elasticsearch for analysis and visualisation. .
Recommended publications
  • Windows Registry Troubleshooting
    Halsey · Bettany BOOKS FOR PROFESSIONALS BY PROFESSIONALS® WINDOWS TROUBLESHOOTING SERIES Windows Registry Troubleshooting Windows Registry Troubleshooting Windows Windows Registry Troubleshooting will help IT pros diagnose and repair problems with any Windows version in the workplace, including hardware and so ware incompatibilities, corrupt registries and how to implement common tweaks and hacks. Whatever version of Windows you’re using—from Vista up to Windows 8.1—the registry is at the heart of your desktop experience. So ware installs and compatibility, hardware operation, and more are managed by a complex database of codes and numbers. When something goes wrong it can seem impossible to diagnose and repair the problem, and harder still to prevent a recurrence or make the subtle changes and tweaks required to x the problem. In Windows Registry Troubleshooting we’ll take you inside the workings of the Registry, and teach you how to repair, modify and clean it to keep your PCs running smoothly. Highlights include: • How to navigate the architecture of the Windows Registry • How to troubleshoot faulty and corrupt Registry items • How to edit and work with the Registry fi les of other users on a PC • What tools and utilities can help you work with and repair the Registry • How to secure the registry on a Windows PC Windows • What Registry tweaks and hacks can make using your Windows PC a better experience Registry Troubleshooting Diagnose and repair problems with any ISBN 978-1-4842-0993-6 Windows version from Vista to Windows 8.1 52499 US $24.99 — Shelve in Mike Halsey, MVP 9781484 209936 Windows/General Andrew Bettany, MVP www.apress.com For your convenience Apress has placed some of the front matter material after the index.
    [Show full text]
  • PHP Introduction
    PHP PHP ─ Introduction PHP started out as a small open source project that evolved as more and more people found out how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994. PHP is a recursive acronym for "PHP: Hypertext Preprocessor". PHP is a server side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, even build entire e- commerce sites. It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server. PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the Unix side. The MySQL server, once started, executes even very complex queries with huge result sets in record-setting time. PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added support for Java and distributed object architectures (COM and CORBA), making n-tier development a possibility for the first time. PHP is forgiving: PHP language tries to be as forgiving as possible. PHP Syntax is C-Like. Common Uses of PHP PHP performs system functions, i.e. from files on a system it can create, open, read, write, and close them. The other uses of PHP are: PHP can handle forms, i.e. gather data from files, save data to a file, thru email you can send data, return data to the user. You add, delete, modify elements within your database thru PHP. Access cookies variables and set cookies. Using PHP, you can restrict users to access some pages of your website.
    [Show full text]
  • Pyyaml, Flickrapi and Tkinter
    PyYAML, flickrapi and Tkinter In a Desktop Image Display App Doug Latornell <[email protected]> VanPyZ :: 1 December 2009 2 Cool Things ● YAML as an alternative to INI for configuration files ● Access to Flickr from Python ...And 1 Useful One ● Tkinter – GUI interface toolkit in Python stdlib – Cross platform Dude, Where are the Pictures? The Big Picture But How? ● Sequential boring... ● Random annoyingly... random... LivingPics ● Display images from local or network connected storage, or Flickr ● Control the randomness and repetitiousness of the display ● Something to do while recovering from 2 broken wrists! INI Config [Timing] noshowhrs = 4.0 displaysecs = 10 [Exclusion List] exclusionlist = ./exclusion_list.txt [Image Sources] defaultsource = /Users/doug/Pictures/iPhoto Library/Originals imagesources = /Users/doug/Pictures/iPhoto Library/Originals, "" /Users/doug/Pictures/iPhoto Library/Modified/2006/Big Island of Hawaii, "" /Users/doug/Pictures/iPhoto Library/Originals/2005, "" http://www.flickr.com/photos/sada_images/, "Our flickr Stream" [Image Selection] probofjump = 0.05 rangeincr = 20 rangedecr = -10 YAML ● YAML Ain't Markup Language ● “a human friendly data serialization standard for all programming languages” YAML Config exclude_file: exclusions.yaml img_selection: prob_of_jump: 0.05 range_decr: -10 range_incr: 20 img_srcs: current_src: /Users/doug/Pictures/iPhoto Library/Originals stored_srcs: - nickname: null src: /Users/doug/Pictures/iPhoto Library/Originals - nickname: Our flickr Stream src: http://www.flickr.com/photos/sada_images/
    [Show full text]
  • Continuum & PHP
    Continuum & PHP 5.6 UPGRADING FROM PHP 5.3 WISP / LAMP NOTES WISP Platform Where do I get the update from? Windows binaries for PHP 5.6.x can be downloaded from http://windows.php.net/download/ - ​ ​ it should be the non thread safe 32-bit version that is used (x86 Non Thread Safe). What if I’m using WinCache? PHP 5.6 includes it’s own op caching, so if you use WinCache this will need to be uninstalled or commented out (using a semi-colon) in your PHP config. How can I tell if I’m using WinCache? This can be determined by visiting http://{{your-site-URL}}/jadu/maintenance/phpinfo.php in a ​ ​ browser whilst signed into the control centre, or by using apache2ctl -M from the ​ ​ command prompt. If you’re using it then you’ll see it listed there. Do I need driver updates? This depends upon your current set-up; if you don’t already have it you’ll need Microsoft ODBC Driver 11 installing and can then copy php_sqlsrv_56_nts.dll and php_pdo_sqlsrv_56_nts.dll into your PHP install’s ext folder. With these in place you’ll then need to update your php.ini to point at these in place of the PHP 5.3 equivalents. LAMP Platform In most cases this will mean you’re using CentOS or Red Hat as these are the supported Linux distributions for the Continuum platform. How do I do update PHP on CentOS/RHEL 6.x? What you’ll need to run will differ slightly depending on which distribution (CentOS vs.
    [Show full text]
  • Web Enablement Kit Implementation Guide
    DB2 ® IBM DB2 Content Manager OnDemand for Multiplatforms Version 8 Release 3 Web Enablement Kit Implementation Guide SC18-9231-00 DB2 ® IBM DB2 Content Manager OnDemand for Multiplatforms Version 8 Release 3 Web Enablement Kit Implementation Guide SC18-9231-00 Note Before using this information and the product it supports, read the information in “Notices” on page 187. First Edition (October 2004) This edition replaces IBM DB2 Content Manager OnDemand for Multiplatforms Version 7.1 Web Enablement Kit Implementation Guide (SC27-1000-03) This edition applies to IBM DB2 Content Manager OnDemand for Multiplatforms Version 8 Release 3 (product number 5724-J33) and to all subsequent releases and modifications until otherwise indicated in new editions. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). © Copyright International Business Machines Corporation 1996, 2004. All rights reserved. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this publication . vii Installing on Solaris . .19 How this publication is organized. vii Your next step . .19 Who should use this publication . viii Installing on Windows servers . .20 What you should already know . viii Your next step . .20 Where to find more information . .ix Information center . .ix Chapter 5. Deploying the CGI program 21 PDF publications. .ix Before you begin . .21 Accessibility information for OnDemand . .x Copying CGI program files . .21 Support available on the Web . .x Your next step . .21 Education and training . .x How to send your comments . .x Chapter 6. Deploying the Java servlet 23 || What’s new in Version 8.3 .
    [Show full text]
  • ACCELERATION of STRUCTURED and HETEROGENEOUS CONFIGURATION of the APPLICATIONS1 Alexander P
    ACCELERATION OF STRUCTURED AND HETEROGENEOUS CONFIGURATION OF THE APPLICATIONS1 Alexander P. Penev, Dimcho S. Dimov, Dobromir P. Kralchev This paper treats some aspects of configuring applications, libraries, and object classes. We are proposing heterogeneous and structured approach, to define para­ meters of the systems, based on hierarchies of attribute-value (pairs) with addi­ tional metadata. This approach uses multiple levels and multiple formats of the configuration sources (files, databases, etc.). We are proposing a method for caching of configuration sources, which are security insensitive, in order to ac­ celerate them. 1. INTRODUCTION The present-day applications more and more often pay attention to contriv­ ances for settings from system administrators (super users) and users. There­ fore, usually one of a basic subsystem of the core of every application is a con­ figuration subsystem. Configuring is a process of setting some elements parameters of the system (functions, methods, objects, classes, modules, libraries, subsystem, dynamic loaded modules, etc.). There are many [2-13] approaches for configuring applications and libraries. They have pros and cons. Usually every library, framework, or application has its own approach to configure (and its own file format for saving configuration). The basic differences among them are configuration file format, number, and organization of the files, as well as their location in the system. For the needs of the developed from the authors applied system, OpenF [1], an approach is used which is based on the below described characteristics of the methods for configuring. This approach is open for integration of almost all aspects of the other systems. In addition, a configuration files hierarchy, and metadata are used.
    [Show full text]
  • Administrator's Guide Administrator's Databridge Client for Kafka Administrator's Guide Guide Administrator's Kafka for Client Databridge Docsys (En) 5 January 2020
    docsys (en) 5 January 2020 Databridge Client for Kafka Administrator's Guide Administrator's Guide Databridge Client for Kafka Version 6.6 Service Pack 1 docsys (en) 5 January 2020 docsys Legal Notices © Copyright 2020 Micro Focus or one of its affiliates. The only warranties for products and services of Micro Focus and its affiliates and licensors (“Micro Focus”) are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. Micro Focus shall not be liable for technical or editorial errors or omissions contained herein. The information contained herein is subject to change without notice. Patents This Micro Focus software is protected by the following U.S. patents: 6983315,7571180, 7836493, 8332489, and 8214884 Trademarks Micro Focus, the Micro Focus logo, and Reflection among others, are trademarks or registered trademarks of Micro Focus or its subsidiaries or affiliated companies in the United Kingdom, United States and other countries. RSA Secured and the RSA Secured logo are registered trademark of RSA Security Inc. All other trademarks, trade names, or company names referenced herein are used for identification only and are the property of their respective owners. Third-Party Notices Third-party notices, including copyrights and software license texts, can be found in a 'thirdpartynotices' file located in the root directory of the software. 2 1 Introduction 5 Introducing the Databridge Client for Kafka . 5 Kafka Overview and Roles . 6 Brokers . 6 Clusters . 7 Consumers . 7 Producers . 7 Topics . 7 Data Format. 8 Installing Databridge Client for Kafka . .10 2 Getting Started 11 Creating Client Control Tables .
    [Show full text]
  • Installing and Configuring PHP
    05 6205 CH03.qxd 11/20/03 11:27 AM Page 51 CHAPTER 3 Installing and Configuring PHP In the last of the three installation-related chapters, you will acquire, install, and configure PHP and make some basic changes to your Apache installation. In this chapter, you will learn . How to install PHP with Apache on Linux/Unix . How to install PHP with Apache server on Windows . How to test your PHP installation . How to find help when things go wrong . The basics of the PHP language Current and Future Versions of PHP The installation instructions in this chapter refer to PHP version 4.3.3, which is the current version of the software. The PHP Group uses minor release numbers for updates containing security enhancements or bug fixes. Minor releases do not follow a set release schedule; when enhancements or fixes are added to the code and thor- oughly tested, the PHP Group will releases a new version, with a new minor version number. It is possible that by the time you purchase this book, the minor version number will have changed, to 4.3.4 or beyond. If that is the case, you should read the list of changes at http://www.php.net/ChangeLog-4.php for any changes regarding the installation or configuration process, which makes up the bulk of this chapter. Although it is unlikely that any installation instructions will change between minor version updates, you should get in the habit of always checking the changelog of software that you install and maintain. If a minor version change does occur during the time you are reading this book, but no installation changes are noted in the 05 6205 CH03.qxd 11/20/03 11:27 AM Page 52 52 Chapter 3 changelog, simply make a mental note and substitute the new version number wherever it appears in the installation instructions and accompanying figures.
    [Show full text]
  • Python Language
    Python Language #python Table of Contents About 1 Chapter 1: Getting started with Python Language 2 Remarks 2 Versions 3 Python 3.x 3 Python 2.x 3 Examples 4 Getting Started 4 Verify if Python is installed 4 Hello, World in Python using IDLE 5 Hello World Python file 5 Launch an interactive Python shell 6 Other Online Shells 7 Run commands as a string 7 Shells and Beyond 8 Creating variables and assigning values 8 User Input 12 IDLE - Python GUI 13 Troubleshooting 14 Datatypes 15 Built-in Types 15 Booleans 15 Numbers 15 Strings 16 Sequences and collections 16 Built-in constants 17 Testing the type of variables 18 Converting between datatypes 18 Explicit string type at definition of literals 19 Mutable and Immutable Data Types 19 Built in Modules and Functions 20 Block Indentation 24 Spaces vs. Tabs 25 Collection Types 25 Help Utility 30 Creating a module 31 String function - str() and repr() 32 repr() 33 str() 33 Installing external modules using pip 34 Finding / installing a package 34 Upgrading installed packages 34 Upgrading pip 35 Installation of Python 2.7.x and 3.x 35 Chapter 2: *args and **kwargs 38 Remarks 38 h11 38 h12 38 h13 38 Examples 39 Using *args when writing functions 39 Using **kwargs when writing functions 39 Using *args when calling functions 40 Using **kwargs when calling functions 41 Using *args when calling functions 41 Keyword-only and Keyword-required arguments 42 Populating kwarg values with a dictionary 42 **kwargs and default values 42 Chapter 3: 2to3 tool 43 Syntax 43 Parameters 43 Remarks 44 Examples 44 Basic
    [Show full text]
  • Initialization Parameters Technical Bulletin
    Technical Bulletin Issue Date June 28, 2006 Supersedes June 18, 2004 Initialization Parameters Initialization Parameters ......................................................................2 Introduction........................................................................................................2 Key Concepts.....................................................................................................3 Theory of Operation .........................................................................................................3 Initialization Files..............................................................................................................4 WIN.INI File Parameters ..................................................................................................6 SYSTEM.INI File Parameters.........................................................................................10 Metasys WIN.INI File .....................................................................................................12 METASYS.INI File Parameters ......................................................................................12 Optional METASYS.INI File Parameters........................................................................31 M5 Workstation ..............................................................................................................38 MODEM.INI File Parameters..........................................................................................41 NETMAP.INI File Parameters ........................................................................................44
    [Show full text]
  • Systemtools Software Inc. Hyena Settings Guide
    SystemTools Software Inc. Hyena Settings Guide SystemTools Software, Inc. has created this document to cover copying and sharing settings between Hyena installations. Additional information on Hyena and other SystemTools Software products can be found on our website: http://www.systemtools.com/ Additional support information including FAQ and Knowledge Base can be found on our Support Options page: http://www.systemtools.com/support.htm www.systemtools.com 1 Table of Contents Overview of Hyena’s Settings ................................................................................. 3 Backup and Restore Settings .................................................................................. 6 Save All Settings: ......................................................................................................................... 6 Restore All Settings: .................................................................................................................... 7 Moving and Updating License Information ............................................................ 8 Updating Licensing Information ................................................................................................. 9 Moving Licensing Information To A Different Computer .......................................................... 9 Licensing Multiple Administrators on Citrix or Terminal Server ............................................. 10 Sharing Settings ..................................................................................................
    [Show full text]
  • Implementing the NI Teststand Connector NI Teststand Is a Tool That Allows You to Create and Run Automated Validation Tests Against Any Type of Hardware and Drivers
    Implementing the NI TestStand Connector NI TestStand is a tool that allows you to create and run automated validation tests against any type of hardware and drivers. The NI TestStand Connector allows the results from those tests to display in ThingWorx. The following components are involved in the NI TestStand Connector: • NI TestStand plugin • ThingWorx Edge MicroServer (EMS) • ThingWorx Prerequisites Before implementing the NI TestStand Connector, you must have the following installed: • Visual C++ Redistributable for Visual Studio 2015: https://www.microsoft.com/en- US/download/details.aspx?id=48145 • NI TestStand 2016 Download the NI TestStand Connector 1. Download the “National Instruments TestStand Connector” from the ThingWorx Marketplace: https://marketplace.thingworx.com/. 2. Unzip the downloaded bundle to a known location on your local system. In the following sections, this location is referred to as <NI_TestStand_ Connector>. 3. The NI TestStand Connector download bundle contains both the Edge MicroServer (EMS) and the NI TestStand plugin. 1 Set the Environment Variable Create an environment variable named PTC_TWX_TESTSTAND_PLUGIN_ PATH. For the value of this environment variable, specify the full path to the location of the <NI_TestStand_Connector>\TestStandPlugin\ config.ini file. For example, if the path for the config.ini file is: D:\codebase\ni- teststand-plugin\config.ini, then the environment variable value is D:\codebase\ni-teststand-plugin. ThingWorx Composer Configurations Complete the following steps in ThingWorx Composer. 1. Create a new remote thing with the following settings. This remote thing will receive information from the NI TestStand Connector. • Name—For example, TestStandRemoteThing • Thing Template—RemoteThing • Create the following properties with a Base Type of String: ○ TestName ○ TestResult ○ Utilization Note If you have ThingWorx Apps installed, you can select PTC.SCA.SCO.NITestStandThingTemplate as the Thing Template, which includes these properties 2.
    [Show full text]