Skip navigation
1 2 Previous Next

Digital Workplace

24 Posts authored by: John Gallagher Moderator
Share This:

 

 

Logging Table

$AR_SYSTEM_HOME default is "/opt/bmc/digitalworkplace"

 

Problem Area

Logging
Location
ITSM/SRM integrationCombined API/SQL/Filter logging while reproducing the problem, arerror log, remote action log

$AR_SYSTEM_HOME/db

$AR_SYSTEM_HOME/log

Workflow DesignerBundle log, F12 Browser Developer Mode/process log$AR_SYSTEM_HOME/db
UIBundle log, Jetty log, F12 Browser Developer mode & Fiddler$AR_SYSTEM_HOME/db
ConnectorsBundle log, arerror log, F12 Browser Developer mode, Connector logging$AR_SYSTEM_HOME/db
ReportingBundle log, arerror log$AR_SYSTEM_HOME/db
DWP Client Integration

Bundle log, UX debug on the MyIT side, F12 Browser Developer mode & Fiddler
DWP Catalog debug level

$AR_SYSTEM_HOME/db

$DWP_HOME/Logs/dwp-catalog.log

ApprovalsCombined API/SQL/Filter logging while reproducing the problem, remoteaction.log, bundle.log, arerror log

$AR_SYSTEM_HOME/db

$AR_SYSTEM_HOME/Logs

Installationarsystem_install_log.txt, startup logs

$AR_SYSTEM_HOME/Logs

/tmp

Post Install scriptsarerror log, post install log

$AR_SYSTEM_HOME/db

$AR_SYSTEM_HOME/Logs

RSSOarjavaplugin & bundle log, rsso agent logs, rsso debug$AR_SYSTEM_HOME/db
User Group Syncuser synch log, debug log combined api & SQL logging

$AR_SYSTEM_HOME/db

"/src" directory

 

Catalog File System

 

Most of the Catalog related files are contained within the "digitalworkplace" directory, some of the more important directories and files are highlighted in the following illustration

 

 

OSGI Console

 

The Catalog application is run through a variety of different bundles which are loaded once the "dwpcontroller" script is run as part of an platform restart. Unlike the DWP Client, we cannot restart the individual components of the Catalog (without negative consequence) however we can check the Catalog's bundle status by using the Eclipse OSGI Console (Open Services Gateway Initiative).

 

The logging level for OSGI is controlled in the  "$AR_SYSTEM_HOME/conf/config.properties" file

 

 

# Enable osgi console for debugging

osgi.console.enable.builtin=true

osgi.console = 12666

To connect to the console you simply telnet to the Catalog host and execute the "ss" command.

 

[root@clm-aus-123]# telnet localhost 12666

Osgi>ss

Some of the more important Catalog related bundles can be identified by "myservice"

 

If you notice any of these bundles are in a "RESOLVED" state you can attempt to restart as follows:

 

Stop "ID#"

Start “ID#”

In the event the Catalog login page becomes unavailable for all users, restart the "com.bmc.myservice.uiservice-war_0.0.1" and try again. If you are still unable to log in please raise a case with BMC Technical Support. Type "disconnect" to end the session !

 

The connectors and bundles are held within the $AR_SYSTEM_HOME/deployedsmart bundles directory.

 

com.bmc.arsys.myitsb.myitsb-approval-1.7.1.jar

com.bmc.arsys.rx.approval-17.5.0-SNAPSHOT.jar

com.bmc.arsys.rx.assignment-17.5.0-SNAPSHOT.jar

com.bmc.arsys.rx.dataload-17.5.0-SNAPSHOT.jar

com.bmc.arsys.rx.foundation-17.5.0-SNAPSHOT.jar

com.bmc.myservice.bundle-1.0.00-SNAPSHOT.2567-dev.jar

com.bmc.myservice.connect.ad-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.aws-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.azure-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.bao-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.clientmanagement-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.clientmanagementmobile-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.clm-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.cmdb-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.cmdb-api-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.flexera-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.hrcm-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.innovationsuite-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.jira-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.msoffice-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.remedy-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.rest-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.xenapp-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.xendesktop-19.5.0-SNAPSHOT.514-dev.jar

com.bmc.myservice.connect.xenmobile-19.5.0-SNAPSHOT.514-dev.jar

 

 

DWP Controller Scripts

 

The "rxscripts" directory and sub-directories contain many scripts which are called by the Catalog but in some cases you may also run them manually.

 

/bin/check_migrations.sh        Checks migrations

/bin/create_schema.sh             Gets called by the post install script

/bin/current-user.sh                  Checks the current user who’s in the current session

/bin/tenant/find.sh                     Lists all the tenants

/bin/tenant/delete.sh                 Deletes a tenant

/bin/connector/refresh.sh         Refreshes the available connectors

/bin/healthcheck_core.sh         Checks if the Catalog is up or down

/bin/login.sh                               Used to log into Remedy from the command line

/bin/run_migrations.sh             Get's called when DB migrations are required

/bin/setenv.sh                            Sets up the environmental variables to allow the API endpoints

/bin/tenant_seed.sh                  Get’s called by the post install script

/bin/version.sh                          Get's current version by running

/bin/service/search.sh              Lists all catalog services visible by the current DWP user

/bin/process_def                      Remove/find workflow

In order to run these scripts you need to set up your environmental variables by sourcing the "setenv.sh" script

[root@clm-aus-123 bin]# source setenv.sh

 

Once you source the "setenv" script you then need to log into the Catalog from the command line and generate an authentication cookie. Once the mycookies key is generated subsequent scripts (provided they are in the same directory as the mycookie.txt) will run.

 

[root@clm-aus-123 bin]# ./login.sh hannah_admin@coffee.com password

 

eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0NjI0NzMzNjAsIl9pbXBlcnNvbmF0ZWRVc2VyIjpudWxsLCJzdWIiOiJlSHVDUXo5ZUliUFg1UmtxaTlZUkZIMTQwbjhpWXd5SDhkc2FtdmhcL3VMZDF1dzBjbXg5UVM3Y2F2Wm85bWplR1o1T2tRMVE0MFRrQVRmY3lFdUd4Y0V6TGtVTjA0aldieVF3MDZUMGVlVkFcLzhRSEZ0ekpTVHc9PSIsIm5iZiI6MTQ2MjQ2NjA0MCwiaXNzIjoiY2xtLWF1cy0wMTQ1MjciLCJqdGkiOiJJREdBQTVWMEdFTUJDQU9HUFFFQUFBMjQ2MlgzUFciLCJfY2FjaGVJZCI6MzIxOTE2LCJpYXQiOjE0NjI0NjYxNjB9.CHebPeTu8y3JLFnIU8IjozKONMSA28xaaam9ww-e2Gg

 

[root@clm-aus-0123 bin]# ls -lrt

-rw-r--r-- 1 root root   610 Jun 15 14:59 mycookies.txt

 

In the following example I'm running the "find.sh" script to obtain information about a problematic tenant. We can also delete and recreate a tenant using the post install scripts (be careful deleting..)

[root@clm-aus-123 bin]# tenant/find.sh

{"totalSize":1,"data":[{"name":"coffee","domainIdentifier":"coffee.com","tenantId":"f53893b1d382","databaseName":"ARTenantCoffee","status":"Enabled","overlayGroupId":"f53893b1d382","activationStatus":"Completed"}]}[root@clm-aus-0123 bin]#

[root@clm-aus-123 bin]# tenant/delete.sh coffee   

 

Stopping & Starting the Catalog

 

We use the "dwpcontroller" script from the $AR_SYSTEM_HOME directory to restart the Platform and Catalog application

This script also restarts the Platform

[root@clm-aus-0123 digitalworkplace]#./dwpcontroller [-u $user_name] [-p $password] <stop|start|restart>

 

The "start" option calls “/sb/start.sh” which does the following:

 

  • Runs “$AR_SYSTEM_HOME/bin/arsystem start”
  • Checks if the DB/Port is up
  • If the DB is up it calls another script which checks the bundles status
  • If bundles are up another migration script runs which checks the DB to see if anything has changed (such as JARs) and may update a column or add a new table.

 

logback_server.xml debug

 

Logging level is controlled within the "logback_server.xml" which is located in the $AR_SYSTEM_HOME/conf directory

 

Please backup the logback_server.xml before making any changes, XML mistakes may impact the Catalog on start-up.

level=all    Best level of debug but can impact performance

 

      

  <appender name="BUNDLE" class="com.bmc.arsys.logging.ReconfigurableRollingFileAppender">

                <file>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/bundle.log</file>

                <append>true</append>

                <rollingPolicy>

                        <fileNamePattern>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/bundle.log.%i</fileNamePattern>

                        <minIndex>1</minIndex>

                        <maxIndex>10</maxIndex>

                </rollingPolicy>

                <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

                        <maxFileSize>99MB</maxFileSize>

                </triggeringPolicy>

                <!-- Extra param to say log file creation at startup -->

                <needPreLoading>true</needPreLoading>

                <encoder>

                        <pattern>%d{MM-dd HH:mm:ss.SSS} %-4le %c %m%n</pattern>

                </encoder>

        </appender>

 

 

From 19.02 + you can control Catalog logging from the settings page:

 

RSSO debug can be written to the bundle log by adding the following lines under the existing bundle section.

       

   <logger name="com.bmc.rsso" level="DEBUG" additivity="false">

                <appender-ref ref="BUNDLE" />

        </logger>

 

RSSO logging is enabled by making the following two changed to the  the $AR_SYSTEM_HOME/pluginsvr/log4j_pluginsvr.xml file

 

<logger name="com.bmc.arsys.pluginsvr">

<level value="debug" />

</logger>

......

<root>

<priority value ="error" />

<appender-ref ref="PluginLog" />

</root>

 

RSSO Diagnostics

 

Starting with 19.02 we have a new diagnostic tool which checks RSSO configuration is correct. This tool is located in the $AR_SYSTEM_HOME/sb/configure_rsso directory. To run open the "run_diagnostic.sh" script and make sure it's the paths and diagnostic file name is correct:

 

#!/bin/bash

 

# Path to Catalog directory.

#catalog_home=/opt/bmc/digitalworkplace

catalog_home=/opt/bmc/digitalworkplace

 

DIAGNOSTIC_JAR=rsso-diagnostic-1.0-SNAPSHOT.jar

 

if [ $# -eq 0 ]; then

  params=("${catalog_home}")

else

  params="$@"

fi

 

if [ "X${JAVA_HOME}" = "X" ]; then

  JAVA_EXEC="java"

else

  JAVA_EXEC="${JAVA_HOME}/bin/java"

fi

 

${JAVA_EXEC} -jar ${DIAGNOSTIC_JAR} ${params[*]}

~

Once run the output should look like this:

 

[root@clm-aus-123 configure_rsso]# ./run_diagnostic.sh

05:13:11.164 -

Common validations:

05:13:11.167 - All RSSO agent jar files are in place in '/opt/bmc/digitalworkplace/deploy' and '/opt/bmc/digitalworkplace/pluginsvr'

05:13:11.167 - All RSSO agent config files are in place in '/opt/bmc/digitalworkplace/conf'

05:13:11.167 - Your RSSO agent version is '9.1.03.001'.

05:13:11.167 - It is recommended to have RSSO agent of version '19.5'.

05:13:11.167 - Your RSSO server version is '18.05.00'.

05:13:11.167 - It is recommended to have RSSO server and agent of same version.

05:13:11.167 -

Validating 'rsso-agent.properties' file in '/opt/bmc/digitalworkplace/conf':

05:13:11.168 - agent-id is dwpid

05:13:11.168 - Agent id should be the same on all DWP-Catalog nodes

05:13:11.168 - sso-external-url is http://<servername>:8080/rsso

05:13:11.168 - HTTPS is recommended for external URL

05:13:11.168 - sso-service-url is http://<servername>:8080/rsso

05:13:11.168 - http://<servername>:8080/rsso is accessible

05:13:11.169 -

Validating 'rsso.cfg' file in '/opt/bmc/digitalworkplace/conf':

05:13:11.169 - rsso.cfg file is configured correctly

 

Web Server (Jetty)

 

Jetty logging can be very useful to capture HTTP traffic and is enabled by un-commenting the following section and changing the log level

       <!-- Jetty Logging - uncomment block if jetty logging is required -->

    <appender name="JettyLog"

                class="com.bmc.arsys.logging.ReconfigurableRollingFileAppender">

                <file>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/jetty.log

                </file>

                <append>true</append>

                <rollingPolicy class="com.bmc.arsys.logging.StoredRollingPolicy">

                        <fileNamePattern>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/jetty.log.%i

                        </fileNamePattern>

                        <minIndex>1</minIndex>

                        <maxIndex>8</maxIndex>

                </rollingPolicy>

                <triggeringPolicy

                        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

                        <maxFileSize>128MB</maxFileSize>

                </triggeringPolicy>

                <needPreLoading>true</needPreLoading>

                <encoder>

                        <pattern>%d{EEE MMM dd HH:mm:ss.SSS yyyy} %m%nopex%n</pattern>

                </encoder>

        </appender>

        <logger name="org.eclipse.jetty.server.Server" level="all" additivity="false">

 

Connector logging

 

Connector logging is available from 19.02. To enable, change the log level to "all"

 

</appender>

        <logger name="com.bmc.myservice.connect.remedy" level="all" additivity="false">

                <appender-ref ref="connect-remedy" />

        </logger>

        <logger name="com.bmc.myservice.connect.commons-ar" level="all" additivity="false">

                <appender-ref ref="connect-remedy" />

        </logger>

 

 

Process logging

 

Backup the logback_server.xml and add the following to the end of the file.

<!-- Process -->

        <appender name="ProcessLogToForm" class="com.bmc.arsys.logging.SubscribableAppender">

        </appender>

        <appender name="ProcessLog" class="com.bmc.arsys.logging.SiftingTenantAppender">

                <appender class="com.bmc.arsys.logging.SuspendableRollingFileAppender">

                        <file>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/arprocess.log

                        </file>

                        <!-- <param name="Encoding" value="UTF-8" /> -->

                        <append>true</append>

                        <enableThreadLogging>true</enableThreadLogging>

                        <rollingPolicy class="com.bmc.arsys.logging.StoredRollingPolicy">

                                <fileNamePattern>${com.bmc.arsys.homedir}/${com.bmc.arsys.server.dbdir}/arprocess${threadId}.log.%i

                                </fileNamePattern>

                                <minIndex>1</minIndex>

                                <maxIndex>10</maxIndex>

                        </rollingPolicy>

                        <triggeringPolicy

                                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

                                <maxFileSize>99MB</maxFileSize>

                        </triggeringPolicy>

                        <encoder>

                                <pattern>%m%n</pattern>

                        </encoder>

                </appender>

        </appender>

  <logger name="com.bmc.arsys.rx.services.process" level="debug"

                additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

        <logger name="com.bmc.arsys.server.rx.services.process" level="debug"

                additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

        <logger

                name="com.bmc.arsys.server.rx.services.action.DefaultCustomActionExecutor"

                level="debug" additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

        <logger name="com.bmc.arsys.server.rx.services.action.ActionServiceImpl" level="debug"

                additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

        <logger name="com.bmc.arsys.server.rx.services.action.DefaultCustomActionManager" level="debug"

                additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

        <logger name="com.bmc.arsys.server.rx.services.connector.ConnectorCustomActionManager" level="debug"

                additivity="false">

                <appender-ref ref="ProcessLog" />

                <appender-ref ref="AlwaysOnLog" />

                <appender-ref ref="ProcessLogToForm" />

        </logger>

Then log into the mid-tier (Catalog) as dwpadmin and navigate to Sever Information > Log Files and tick "Process Log".

You need to perform an "dwpcontroller stop/start" for the changes to take effect

Startup issues

 

Navigate to the $AR_SYSTEM_HOME/sb/rxscripts/bin directory and uncomment the following line from the setenv.sh script

#export rx_trace="--trace-ascii ./trace.log"

unset rx_trace

 

Stop/start the Catalog again and check the trace log for errors.

 

Catalog Bundle log

 

Almost every troubleshooting scenario will require analysis of the bundle log. Here's an example of what a "healthy" bundle log looks like.

 

05-05 15:56:26.419 DEBUG com.bmc.myservice.connectors.service.ConnectorSrvImpl testing URI http://localhost:8008/api/sbe/connect/remedy]

05-05 15:56:26.520 DEBUG com.bmc.myservice.connectors.service.ConnectorSrvImpl connector URIs [http://localhost:8008/api/sbe/connect/baopoc]

com.bmc.myservice.connectors.service.ConnectorSrvImpl connector URIs [http://localhost:8008/api/sbe/connect/ad]

 

As you can see, DEBUG is enabled and it's constantly looping around checking each connector status. The following example demonstrates how you would use the bundle log to troubleshoot a typical problem.

 

  • In the screenshot below I have submitted a Service Request in DWP and you can see it's gone into a fault status.

 

WBYeats.png

 

 

The first step is to open a session in the “$AR_SYSTEM_HOME/db” directory and run a "tail" on the log.

  • [root@clm-aus-0123 db]# tail -f bundle.log

This command gives you a live feed of what's happening within the log.

 

  • In the example below I can see my Service Request is faulting because a required field is empty...

 

at sun.reflect.GeneratedMethodAccessor636.invoke(Unknown Source) ~[na:na]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_95]

        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_95]

        at com.bmc.myservice.common.util.SrvInterceptor.invoke(SrvInterceptor.java:23) ~[com.bmc.myservice.common-1.0.00-SNAPSHOT.jar:1.0.00-SNAPSHOT]

        ... 94 common frames omitted

Caused by: com.bmc.arsys.domain.etc.ARException: ERROR (100): Required Entry ID is empty.; form: rxn:/myit-sb/ServiceRequest

        at com.bmc.arsys.server.domain.validation.EntryValidatorImpl.validateEntryId(EntryValidatorImpl.java:335) ~[na:na]

        at com.bmc.arsys.server.domain.validation.EntryValidatorImpl.validateGetEntry(EntryValidatorImpl.java:323) ~[na:na]

        at com.bmc.arsys.server.domain.validation.handler.EntryValidationHandler.validateGetEntry(EntryValidationHandler.java:79) ~[na:na]

        at com.bmc.arsys.server.domain.service.impl.EntryServiceImpl.getEntry(EntryServiceImpl.java:366) ~[na:na]

        at com.bmc.arsys.server.facade.impl.EntryFacadeImpl.getEntry_aroundBody10(EntryFacadeImpl.java:143) ~[na:na]

        at com.bmc.arsys.server.facade.impl.EntryFacadeImpl$AjcClosure11.run(EntryFacadeImpl.java:1) ~[na:na]

  • Here's another example where I submit another Catalog Request from the DWP Client and the bundle log is telling me that I need to define an Work Order Manager on the ITSM side.

Caused by: java.lang.reflect.InvocationTargetException: null

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_95]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_95]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_95]

        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_95]

        at com.bmc.arsys.rx.business.action.impl.ActionServiceImpl.invokeMethod(ActionServiceImpl.java:710) ~[na:na]

        ... 80 common frames omitted

Caused by: com.bmc.myservice.connect.exception.ConnectorException: ERROR (1440853): ; No work order manager group could be found. Manually select a group from the menus. If no group with an individual in the functional role of work order manager is defined, notify your System Administrator.

        at com.bmc.myservice.connect.ar.api.ArApiManager.createEntry(ArApiManager.java:448) ~[na:na]

        at com.bmc.myservice.connect.ar.api.ArApiManager.createEntry(ArApiManager.java:411) ~[na:na]

        at com.bmc.myservice.connect.ar.api.ArApiManager.createEntry(ArApiManager.java:400) ~[na:na]

        at com.bmc.myservice.connect.ar.common.services.WorkOrderService.createWorkOrder(WorkOrderService.java:14

Most errors are now visible by simply opening the Request from the Console:

 

SBException.PNG

 

Installation and Upgrade

 

The installation script will inform you if there are any problems. Full details are available within the "arsystem_install" log which is located in the /tmp directory. To obtain a live feed on installation progress, just run a "tail" on the log as follows:

 

[root@clm-aus-0123 tmp]# tail -1000 /tmp/arsystem_install_log.txt

 

The following extract is an example of a successful installation.

 

(Dec 15 2016 03:54:59.677 PM +0530),INFO,com.bmc.install.utility.logging.Log,

  --------------------------------------------------------

  BMC Remedy Action Request System 9.5.00 install succeeded.

  --------------------------------------------------------

(Dec 15 2016 03:54:59.697 PM +0530),INFO,com.bmc.install.product.base.installer.InstallCompletionInstallationTask,

  PROGRESS EVENT {Description=[installCompletion.installCompletion.description],Progress=[100],Detail=[installCompletion.installCompletion.complete]}

(Dec 15 2016 03:54:59.917 PM +0530),CONFIG,com.bmc.install.product.base.project.runner.ProjectRunner,

  LOG EVENT {Description=[COMPLETED InstallationTask],Detail=[com.bmc.install.product.base.installer.InstallCompletionInstallationTask]}

If the installer fails and the arsystem log doesn't identify the root cause, run the uninstall script (make sure you also remove any Catalog DB references if present) and run the script again in verbose mode as follows:

bash -x ./install-myit-sb.sh

This command will output a detailed log to the terminal. In the event of a failure the output will stop allowing you to scroll up and identify what was happening at the time.

Please back up the Catalog Databases and file-system before upgrading. In the event you encounter a problem you can quickly roll back and send the logs to BMC Technical Support.

Connector Refresh

 

There may be occurrences where your connectors are no longer visible in the Console. If this is the case try running the connector refresh script as follows:

 

[root@clm-aus-0123 rxscripts]# source bin/setenv.sh

 

./bin/login.sh hannah_admin@domain.com password

./bin/connector/refresh.sh

Approvals Integration

 

The 'MyITSB- Approval' process is responsible for sending the approval request from the Catalog to the ITSM Server. When a Service Request is raised from the DWP Client, the corresponding workflow on the Catalog machine is triggered which in-turn calls 'Request Approval' which communicates with the AR Server

SBApprovalStub.PNG

 

As a first step we would enable filter/API logging on the ITSM Server before reproducing the problem and we'll be able to follow the process flow within the log file. The next step would be to open the "SB:ServiceRequestStub" form on the ITSM Server and check the “Error Message” box. In the example below it's complaining about a timeout to the Catalog Server.

 

Make sure the "SB:LocalApprovalConfiguration" & "SB:RemoteApprovalConfiguration" Approval forms on the ITSM AR Servers have the correct information.

Once the Request has been approved by the manager, remedy workflow kicks in and attempts to send the data back to the Catalog via the "remoteaction.bat" file. This file along with the contents of the "remoteaction" directory are implemented by the Integration Server Patch.

 

Make sure the remoteaction script/batch file has the correct Java path

If the Approval status isn't being sent back to the Catalog, enable filter/API logging. You should be able to see the "remoteaction" command attempting to send the data back via the workflow. There is also a "remoteaction" log file (enabled in the logback_remoteaction file) which will allow you to track the status transmission back to the Catalog.

 

 

ITSM Integration

 

The following illustration depicts the process flow when submitting a request from DWP. As both Approvals and ITSM use a combination of the remoteaction.xml and associated JAR files in combination with remedy workflow, we will use the same troubleshooting methodology as above for Approvals.

 

 

The "Status Change" filters have changed names over the releases...

 

Browser Tools

 

Once Developer Mode (F12) is enabled check the network tab response and look for any exceptions. The screenshot below illustrates how I've captured the root cause of a problem by simply clicking on the REST call and selecting the response.

 

 

Ensure the DWP Catalog is reachable and the fully qualified domain name is being used.

 

Don't forget, the users must exist in both the user form on the Catalog Server (which is populated via the sync script) and CTM:People form within ITSM

 

DWP Client Catalog Debug

 

Open the logback-dwp.xml from the "/opt/apache/tomcat8.x/external-conf" directory and change these two extracts.

 

  <!--Logging of DWP Catalog -->

  <property name="LOG_DWP_CATALOG" value="true"/>

 

  <!--Optional DWP Catalog logger-->

  <if condition='${LOG_DWP_CATALOG}'>

    <then>

      <logger name="com.bmc.bsm.myit.service.sb" level="debug" >

        <appender-ref ref="DWP_CATALOG_FILE"/>

      </logger>

      <logger name="com.bmc.bsm.myit.rest.v2.assistance" level="debug" >

        <appender-ref ref="DWP_CATALOG_FILE"/>

      </logger>

      <logger name="com.bmc.bsm.myit.service.social.activity_stream" level="debug" >

        <appender-ref ref="DWP_CATALOG_FILE"/>

      </logger>

    </then>

  </if>

 

After the scan period of 60 seconds a new log file (dwp-catalog.log) will be created in the DWP/Logs directory.

Share This:

We are excited to announce many new enhancements to support a richer more engaging service catalog with MyIT and MyIT Service Broker. In this latest release, we are introducing new capabilities for enhancing your service catalog even more. Dynamic content helps boost engagement.

 

MyIT Pyramid.PNG

 

Broadcasts, Location & Service Health are not available in MyIT Self Service

**Only Available with Digital Workplace OnDemand, Service Broker OnDemand 3.3.01 and DWP 3.3.02

 

    

 

User Experience Highlights

 

 

 

Catalog Starter Kit

 

If you're using MyIT for the first time you'll be treated to a selection of sample Service Requests

 

SampleSRDs.PNG

 

Banner Management

 

Create promotional Banners to display in the Catalog

DesignBanner.PNG

Triggers actions or launch External URL's by tapping or clicking on a Banner

 

Banners are available in multiple sizes

BannerClient.png

 

Profile Enrichment

 

Digital Workplace OnDemand now offers profiles which can include multiple images, videos, ratings and reviews

 

Enriched Profiles.PNG

 

 

Search Approvals based on String or Type

 

Quickly filter or search for Approvals

 

Approval.png

 

Shopping Cart

 

The Shopping Cart is now available for MyIT Digital Workplace On Demand

 

ShoppingCart.PNG

 

 

Surveys

 

Users can now rate their experience using Surveys which are presented on both the Universal Client and Device (SRM & HRCM only)

 

Survey.PNG

 

 

 

 

Administration/Architectural Highlights

 

Questionnaire Library

 

Create your own Questionnaire Library within MyIT Service Broker

 

MyITQuestionLibrary.PNG

 

New Workflow Designer

 

Use the same Workflow Designer as the Innovation Suite

 

 

Workflow Designer.PNG

 

Query Remedy forms

 

Configure Service Broker to retrieve data from Remedy forms

 

Formlookup.PNG

 

Delete or Preview Workflow

 

Quickly Delete or Preview Workflow

Preview Delete Workflow.PNG

 

Check Service Broker Process Status

 

More control & view of Service Broker Services

 

Process View.PNG

 

Import Categories

 

Import and Map External Categories

 

Import Categories.PNG

 

 

MyIT Superbox Customization

 

Quickly customize the Superbox with your own text

 

CustomText.PNG

Save the new text and it becomes available in both the MyIT Universal Client and Device

CustomTextClinet.PNG

 

 

Universal Client Rebranding Tool

 

Upload a new Company Logo & change the Background Image

 

Change common background and text coloring or add additional CSS styling

 

Change the navigation color & logo

 

Click to download the compiled the code and the new style becomes available once it's copied to the MyIT Server

 

 

 

iOS Rebranding Tool

 

Style the MyIT iOS application and hard-code with the MyIT Server name/port

 

 

Once resigned & deployed, the changes are reflected on the Device.

 

    

 

 

 

MyIT User Report

 

 

Run a Report to check user activity

MyITReports.PNG

MyIT Health Check Report

 

Kick off the MyIT Health Check utility using a Batch file

Diagnostic.PNG

 

MyIT Diagnostics now checks BMC Remedy Single Sign-On

 

RSSO Check.PNG

 

MyIT Service Broker Connectors

 

New Amazon EC2, BMC Client Management, Office 365, Jira and Microsoft Azure Connectors

 

Connectors.PNG

Compatibility Details

 

This release is also compatible with Remedy ITSM 8.1 SP1 +, TrueSight 8.6 +,BMC Client Management 12.0, HRCM 4.7 & BMC Atrium Orchestrator 20.16.02 +

 

Next Steps

 

  • Read everything you need to know about MyIT & MyIT Service Broker
  • For a comprehensive summary of all MyIT & MyIT Service Broker enhancements please refer to the following documentation

 

BMC MyIT Service Broker 3.3 Enhancements

BMC MyIT 3.3 Enhancements

Share This:

MyIT & MyIT Service Broker 3.2 is available. This release is also compatible with Remedy ITSM 8.0 and later & TrueSight 8.6, 9.0, 10.0 & 10.1.

 

 

 

Feature Highlights

 

  • Quickly find what you're looking for with our new Navigation Bar
  • Upload Custom Icons to your Requests
  • New Device style and Notification Alerts
  • Receive Bell Notification with Service Request Comments
  • Review Knowledge Articles and provide Feedback or Comments
  • Map HRCM Requests to Appointments
  • Cancelling a HRCM Appointment also Cancels the associated HRCM Request
  • Support for High Availability to include the AlwaysOn feature.
  • Check MyIT Health Status using our new Web Utility
  • Run MyIT Diagnostics for an in-depth Tech Status
  • MyIT Service Broker Style & Quantity Enhancements
  • Impersonate with MyIT Service Broker Integration
  • Export & Import Services into MyIT Service Broker
  • MyIT Service Broker CMDB Integration
  • Cross Launch to External Systems
  • New MyIT Service BrokerConnectors

 

 

MyIT Enhancements

 

Universal Client Design

 

New look and feel for the Universal Client.

MyITUI.PNG

 

Choose your own custom icons for Service Requests.

Select Icon.PNG

 

 

Before After Icons.PNG

Share deep links to Categories.

 

ShareCaregories.png

 

Device Design

 

Restyled Device with easier navigation.

 

New Login Background.PNG

 

AndroidiOSNewsFeed.PNG

 

Condensed Navigation.PNG

 

Restyled Catalog & new Alert banners.

DeviceStyleCatalog.pngDeviceAlertBanner.png

 

Bell Notification

 

If a Service Request has been updated you'll see a new Bell notification in the Client.

 

SRD Bell.PNG

 

Knowledge Article Enhancements

 

Quickly flag a KA in MyIT and send the feedback to BMC Remedy Knowledge Management.

 

FlagKA.png

 

KAITSM.png

 

MyIT KA Comments are reflected in BMC Remedy Knowledge Management.

KAComment.PNG

 

KAITSMComment.PNG

 

Check out the most popular HR Articles or Solutions in MyIT.

 

MostViewedHR.PNG

 

Map HRCM Requests to Appointments

 

You can now map HR as well as SRM Requests to Appointments.

SRMorHRCM.PNG

Just like a Service Request, if you cancel an Appointment it also cancels the associated HRCM Request within BMC HR Case Management.

MyITHRCMAppoint.PNG

HRCM.PNG

 

MyIT Health Check Utility

 

For a quick Health check just add "healthcheck" to the end of your URL as shown below.

MyITHealthcheck.png

 

MyIT Diagnostic Utility

 

Save time on root cause analysis by running MyIT Deep Dive diagnostics

 

MyITDiagCheck.PNG

 

MyIT Service Broker Enhancements

 

MyIT Service Broker Integration Style

 

New look and feel for MyIT Service Broker Requests.

RestyleSB.png

 

Pick and choose your own items within a Bundle.

OptionalBundle.PNG

 

Impersonation

 

Provide the ability for someone like an administrator to impersonate another user.

MyITSBImpersonate.PNG

 

Experience logging into another users profile and submitting Services on their behalf.

MyITSBImpersonateView.PNG

 

 

Quantity

 

Choose the number of Service Broker Requests you want to submit.

 

SBChooseQuantity.PNG

 

Once submitted view the quantity from "My Activity".

 

SBQuantityFinal.PNG

 

Import & Export Services

 

Import multiple Services retaining workflow and questions.

ExportImport.PNG

 

CMDB Integration

 

Associate natively created MyIT SB Services to your Service Model.

CMDB Integration.png

Link-out Functionality

 

Cross launch to external systems.

 

SB LaunchExternal.png

 

 

Connectors

 

Leverage even more Applications or Services.

SB Connectors.PNG

 

Next Steps

 

  • Read everything you need to know about MyIT & MyIT Service Broker online.
  • Download and enjoy !

 

For a comprehensive summary of all MyIT & MyIT Service Broker enhancements please refer to the documentation links below:

 

MyIT

MyIT Service Broker

 

To listen to Product Management provide an overview please check out the video below !

 

Share This:

MyIT 3.1 is available !

 

This release is also compatible with Remedy ITSM 7.6.04 SP2 and later & TrueSight 8.6, 9.0, 10.0 & 10.1. You can now upgrade directly from several releases (2.5, 2.6 & 3.0).

 

 

 

 

Feature Highlights

 

  • Use BMC MyIT to open HR cases and search HR knowledge articles (available since 3.0 SP1)
  • Upgrade an existing BMC MyIT server and integrate it with BMC HR Case Management.
  • MyIT Service Broker integration enhancements
  • Browse through Categories (available since 3.0 SP1)
  • Add Knowledge articles to a section
  • Be selective with your search results and preview knowledge articles
  • Share Deep link Service Requests, Knowledge Articles, Catalog sections and Service Broker profiles
  • Quickly view comments or updates using Deep link email notification
  • Open AIF in new window is optional
  • MyIT Appointments can now generate Service Requests or Incidents
  • If your installation/upgrade failed, you can now correct the error and rerun the installer

 

 

 

HR Case Management

HR Case ManagementUC.PNGHR Case Management.PNG

 

 

 

MyIT Service Broker

ImagesVideo.PNG DEMMyIT.PNG

 

SBTotalCost.PNGSBViewallServices.PNG

 

 

Categories

CatBrowse.PNGFilterSearch.PNG

 

 

Knowledge Catalog section

Choose KA.PNGRKM Bucket.PNG

 

Advanced Search & Preview

MyITSearch.PNG RKM Preview.PNG

 

Deep link Share

MyITShare1.PNG MyITShare2.PNG MyITSearch3.PNG

 

Deep link email notification

 

DeeplinkEmails.PNG

DeeplinkAppoint.PNG

 

 

Configure Service Request appointment

INCSR.PNG

 

AIF iFrame

 

AIF.PNGUCAIFFalse.PNG UCAIFTrue.PNG

 

Installer

 

Installerbackup.PNGInstallFailExample.PNGReinstall.PNG

 

 

A comprehensive summary of all MyIT & MyIT Service Broker integration enhancements is available here

 

Next Steps

 

  • Read everything you need to know about it here
  • Download MyIT & enjoy !
Share This:

MyIT leverages the power of social media to help your employees take Digital innovation to the next level.  We live in an age where collaboration needs to be seamless and information has to be just a few clicks or taps away. 

 


 

 

Social Data Model

 

MyIT Social is a combination of Node.js (java script engine) and MongoDB.

 

MyITSocialIntro.PNG

 

When you log into the Universal Client and look at the Updates tab, most of this activity stream is actually being retrieved from MongoDB. For example whenever you comment, like, share or view the timeline you are actually inserting/viewing  this information to and from MongoDB.

 

NodeMongoDBUC.PNG

 

 

As you can see from my illustration below, the Web UI layer (Angular.js) utilizes Node.js to send and retrieve data to and from MongoDB. This works particularly well as both Node.js and MongoDB use Javascript and JSON.

MongoDBSocialDataModel.PNG

 

So what happens when you create or update a Service Request from MyIT or the Mid-Tier ?

 

1) Tomcat communicates directly to AR System via the REST API

2) Workflow is triggered and data is copied to the relevant AR System forms

3) The SEM plugin is called and a reference of the SR is created in Social

 

So let's see what happens under the hood when you post something on the wall:

 

1) Tomcat makes a POST request

 

Reqest http://clm-hou-007518.bmc.com:9000/ux/rest/v2/activity is made with the following payload:

 

{"text":"Anyone know where Tom is ?","type":"microblog"}  (This will be converted into the social API parameter)

 

2) The Service layer (Tomcat) then calls the Social service API (node.js)

 

Request: http://clm-hou-007518.bmc.com:9001/social/rest/v1/activity/microblog

 

Data is inserted into MongoDB at this point a response is sent back to social:

 

[2016-02-25 04:47:33.811] [INFO] [default] - POST params:{"userId":"appadmin","tenantId":"000000000000001","text":"Anyone know where Tom is ?"}

[2016-02-25 04:47:33.833] [DEBUG] [default] - New microblog created for id:56cedbc589ac8ed009e6fc8a

 

Note:

id - This is only for a microblog

guid - This is for INC/REQ/WO

 

And for the activity stream:

 

1) Tomcat makes a GET request

 

http://clm-hou-007518.bmc.com:9000/ux/rest/v2/activity_stream

 

2) The Service layer (Tomcat) then calls the social service API (node.js)

 

|METHOD=GET|URL/social/rest/v1/user/appadmin/activitystream

 

...and the response is sent back.

 

Activitystreamrespons1.PNG Activitystreamrespons2.PNG

 

As you might have guessed, we need both Node.js and MongoDB to be fully functional to use MyIT. So how can you find them ? Well, you'll find node.js running as a process on Linux:

 

NodeJSRun.PNG

 

In the event you make any changes to the config.js (social configuration file in the social directory) or you need to restart it, you'll find the startup/shutdown scripts in the "/etc/init.d" directory. If they're registered you can also restart by using the stop/stop command as shown below:

 

StopStartNode.PNG

If you're looking for it on Windows, node.js is actually listed as a service called "MyITSocialService"

NodeJSWindows.PNG

 

Now that we've gone through Node.js, let's get into more depth about it's humongous partner in action - MongoDB. At a high level, MongoDB is a document-oriented DBMS, similar to MySQL but with JSON-like objects comprising the data model rather than RDBMS tables. For those of you familiar with SQL, the following illustration will help you understand the terms:

MongoDB SQL.PNG

 

Connecting to MongoDB

 

MyIT/Smart IT is shipped with MongoDB but if you're planning on setting up a replication set you'll need to download the package from Mongodb.org and configure it (see link at the bottom of this blog).

You can connect to MongoDB by navigating to the mongo "bin" directory and typing "mongo". In the screenshot below I'm connected to our Social Database (social) which is created when you run the MyIT/SmartIT installer. By default, mongo enters the shell and connects to the "test" database but you can easily switch over to social by typing the "use  social" command.

 

MongoNoAuth.PNG

 

 

The other alternative is to use a GUI such as UMongo, RoboMongo or MongoChef.  In the example below I'm using MongoChef to connect to the primary MongoDB Server of my Replication set.

 

Note: The secondary servers are set up for write only which is why I'm connected to my primary to read the data. On the other hand, if I was already connected to the shell on secondary I could just type "rs.slaveOK()" and this will allow read operations to run.

 

MongoChefSetup.PNG MongoChefSetupUser.PNG

 

As soon as the connection is successful you'll see a nice graphical representation of your Social DB.There are some additional features of this tool such as "intellishell", "Query builder" and "Export". "Intellishell" allows you to quickly open the shell from inside the GUI and execute commands as normal. "Query builder" is particularly useful if you're performing complex searches and "Export" helps you export out as many collections as you like.

 

MongoChefExplanation.PNG

 

The following table will give you an idea what each collection contains:

 

MongoDBContents.PNG

 

MongoDB Replication

 

Replication is the process of synchronizing data across servers to ensure high availability so if you're running in a production environment it's highly recommended you consider this.

 

The following three-member replica set has two secondary members. The secondaries replicate the primary’s oplog and apply the operations to their data sets.

 

Replication Set.PNGMongoDBReplicaSet.png

 

When a primary does not communicate with the other members the replica set will attempt to select another member to become the new primary. The first secondary that receives a majority of the votes becomes primary.

 

MongoDB 3.0 Wired Tiger

 

Starting with MyIT 3.0 we now bundle MongoDB 3.0 which comes with Wired Tiger - MongoDB's new high performance Engine. It isn't setup by default when you install MongoDB so there are two ways of enabling it:

 

a) For a new setup, follow the steps in our MongoDB documentation at the bottom of this Blog.

 

b) From an existing MongoDB 3.0 replication set without WT enabled

 

1) Stop MongoDB on one of the secondary’s

2) Add "storageEngine = wiredTiger" to the mongo.cfg file

3) Backup & delete the data in the mongodata directory

4) Start MongoDB and the data will be copied over from one of the other MongoDB servers in the replication set.

 

Note: The format of the Mongo data will now change to Wired Tiger.

 

Wired Tiger Format.PNG

 

5) Go to current primary and do "rs.stepDown()" and stop the mongo service

 

This will force the database into secondary and trigger one of the other servers into primary mode.

 

6) Add "storageEngine = wiredTiger" to the mongo.cfg file

7) Delete the data in the mongodata directory

8) Start MongoDB

9) Stop your remaining secondary

10) Add "storageEngine = wiredTiger" to mongo.cfg

11) Start MongoDB

 

Troubleshooting MongoDB/Node.js

 

If there's a problem with node.js you may see your data dissapear from the Universal Client and a connection error:

 

NodeJSDown.PNG

 

MongoDB on the other hand might just show a spinning wheel:

 

MongoDBdown.PNG

In the event you see either of these symptoms:

 

  • Check the MongoDB and the Social Services are running

 

a) For MongoDB on Linux issue the following command:

 

[root@clm-aus-000627 ~]# ps -ef | grep mongo

root    15236    1  0 Aug17 ?        06:52:24 /opt/bmc/Smart_IT_MyIT/Smart_IT_MyIT/mongodb/bin/mongod --fork -f /opt/bmc/Smart_IT_MyIT/Smart_IT_MyIT/mongodb/mongod.cfg

root    16254 16220  0 03:03 pts/5    00:00:00 grep mongo

 

Notice the mongod process above is running. If you don't see it, start it by issuing the following command:

 

[root@clm-aus-000627 ~]service myitmongod start

 

For Windows simply highlight the service to start or stop.

 

MongoWinService.PNG

 

b) Check Node.js on Linux by using the grep command:

 

[root@clm-aus-000627 ~]# ps -ef | grep node

 

NodeJSRun.PNG

 

....and if this command isn't returning anything, you can start it by issuing the following command:

 

[root@clm-aus-000627 ~]service socialserviced start

 

Same again for Windows, just highlight the service to start/stop.

 

MyITSocialServiceWindows.PNG

 

Some additional things to check are as follows:

 

  • Check Social service health:

 

Pre-MongoDB 3.0

http://myithost:9001/social/rest/v1/installationcheck

Response:

{"success":"Hello World"}

 

MongoDB 3.0

http://myithost:9001/social/rest/v1/mongoconnection

Response:

{"connection-status":"available"}

OR

{"connection-status":"not_avaialable"}

 

  • Open the UX log located in the SmartIT MyIT log directory and search for anything related to social
  • Open the mongo log (path specified in the mongod.cfg) and look for any exceptions
  • Make sure you have diskspace (linux command is "df -h").
  • Check your JRE version is supported (java  -version)
  • If using a replication set check the config.js file (located in the social directory) is pointing at the right nodes.
  • Check all hostnames are all resolvable by pinging them
  • Try telneting to the hostname/IP address
  • Check node.js and mongo ports are not being used by another process (node is 9001 and mongo is 27017)
  • Tomcat queries Mongo for a key (held in the MongoDB) to authenticate so check to make sure it's being returned by entering the following in your browser:

 

http://myithost:9001/social/rest/v1/api/myit

 

You should get something like this:

 

"key": "01a86963-b8e8-e19c-4bb0-ffaf30a9d209“

 

  • If using Linux, check what the ulimit values are set to by typing "ulimit -a" from the command line.

Reccomended Ulimits.PNG

  • If MongoDB starts crashing on your Linux system check your system log by typing "dmesg" or the following:

 

[root@clm-aus-000627 ~]# grep mongod /var/log/messages

 

For MyIT/SRM integration, check the following:

 

  • Open the SHR:SHR_KeyStore form and ensure the MyIT URL is correct & the token/secret is the same as the one in the connect.properties file on the MyIT Tomcat Server.

SHRKeyStore.PNGCPropertiesToken.PNG

  • Open the "pluginsvr_config.xml" file on the AR Server and check the path references to the plugin file are correct
  • Ensure plugin reference in the ar.cfg is also present.

PluginSVRConfig.PNGPluginConf.PNG

  • Open the MyIT Administration menu and make sure the SRM provider has the correct Mid-Tier path and remedy application service password

  • Enable Social Event Manager debug as follows:

 

a) Open the "log4j_pluginsvr.xml" in the pluginsvr directory and change these lines to debug:

 

<logger additivity="true" name="com.bmc.arsys.pluginsvr">

            <level value="debug"/>

      </logger>

   <logger additivity="true" name="com.bmc.arsys.pluginsvr.plugins">

            <level value="debug"/>

      </logger>

     <logger additivity="true" name="com.bmc.remedy.itsm.SocialCloud">

                     <level value="debug"/>

       <appender-ref ref="SocialCloudPluginLog"/>

   </logger>

 

b) Restart the AR Server, reproduce the problem and check/send us the SocialEventManager and arjavaplugin logs.

 

Note: Starting with MyIT 2.6 we replaced the social cloud plugin with the Social Event plugin.

 

  • For MongoDB replication set troubleshooting use the rs.status() command to check the overall health of your MongoDB replication set.

 

Note: If you've enabled authentication you need to be logged into the admin DB with a user who has permission to issues these commands:

 

myitsocial:PRIMARY> use admin

switched to db admin

myitsocial:PRIMARY> db.auth("siteRootAdmin", "admin");

1

myitsocial:PRIMARY> rs.status()

{

        "set" : "myitsocial",

        "date" : ISODate("2016-02-26T12:16:37.455Z"),

        "myState" : 1,

        "members" : [

                {

                        "_id" : 0,

                        "name" : "clm-aus-009799:27017",

                        "health" : 1,

                        "state" : 1,

                        "stateStr" : "PRIMARY",

                        "uptime" : 6558893,

                        "optime" : Timestamp(1456485910, 1),

                        "optimeDate" : ISODate("2016-02-26T11:25:10Z"),

                        "electionTime" : Timestamp(1455196320, 1),

                        "electionDate" : ISODate("2016-02-11T13:12:00Z"),

                        "configVersion" : 3,

                        "self" : true

                },

                {

                        "_id" : 1,

                        "name" : "172.22.239.230:27017",

                        "health" : 1,

                        "state" : 2,

                        "stateStr" : "SECONDARY",

                        "uptime" : 6558889,

                        "optime" : Timestamp(1456485910, 1),

                        "optimeDate" : ISODate("2016-02-26T11:25:10Z"),

                        "lastHeartbeat" : ISODate("2016-02-26T12:16:35.755Z"),

                        "lastHeartbeatRecv" : ISODate("2016-02-26T12:16:36.715Z"

),

                        "pingMs" : 1,

                        "syncingTo" : "clm-aus-009799:27017",

                        "configVersion" : 3

                },

                {

                        "_id" : 2,

                        "name" : "172.22.229.100:27017",

                        "health" : 1,

                        "state" : 2,

                        "stateStr" : "SECONDARY",

                        "uptime" : 1292611,

                        "optime" : Timestamp(1456485910, 1),

                        "optimeDate" : ISODate("2016-02-26T11:25:10Z"),

                        "lastHeartbeat" : ISODate("2016-02-26T12:16:35.717Z"),

                        "lastHeartbeatRecv" : ISODate("2016-02-26T12:16:35.622Z"

),

                        "pingMs" : 1,

                        "syncingTo" : "clm-aus-009799:27017",

                        "configVersion" : 3

                }

        ],

        "ok" : 1

}

           

In the example above you'll see my primary and two secondary MongoDB servers are communicating well whereas if the primary MongoDB crashes or is not reachable you'll see a failed attempt message:

 

myitsocial:PRIMARY> rs.status()

{

        "set" : "myitsocial",

        "date" : ISODate("2016-02-26T12:20:08.668Z"),

        "myState" : 1,

        "members" : [

                {

                        "_id" : 0,

                        "name" : "clm-aus-009799:27017",

                        "health" : 1,

                        "state" : 1,

                        "stateStr" : "PRIMARY",

                        "uptime" : 6559104,

                        "optime" : Timestamp(1456485910, 1),

                        "optimeDate" : ISODate("2016-02-26T11:25:10Z"),

                        "electionTime" : Timestamp(1455196320, 1),

                        "electionDate" : ISODate("2016-02-11T13:12:00Z"),

                        "configVersion" : 3,

                        "self" : true

                },

                {

                        "_id" : 1,

                        "name" : "172.22.239.230:27017",

                        "health" : 0,

                        "state" : 8,

                        "stateStr" : "(not reachable/healthy)",

                        "uptime" : 0,

                        "optime" : Timestamp(0, 0),

                        "optimeDate" : ISODate("1970-01-01T00:00:00Z"),

                        "lastHeartbeat" : ISODate("2016-02-26T12:20:08.295Z"),

                        "lastHeartbeatRecv" : ISODate("2016-02-26T12:19:52.972Z"

),

                        "pingMs" : 1,

                      "lastHeartbeatMessage" : "Failed attempt to connect to 1

72.22.239.230:27017; couldn't connect to server 172.22.239.230:27017 (172.22.239

.230), connection attempt failed",

                      "configVersion" : -1

                },

                {

                        "_id" : 2,

                        "name" : "172.22.229.100:27017",

                        "health" : 1,

                        "state" : 2,

                        "stateStr" : "SECONDARY",

                        "uptime" : 1292822,

                        "optime" : Timestamp(1456485910, 1),

                        "optimeDate" : ISODate("2016-02-26T11:25:10Z"),

                        "lastHeartbeat" : ISODate("2016-02-26T12:20:08.002Z"),

                        "lastHeartbeatRecv" : ISODate("2016-02-26T12:20:07.889Z"

),

                        "pingMs" : 0,

                        "syncingTo" : "clm-aus-009799:27017",

                        "configVersion" : 3

                }

        ],

        "ok" : 1

}

 

  • If all else fails, enable social DEBUG in the config.js file as shown below then restart the social service, reproduce the problem a few times and send us the social, UX and mongo logs (all logs are located in the Smart IT MyIT log directory with the exception of the mongo log which is defined in the mongod.cfg file)

 

SocialDebug.PNG

 

 

MongoDB Migration

 

You can migrate data easily by using mongodump & mongorestore with the following steps:

 

1) Take MongoDB backup using "mongodump" from existing standalone MongoDB by issuing the following command:

 

mongodump --host localhost --port 27017

 

 

MongoDump.PNG

 

2) Copy over the dump folder/contents to the same directory of your new MongoDB instance and use the "mongorestore" command (this command will check for the dump folder and restore all of it's contents).

 

MongoDBAdminRestore.PNG

 

Conclusion

 

MongoDB in combination with Node.js make a powerful Social Engine for MyIT/SmartIT. Please check out some or all of this content and share your feedback.

 

See more BMC Remedy Support Blogs

 

 

Additional Resources

 

  1. Introduction to MongoDB
  2. Installing and setting up MongoDB for MyIT/SmartIT (Linux)
  3. Installing and setting up MongoDB for MyIT/SmartIT (Windows)
  4. Configuring a MongoDB replica set for MyIT/SmartIT
  5. MongoChef
  6. About Node.js
Share This:

MyIT 3.0 is available for download !

 

This release is also compatible with BMC Helix Remedyforce and Remedy ITSM 7.6.04 SP2 and later, TrueSight Operations Mgmt 8.6, 9.0, 10.0 & 10.1

 

Feature Highlights

 

  • Create new Services in MyIT Service Broker and submit them through MyIT
  • Create new sections in your Catalog and control the order & layout in which the items are displayed
  • More device notification types with approval actions & cross launch into MyIT
  • Change Request Approvals are now visible in the Universal Client & device
  • Reopen Service Requests from your device & Universal Client
  • Quantity, Price and Required Completion date now visible
  • Track what you're following & requested items using the My Stuff tab
  • Disable/enable User Profile editing
  • MongoDB 3.0 performance enhancement with Wired Tiger

 

MyIT Service Broker integration

 

Service Broker Office.PNGService Broker Office final.PNG

 

Never heard about MyIT Service Broker ? Click here

Pragmatic description by Alf Abuhajleh and Simon Geddes

 

Catalog

 

Catalog Order.PNGCatalog UC.PNG

 

Device notifications

 

Device Notifications.PNG

 

Change Approval In-App notification

 

In-App notification.PNG

 

Reopen with comments

 

ReOpen.PNG

 

Quantity, Price & Required Completion date

 

PriceQuantity.PNG

 

My Stuff

 

MyStuff.PNG

 

Disable user profile editing

 

User Profile.PNGWB.PNG

 

A summary of all enhancements is available online here.

 

We heard your feedback that it was hard to find administration information in the use case documentation. You can now find this information in the Administering section, information about integrations is now available in the Integrating section.


Next Steps:


  • Read everything you need to know about MyIT 3.0 here
  • Download MyIT & enjoy !


Share This:

MyIT 2.6 is GA and available for download.


This release is also compatible with BMC Helix Remedyforce and Remedy ITSM 7.6.04 SP2 and later. TrueSight Operations Mgmt The specified item was not found. 8.6 & 9.0

 

Feature Highlights

 

Check our new enhancements in more detail on BMC Docs. If you're unable to upgrade or install at the moment, here's a quick preview:

 

  • Handle more updates directly on your Timeline
  • View more detail in your Requests and Approvals
  • Keep up to date with interactive & informative notification
  • Comment, add videos & attachments or evaluate Knowledge Articles
  • Launch Virtual Agent (Chat) from MyIT
  • Use Remedyforce Approvals
  • Native leverage of AppZone in Remedyforce MyIT
  • Performance enhancements with our new Social Event Manager plugin
  • Host private ITSM instances sharing MyIT  (Multitenancy)

 

See below screenshots of some of the changes....

 

Timeline

MyIT Comments.PNG

 

SRDetails.PNG

SRPriority.png

MyApproval.png

 

Notifications

Notifications.png

 

Knowledge Articles

Social Event Manager.PNG

KACommentAttach.png

The new IT.PNG

 

Virtual Agent

Virtual Agent.png

 

Remedyforce Approvals & Appzone

RemedyForceAppzone.PNG

 

ApprovalsRF.PNG

 

Architecture

 

  1. We have replaced Virgo with Smart IT/MyIT Tomcat for the MyIT Admin Console so you can quickly switch between the Universal Client and Admin Console in one browser session.
  2. Social Events that show up on Timeline and update feed will no longer be sent to social using CAI. The new SocialEventManager.jar plugin will be used as opposed to the socialcloud.jar

 

Next Steps

 

  • Read our 2.6 documentation here
  • Download MyIT from our EPD site and enjoy !

MyIT2.6 Installer.PNG


Any insight as to how this release might help your business is welcome !

Share This:

In this blog I’d like to demonstrate how I troubleshoot problems with the Universal Client. I'm sharing my experience on Communities because others may find it helpful.

 

Before we start I’d highly recommend that you review the basic Architecture of MyIT/SmartIT.

The MyIT User Interface itself is built using the Angular.js framework which utilizes the MyIT Tomcat REST API via AJAX requests

 

MyIT AJAX.png

 

When you log into MyIT you are presented with an activity stream.

 

MyITActivitystream.png

All of the information here is actually stored in the Mongo Database via the MyIT Social Server (Node.js) Application.

 

Node.js.png

For MyIT/SmartIT to be fully operational, Mongo DB, MyIT Tomcat and MyIT Social need to be running. Virgo which is used for the MyIT Admin Console is independent.

 

Windows:

WinMyITServices.PNG

Linux:

LinuxMyITServices.png

 

If you can log into MyIT but you can’t see any activity/updates check if each of these components are running. Otherwise your activity stream will be missing and you’ll see either of these messages...

 

 

 

MyITConRefused.png   

 

MyITStreamError.png

 

The MyIT Tomcat Server initially queries the Mongo DB for a key to authenticate so to simulate this handshake, enter the following in your browser:

 

http://myithost:9001/social/rest/v1/api/myit

 

You should get something like this...

 

"key": "01a86963-b8e8-e19c-4bb0-ffaf30a9d209“

 

If you don’t get a response, check to make sure all of the services are up and there are no port conflicts with mongo (27017) or social (9001). If UC problems persist, turn on debug and check the UX or Catalina logs for exceptions:

 

Windows log file location

 

Program Files\BMC Software\Smart_IT_MyIT\Smart_IT_MyIT\Logs

Program Files\Apache Software Foundation\Tomcat7.0\logs

 

Linux log file location

 

/opt/bmc/MyIT/Smart_IT_MyIT/Logs

opt/apache/tomcat7.0/logs

 

On the Client side there are a number of Developer Tools which can also help.

 

  • Firebug
  • Internet Explorer Developer Tools (F12)
  • Chrome Developer Tools (F12)
  • Fiddler

 

In the example below we can see a REST call being made to the Tomcat server and if you look at the response you can see it’s having an authentication problem.

MyITAuthentication.png

This was because of an incorrect application service password for the SRM provider which is set in the Administration Console.

 

MyITAdminConsole.png

Here the UC is returning a blank page but we can see a 404 response, the cause of which was an incorrect AR Server name in the connect.properties file (Program Files\Apache Software Foundation\Tomcat7.0\external-conf).

MyITBlank404.png

 

...and here this page keeps loading because of a typo in the hostname for the Mongo server in the config.js file (Program Files\BMC Software\Smart_IT_MyIT\Smart_IT_MyIT\social).

 

IncorrectMongoHostName.png

 

In this example we can see the user tried to create an appointment for a time when no slots were available.

 

MyITAppointmentError.png   

 

...and finally with the Fiddler Web Debugger we can see a network connection is being blocked to the MyIT Server.

 

FiddlerWebDebugger.png

 

 

I hope you've found this Blog useful so let us know by rating or adding a comment.

 

Additional Resources:

 

MyIT Known and Corrected Issues

MyIT 2.2 Patch 1

MyIT Tomcat Logging

How can I restart MyIT Services ?

How can I increase the MyIT Session timeout ?

MyIT 2.1 Administration Console is timing out trying to retrieve Service Requests Definitions

Login page for MyIT keeps spinning

 

 

See more BMC Pulse articles here: BMC Remedy Support Blogs

Share This:

MyIT is a next-generation self-service app that reduces IT friction, cuts support costs, and boosts customer satisfaction. It’s fast. With a swipe, alerts and service updates appear.

 

Picture this…its 9am Monday morning, you've just turned on your computer and you can’t download anything!

 

MyITRetry.jpg

 

How frustrating, if only you’d known there was a problem earlier, perhaps you could have worked around it! Wouldn't it be great if you could see a cell phone notification or email at the same time as your IT Help Desk? We thought you would so we've come up with a way to link MyIT with Truesight Infrastructure Management (TSIM) a tool which finds and resolves issues such as these. With just a couple of clicks on my cell phone I can see the status of all my Services, including my IT Infrastructure!

 

Profilepic.jpg

 

With MyIT you can define Service status manually but if you integrate with TSIM you’ll get real-time business service updates so users can check for themselves. This also gives your helpdesk less of a headache allowing them to focus more on the problem itself.

 

So how does it all work?  To summarise, My IT Tomcat connects to the TSIM cell via BMC Impact Integration Web Services (IIWS) and pulls back the Service Status being monitored by Truesight.

MyITBPPMARCH.png

 

 

Have a look at the above high level diagram for a minute, Tomcat actually uses a provider (set of Java libraries which “provides” business functionality) to connect to TSIM every 60 seconds.

MyITLibraries.png

The actual configuration details for TSIM (as well as the other providers) are held within the “PROVIDER_SETTINGS” table of the MyIT System Database and can be changed from “Features” in the Configuration Tab of the Administration console.

 

When it comes to setting it all up, it’s all done though the Services Tab of the Administration Console so once you click the “Add” button you should be able to see all available TSIM services:

MyITServiceAVAIL.png

So what if things go wrong and we don’t see any Services listed? 

CheckMark.jpg


1.
Rule out the basics, is it supported?  MyIT is currently compatible with TSIM 8.6 and 9.0.

 

2. Is your TSIM Cell configuration correct? For MyIT to communicate with the TSIM cell via IIWS there needs to be a valid entry in the “mcell.dir” files on the TSIM Server. The TSIM components look up the host, port and encryption key from the “mcell.dir” files when establishing connections to the cell:

 

a) mcell.dir in “C:\Program Files (x86)\BMC Software\Impact Web Services\Tomcat\webapps\imws\WEB-INF\etc”

 

E.g

 

cell local mc machinename:1828

gateway.imcomm IIWSGatewayServer mc machinename:1859

 

b) mcell.dir in “C:\Program Files\BMC Software\ProactiveNet\pw\server\etc”.

 

E.g

 

cell Admin  mc  pnetserver:1827

cell IAC  mc  pnetserver:1827

gateway.pn_server  pn_server_pnetserver  mc pnetserver:1851

admin ias_Admin  admin/admin  pnetserver:3084

cell pncell_pnetserver  mc  pnetserver:1828

gateway.ibrsd  IBRSD mc  pnetserver:3115

gateway.imcomm  gw_ps_pncell_pnetserver  mc pnetserver:1839

 

You need to be careful with these files …if there’s a problem with the configuration you might see the following errors in the apache tomcat logs (C:\Program Files\Apache Software Foundation\Tomcat7.0\logs\MyIT2014.xx.xx).

 

ERROR [ServiceAvailabilityPoller] - , Thread ID = 16java.lang.RuntimeException: Error encountered while executing query for service availability data through IIWS

Caused by: org.apache.axis2.AxisFault: Execute API 'QueryComponentsByCondition' failed. Reason: Error in add connection to ImpactManage: local.  Exception message: Cell local is not registered in directory.

 

3. Is the BMC IIWS Service running?  Log on to the server and check if the following highlighted service is in a “started” status:

 

IIWSService.png

 

 

4. Are you sure you have the right IIWS URL specified? When you’re installing MyIT you are given the chance to enter in the IIWS URL or if you are running 2.0 SP1  + you can enter information after the installation but regardless, the URL should be in the following format:

 

http://pnetserver:9080/imws/services/ImpactManager

 

BPPMProviderImage.png

It’s always best to make sure this URL is valid and operational so just paste it into a browser and you should get a similar response to this:

 

IIWA..jpg

So what after all this you still can’t see any services?  Check obvious things like network connectivity and ask yourself questions like “Can I telnet to the Server where IIWS is running?”, “Is there a possibility that anti-virus is blocking the communication?”, “Did the installation complete without errors or warnings?” If all else fails, just log a case with us in BMC Support and we'll take it from there !

Would you like to know more about the other providers ? Watch this space because I'll covering more soon...

 

I hope you've found this Blog useful so I'd appreciate any feedback.

 

Additional Resources:

 

  1. MyITDatasheet
  2. Setting up Services with MyIT
  3. BMC ProactiveNet Performance Management
  4. Troubleshooting IIWShttp://documents.bmc.com/supportu/documents/48/63/244863/244863.pdf

 

KA413810  Cannot integrate MyIT with BPPM

 

MyIT Demo Video

What is MyIT Video

 

See more BMC Pulse articles here:

 

BMC Remedy Support Blogs

Filter Blog

By date:
By tag: