tag:blogger.com,1999:blog-89059974902595692642024-03-15T20:04:25.686-04:00Gulfsoft Consulting BlogEverything around ITSM.Frank Tatehttp://www.blogger.com/profile/16464603721492040411noreply@blogger.comBlogger832125tag:blogger.com,1999:blog-8905997490259569264.post-54016418642953977802023-09-30T13:27:00.004-04:002023-09-30T13:27:44.245-04:00Launch a page in JazzSM DASH without login page<p><span style="font-family: inherit;"><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-size: 14px;">The following is from an IBM Communities post on this topic by </span><a data-attribute-index="0" data-entity-type="MINI_PROFILE" href="https://www.linkedin.com/in/ACoAABBK_IkBPABmk_Ru_ADVfSNKeXfA1ZbhU-Y" style="background-color: white; border: var(--artdeco-reset-link-border-zero); box-sizing: inherit; font-size: 14px; font-weight: var(--font-weight-bold); line-height: inherit !important; margin: var(--artdeco-reset-base-margin-zero); overflow-wrap: normal; padding: var(--artdeco-reset-base-padding-zero); position: relative; text-decoration: var(--artdeco-reset-link-text-decoration-none); touch-action: manipulation; vertical-align: var(--artdeco-reset-base-vertical-align-baseline); word-break: normal;">Detlef Kleinfelder</a><span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-size: 14px;"> . The link is also included, but those see to go dead on IBM's site, which is why I'm including the text:</span></span></p><p><a href="https://community.ibm.com/community/user/aiops/discussion/is-there-a-way-to-run-public-event-viewer-of-omnibus-webgui-for-big-wall-dashboards#bmd85f7aed-8757-47a5-99c0-ceae09aec075">https://community.ibm.com/community/user/aiops/discussion/is-there-a-way-to-run-public-event-viewer-of-omnibus-webgui-for-big-wall-dashboards#bmd85f7aed-8757-47a5-99c0-ceae09aec075</a></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">you can launch a page directly with URL provinding the page id and an user-based token.</span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">The user-based token has the encoded username and password that is used to authenticate and launch a page.</span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">The URL convention is https://<span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><FQDN></span>:16311/ibm/action/launch/<span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><PageID></span>/<span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><xlaunchCred></span></span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">where:</span></em></span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">FQDN</span> = Fully Qualified Domain Name or IP address<br style="box-sizing: border-box;" /><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">PageID</span> = The Page ID of the DASH page<br style="box-sizing: border-box;" /><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">xlaunchCred</span> = The user-based token generated by xlaunchapi.jar</span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">The following STEPS will walk you through to obtain the required parameters:</span></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span></p><ol style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Get the Page ID of the DASH page. For example, to get the Page ID of DASH About Page, open the About page and click on the "Page" icon at the top right corner and click "About". The Page ID is under "General"</span></p></li></ol><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"></p><ol start="2" style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Generate the user-based token using xlaunchapi.jar, ensure all text in the command are all in one line as shown:<br style="box-sizing: border-box;" /> <br style="box-sizing: border-box;" />./java -cp /<JazzSM_HOME>/profile/installedApps/JazzSMNode01Cell/isc.ear/xlaunchapi.jar com.ibm.isc.api.xlaunch.LaunchPropertiesHelper\$Encode com.ibm.isc.xlaunch.username <username> com.ibm.isc.xlaunch.password <password></span></p></li></ol><ul class="tab-list" style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"></p></li><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Replace <username> and <password> with the user you want to Single Sign On.</span></p></li></ul><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span></p><ul class="tab-list" style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">The command will return a string like:</span></p></li><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">L2NvbS5pYm0uaXNjLnhsYXVuY2gudXNlcm5hbWUvc21hZG1pbi9jb20uaWJtLmlzYy54bGF1bmNoLnBhc3N3b3JkL29iamVjdDAw</span></p></li><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"></p></li></ul><ol start="3" style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Following the URL convention, </span><a data-attrib-id="link-74484931-237d-4210-9951-f38add950e87" href="https://%3Cfqdn%3E:16311/ibm/action/launch/%3CPageID%3E/%3CxlaunchCred%3E," rel="noopener noreferrer nofollow" style="background: transparent; border: 0px; box-sizing: border-box; color: #054ada; cursor: pointer; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; transition: all 0.3s ease 0s; vertical-align: baseline;" target="_blank"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">https://<FQDN>:16311/ibm/action/launch/<PageID>/<xlaunchCred>,</span></a><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> launch the DASH About Page. The page will launch without manually entering login and password.</span></p></li></ol><p style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"> </span></p><ul class="tab-list" style="background-color: white; border: 0px; box-sizing: border-box; color: #323232; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 16px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 10px; padding: 0px; vertical-align: baseline;"><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Example:</span></p></li><li style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><p style="border: 0px; box-sizing: border-box; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; letter-spacing: initial; line-height: initial; margin: 0px 0px 10px; overflow: hidden; padding: 0px; vertical-align: baseline;"><a data-attrib-id="link-17ea9ced-6cf4-4be6-82e4-cbd8237c605a" href="https://dash151.poc.ibm.com:16311/ibm/action/launch/com.ibm.isclite.ISCAdminPortlet_banner.isc.about/L2NvbS5pYm0uaXNjLnhsYXVuY2gudXNlcm5hbWUvc21hZG1pbi9jb20uaWJtLmlzYy54bGF1bmNoLnBhc3N3b3JkL29iamVjdDAw" rel="noopener noreferrer nofollow" style="background: transparent; border: 0px; box-sizing: border-box; color: #054ada; cursor: pointer; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; transition: all 0.3s ease 0s; vertical-align: baseline;" target="_blank"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">https://dash151.poc.ibm.com:16311/ibm/action/launch/com.ibm.isclite.ISCAdminPortlet_banner.isc.about/L2NvbS5pYm0uaXNjLnhsYXVuY2gudXNlcm5hbWUvc21hZG1pbi9jb20uaWJtLmlzYy54bGF1bmNoLnBhc3N3b3JkL29iamVjdDAw</span></a></p></li></ul>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-70854641791755872362023-09-14T09:19:00.004-04:002023-09-14T09:19:47.669-04:00Configuring DASH/JazzSM and WebGUI HA using an ObjectServer database<p> There is a great support article on this exact topic here:</p><p><a href="https://www.ibm.com/support/pages/omnibus-webgui-configuring-high-availabilityload-balancing-using-omnibus-81-objectserver-ha-database">https://www.ibm.com/support/pages/omnibus-webgui-configuring-high-availabilityload-balancing-using-omnibus-81-objectserver-ha-database</a></p><p>There are just a few caveats that need I need to point out:</p><p>1. Use the webha.sql file from the above link to create the ObjectServer database. There are two similar files on your DASH/JazzSM server after the install, but both are incorrect.</p><p>2. The instructions in the link for configuring WebSphere are all manual, through the WebSphere Admin Console. To make things more easily repeatable, I created a file with all of the Jython WebSphere administrative commands required. Here are the contents of that file:</p><p><br /></p><p><br /><script src="https://gist.github.com/franktate/ed35a8e4f9f94fc119da51881fd02ac0.js"></script></p><p><br /></p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-54732075601757107372023-08-25T09:39:00.002-04:002023-08-25T13:42:09.358-04:00Modifying the Netcool Remedy 8 gateway for use with Java JDK 8<p><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">𝐁𝐚𝐜𝐤𝐠𝐫𝐨𝐮𝐧𝐝</span></p><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">The Netcool Gateway for Remedy 8 version 1.3 was originally written for Java 6, which used the Rhino JavaScript engine. The Nashorn JavaScript engine in Java 8 (which is automatically installed with an OMNIbus fixpack) is slightly different. Nashorn is so different that the some modifications are required to get the probe to work correctly.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">The error you'll see in the gateway log file if you try to run the gateway without these changes is:</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">Error: [Main Gateway] java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "importPackage" is not defined in <eval> at line number 1</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">The issue is basically that Nashorn gives you a new way to create Java objects within JavaScript.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">𝐒𝐨𝐥𝐮𝐭𝐢𝐨𝐧</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">You will need to modify three files to get the Remedy 8 gateway working correctly. Those files are listed here:</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">$𝗢𝗠𝗡𝗜𝗛𝗢𝗠𝗘/𝗷𝗮𝘃𝗮𝘀𝗰𝗿𝗶𝗽𝘁/𝗺𝗼𝗱𝘂𝗹𝗲𝘀/𝘀𝗼𝗴.𝗷𝘀</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">$𝗢𝗠𝗡𝗜𝗛𝗢𝗠𝗘/𝗷𝗮𝘃𝗮𝘀𝗰𝗿𝗶𝗽𝘁/𝗺𝗼𝗱𝘂𝗹𝗲𝘀/𝗱𝗮𝘁𝗲𝗳𝗼𝗿𝗺𝗮𝘁.𝗷𝘀</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">In the above two files, you simply need to add this one line at the beginning of each file:</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">𝚕𝚘𝚊𝚍("𝚗𝚊𝚜𝚑𝚘𝚛𝚗:𝚖𝚘𝚣𝚒𝚕𝚕𝚊_𝚌𝚘𝚖𝚙𝚊𝚝.𝚓𝚜");</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">$𝗢𝗠𝗡𝗜𝗛𝗢𝗠𝗘/𝗴𝗮𝘁𝗲𝘀/𝗯𝗺𝗰_𝗿𝗲𝗺𝗲𝗱𝘆/𝗯𝗺𝗰_𝗿𝗲𝗺𝗲𝗱𝘆.𝗻𝗼𝘁𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻.𝗷𝘀 </span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">This file requires a bit more customization. Specifically, you replce this line in the update() function definition:</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;"> 𝚟𝚊𝚕𝚞𝚎𝚜 = 𝚜𝚘𝚐.𝚗𝚎𝚠𝚛𝚘𝚠();</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">With these 3 lines:</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;"> //𝚟𝚊𝚕𝚞𝚎𝚜 = 𝚜𝚘𝚐.𝚗𝚎𝚠𝚛𝚘𝚠(); // 𝚓𝚞𝚜𝚝 𝚌𝚘𝚖𝚖𝚎𝚗𝚝𝚒𝚗𝚐 𝚒𝚝 𝚘𝚞𝚝.</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">𝚟𝚊𝚛 𝚂𝙾𝙶𝚁𝚘𝚠 = 𝙹𝚊𝚟𝚊.𝚝𝚢𝚙𝚎("𝚌𝚘𝚖.𝚒𝚋𝚖.𝚝𝚒𝚟𝚘𝚕𝚒.𝚗𝚎𝚝𝚌𝚘𝚘𝚕.𝚒𝚗𝚝𝚎𝚐𝚛𝚊𝚝𝚒𝚘𝚗𝚜.𝚜𝚘𝚐.𝚂𝙾𝙶𝚁𝚘𝚠");</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">𝚟𝚊𝚛 𝚟𝚊𝚕𝚞𝚎𝚜 = 𝚗𝚎𝚠 𝚂𝙾𝙶𝚁𝚘𝚠();</span><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit;" /><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">Once you make all of the above changes, you need to restart the gateway for the changes to take effect, and it has a better chance of working. I say better chance because you still have to provide all of the correct values for the various properties. But if you're just upgrading your working gateway to OMNIbus 8.1 FixPack 30, then the above changes are what you need.</span>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-15646273184368382542023-08-18T08:20:00.002-04:002023-08-18T08:20:19.729-04:00Updating the bundled Java SDK 8 in WebSphere 8.5.5.x<p>There are a couple different ways to install Java with WebSphere. The most common way is to simply use the bundled Java SDK. Even with this, sometimes you need to update the Java SDK outside of a Fix Pack. To do that, you need to download an update specifically for the bundled Java SDK. Those can be found here:</p><p><a href="https://www.ibm.com/support/pages/node/6209712#Java8B">https://www.ibm.com/support/pages/node/6209712#Java8B</a></p><p>You can download the appropriate version, unzip it, add it as a repository to Installation Manager, and then click "Update" to update the WAS bundled JVM.</p><p>An example scenario is this:</p><p>I have a customer with WAS 8.5.5.11 installed in a secure and regulated environment. They were told they needed to install WAS 8.5.5 FP 23 (FP24 is available, but it has not yet been approved for installation in this environment) and Java 8.0.8.5. WAS 8.5.5.23 comes bundled with Java 8.0.7.20. So we needed to apply the 8.5.5.23 Update via Installation Manager, and then apply the Bundled Java SDK 8.0.8.5 Update via Installation Manager, and all was good.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-757779775590647622023-08-17T12:32:00.006-04:002023-09-12T09:03:15.192-04:00Upgrading from IBM Installation Manager 1.8.x to 1.9.x<h1 style="text-align: left;"><span style="background-color: white; color: #222222; font-family: inherit; font-size: small; font-weight: normal;">This
is a little tricky because both the documentation and the error message you receive when you try to follow the
documentation both lead you in the wrong direction if you currently have IIM installed in "Group mode".</span>
</h1>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;">Specifically, the docs tell
you to add the new IIM repository.config as a repository to your current IIM 1.8.x installation and to click
Update. However, when you do that, it fails and tells you to run the "userinst" command from the new version.
This is the correct command to run IF you initially installed IIM in "User mode". But if you originally
installed in Group mode, you need to run the "groupinst" command instead.</span></div>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;">When you do run "groupinst"
(or "userinst" or "install" if you installed it originally in "Admin mode") from the new IIM, you need to make
sure to specify the same Data location as you previously used. It will simply use the default value by default,
so you need to explicitly state the correct location. ADDITIONALLY, if you specified a custom data location on
your original install, you need to copy the <b>InstallationManager.dat</b> file from under that location (run a
'find' to find it) to this location :</span></div>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;"><span style="font-family: courier;">/home/your_user/var/ibm/InstallationManager_Group/etc/.ibm/registry/InstallationManager.dat</span>
</div>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222;"><span style="font-family: inherit;">This is the default location
that IIM looks in for the file. If you don't copy this file over, it will tell you that there's an inconsistency
in your install. Here's the error you'll see:</span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">
<br /></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: courier;">The
Installation Manager's registry information is inconsistent with its installation information.</span></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: courier;"><br /></span></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: courier;">The registry
information at "/home/netcool/var/ibm/InstallationManager_Group/etc/.ibm/registry/Installationmanager.dat"
indicates that the Installation manager is not installed. however. the information at the
"/opt/IBM/InstallationManager/IM/var/ibm/InstallationManager_group" data location indicates that Installation
manager 1.8.9 (internal version: 1.8.9000.20180313_1417) is installed at location
"/opt/IBM/InstallationManager/IM/InstallationManager_Group/eclipse".</span></div>
<div style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">
<br /></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: inherit;">Copy the
file over, and you'll no longer get the error.</span></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: inherit;"><br /></span></div>
<div style="background-color: white; color: #222222; font-size: small;"><span style="font-family: inherit;">Also, as a
handy piece of information, that file contains the Data Location, specified on the "appDataLocation="
line.</span></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-61686719707503386312023-07-13T13:10:00.000-04:002023-07-13T13:10:11.082-04:00Securing the Netcool EWS Probe<h2 style="text-align: left;">Background</h2><div>The Netcool Probe for Microsoft Exchange Web Services (EWS Probe) documentation leads you to create the probe with a very large security issue. Specifically, following the IBM documentation, the probe is allowed to access ANY mailbox just by specifying the name of the mailbox (email address) WITH NO PASSWORD. That is not ideal.</div><h2 style="text-align: left;">Solution</h2><div>My client and I contacted IBM support and got the following solution really quickly (within just a couple of hours):</div><div><br /></div><div><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">The steps are taken from this link <a alt="https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access" href="https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access" style="background-color: transparent; border: 0px; box-sizing: border-box; color: #0062ff; cursor: pointer; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 0.75rem; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration-line: none; transition: color 0.1s linear 0s; vertical-align: baseline;" target="_blank">https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access</a>. </p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">Due to security concerns highlighted by customer, A Doc APAR to add the following steps into probe guide has been raised.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">APAR number : IJ41418</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">Limiting probe access to specific Exchange Online mailboxes.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">By default OAuth authentication enables the probe to access all mailboxes in an organization on Exchange Online. Administrators can identify the set of mailboxes to permit access by putting them in a mail-enabled security group. Administrators can then limit probe access to only that set of mailboxes by creating an application access policy for access to that group.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">a. Create a new mail-enabled security group using steps in this link or use an existing one and identify the email address for the group.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">b. Add the user of mailbox to be accessed by probe into the group.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">c. Connect to Exchange Online PowerShell. For details, see Connect to Exchange Online PowerShell.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">d. Create an access policy on the registered Azure Active Directory application.</p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;"><br style="box-sizing: border-box; font-size: 0.75rem;" /></p><p style="background-color: white; border: 0px; box-sizing: border-box; color: #161616; font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 12px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; letter-spacing: 0px; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;">New-ApplicationAccessPolicy -AppId <<Application/ClientID>> -PolicyScopeGroupId <<SecGroupEmail>> -AccessRight RestrictAccess -Description "IBM Netcool EWS Probe Mailbox"</p></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-41272269221656196022023-04-18T16:09:00.003-04:002023-04-18T16:09:49.281-04:00Configuring the Prometheus JSON Exporter to Parse a JSON Array<h1 style="text-align: left;"> Background</h1><p>The <a href="https://github.com/prometheus-community/json_exporter" target="_blank">Prometheus JSON Exporter</a> allows you to parse arbitrary JSON data into Prometheus metrics. You'll even find some examples at the link. The problem is that all of the examples show a single JSON object. What is the syntax supposed to be if you're dealing with JSON that is an array, <a href="https://www.elprisetjustnu.se/api/v1/prices/2023/03-08_SE4.json">like this data</a>? <a href="https://www.reddit.com/r/PrometheusMonitoring/comments/11sxjgh/json_exporter_config_syntax_help/">This question came up on Reddit</a>.</p><h1 style="text-align: left;">Solution</h1><p>The solution is to specify the <b>path</b> as:</p><p>path: '{[*]}'</p><p>That's it. That will return the entire array as a list, which is what's needed to have the JSON Exporter loop through it. </p><p><a href="https://gist.github.com/franktate/a13a0b66568ac1fbc690e55cef5131d7" target="_blank">Here's a link to the github gist with more details about how you can use the above information</a>.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-42827749321830248302023-04-10T15:35:00.000-04:002023-04-10T15:35:24.563-04:00I bet you don't fully understand the power of a CI/CD pipeline<p>If your team is delivering something digital, you MUST use a CI/CD pipeline. </p><p>I'm sure you've heard of CI/CD (Continuous Integration/Continuous Development) pipelines, but I bet a lot of you don't truly understand how powerful they can be. Before the other day, I basically understood their power, but then I submitted my first Pull Request to a huge open source project and was simply blown away. A Pull Request (I hate the name because the words don't make sense to me, but that's the name) is a mechanism for a developer/contributor to notify team members that they have completed a feature or change. So it's really a request to merge a change into the code base. </p><p>In my case, I was reading the <a href="https://grafana.com/docs/agent/latest/flow/concepts/configuration_language/" target="_blank">Grafana Agent documentation</a> and saw an error that bugged me. There was an incorrect statement in the technical description. The wrong label was specified. I've run across this type of error in numerous vendor documents, so I'm used to it, but ti still gets me every time I come across one. The difference here was that the error was close to the bottom of the page, and at the bottom was this group of links:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhWLfEGlX6qrLIAhFCgq7qD6kqsl3efIB41XlB0glEN_GC8rUqKGuPBgl_2ySsPKSI2rzFJzsgNz7RVOcjmBf6pkVGp7_DnmeB266dSmOVM4mHqWxseCm-Spl-vKS7BVBHkkTgRMBH1Kq_WmbNIshlxAPSIuB8KhMtHsWKRd1QHSiutL3IBM7Bum4iDIw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="77" data-original-width="594" src="https://blogger.googleusercontent.com/img/a/AVvXsEhWLfEGlX6qrLIAhFCgq7qD6kqsl3efIB41XlB0glEN_GC8rUqKGuPBgl_2ySsPKSI2rzFJzsgNz7RVOcjmBf6pkVGp7_DnmeB266dSmOVM4mHqWxseCm-Spl-vKS7BVBHkkTgRMBH1Kq_WmbNIshlxAPSIuB8KhMtHsWKRd1QHSiutL3IBM7Bum4iDIw=s16000" /></a></div><br />So I clicked on "Suggest an edit" and was taken to the Github repository storing the docs. I already had an account, so I made the small change I needed, and it automatically created a new branch for me with the change and prompted me to make a Pull Request. So I did that, and it let me know that the first issue was that I needed to sign the Contributor License Agreement, and it provided a link to that. I signed the agreement, and the pull request automatically got put into a "Needs Review" state and was assigned to one of the maintainers. So I figured "Well, I did something good. Maybe that update will show up on the website one day, eventually". A couple of hours later I got an email stating that my pull request was reviewed, approved, and merged into the main trunk. So I figured I would check the Grafana Agent page for grins, AND MY CHANGE WAS THERE, LIVE ON THE SITE!<p></p><p>Now for my "bigger picture" opinion on this:</p><p>In working with large software vendors, I have made similar change requests that took me hours to complete and that were NEVER implemented in the product documentation, so I was completely amazed. After going through this process, it is my strong opinion that any company that provides documentation for their products should have a publicly available repository that allows public contributions. I realize that the legalese for any particular Contributor License Agreement would need to be ironed out, along with many other details. Or there could be a restriction that updates are allowed only by Business Partners (who have already signed numberous documents). My point is that a huge number of extremely useful updates could be crowdsourced in this way.</p><div class="separator" style="clear: both; text-align: center;"><br /><br /></div><br /><br /><p></p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-84858601555189512942023-03-30T14:41:00.004-04:002023-08-30T10:22:39.854-04:00Sending Kibana (free/open source) Alerts via Webhook Using Fluent-Bit (free)<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA0kFCg9dcEKdDAbBw_NXKyJnxdKell0zM1SNdJAfv5YDc_cVXUJgVyhmu8PgfZle86ucjK07qnqVtK-wA6rKtjchOlgS19JZRJHgs0y_j2STSX2Voo5YQ2sfnZmallwFT2EEQIdFb6zEo7S8WP6Eu1gUEBgxcbLLBbAmjq0qUq-acQyP0t8jQLocmYw/s541/Screenshot%202023-03-31%20064353.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="310" data-original-width="541" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA0kFCg9dcEKdDAbBw_NXKyJnxdKell0zM1SNdJAfv5YDc_cVXUJgVyhmu8PgfZle86ucjK07qnqVtK-wA6rKtjchOlgS19JZRJHgs0y_j2STSX2Voo5YQ2sfnZmallwFT2EEQIdFb6zEo7S8WP6Eu1gUEBgxcbLLBbAmjq0qUq-acQyP0t8jQLocmYw/w400-h229/Screenshot%202023-03-31%20064353.png" width="400" /></a></div><br /><h1 style="text-align: left;"><br /></h1><h1 style="text-align: left;">Background</h1><div>This is a case where we helped a customer save quite a bit of money by using software they already owned rather than paying a large upcharge for additional licenses that they didn't need.</div><div><br /></div><div>For any number of good reasons, your use case only calls for the free version of Elastic in your environment. In your environment, you also want to integrate alerts with your ticketing system. The challenge is that the free version of Kibana does not include a webhook connector for alerts. Only the Server log connector is available with the free license, whereas the Webhook connector (and others) are only available with the paid licenses.</div><div><br /></div><div>I have a customer in the above situation. An application they purchased is bundled in an appliance running a packaged Kubernetes distribution. The application also includes Fluent Bit for log collection into Elasticsearch. The initial challenge was to send alerts to their on-prem Netcool environment when certain log messages were written. We helped them meet this challenge using the webhook output of Fluent Bit to send the appropriate messages to the Netcool message bus probe, which would then create an incident in their ticketing system for each of these alerts.</div><div><br /></div><div>Their next requirement was to only create incidents based on some aggregation of log messages. Specifically, they obtained several Elasticsearch queries from the vendor that should be used to generate incidents. This is really straightforward when using one of the paid Elastic licenses because you can simply write a rule with the Elasticsearch query as a condition and the built-in webhook connector to define an action that sends a message. With the free license of Kibana, that connector isn't available. </div><h1 style="text-align: left;">My Solution</h1><div>The trick to the solution in this case is to just use the Server Log connector in Kibana to write a specifically-formatted message to the log when the Elasticsearch query condition is met. The message can be similar to:</div><div><br /></div><div><b>CREATE_INCIDENT Vendor Query X has breached the prescribed threshold. Take action Y to correct.</b></div><div><br /></div><div>This message is written to the log file for the Kibana pod, which is already being tail'ed by Fluent Bit. So we just needed to create a FILTER in Fluent Bit to match this log message and route that to the message bus probe. </div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-35772338731881906542023-03-29T13:23:00.001-04:002023-04-11T13:20:16.708-04:00Tunneling X11 over SSH as a different user<h1 style="text-align: left;">Background</h1><div>X11 tunneling over SSH is pretty straightforward as long as you don't need to su to another user on the target system. When you have to do that, it gets a little tricky, and that's the reason for this post.</div><div><br /></div><h1 style="text-align: left;">Solution</h1><div>In my case, I'm usually starting the process from a Windows server with Putty, so that's the basis for this solution. I have tested this with both xming and Moba Xterm on Windows. So before connecting to a remove server, make sure that your Windows X server is running and Putty is configured to allow X11 forwarding:</div><div><br /></div><div><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Ensure X11 tunneling is configured for your session:<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_3SSGX4hDQmsohOEDX_GnhKsbXCJVaNgT6gOugYvJWr5EkBjzOcJuHNM0lVViCpG6Vu6qoWelhn67W3tsA6gyEKzBodVffUKGz58OKTAvB6LfLbrfzjq1_zDAF5XALj8MnfqULucws4tm0RexqwfDUecIxdb7dkXClsEkvmx7fgO983rHs6qnXLnG0Q/s452/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="442" data-original-width="452" height="391" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_3SSGX4hDQmsohOEDX_GnhKsbXCJVaNgT6gOugYvJWr5EkBjzOcJuHNM0lVViCpG6Vu6qoWelhn67W3tsA6gyEKzBodVffUKGz58OKTAvB6LfLbrfzjq1_zDAF5XALj8MnfqULucws4tm0RexqwfDUecIxdb7dkXClsEkvmx7fgO983rHs6qnXLnG0Q/w400-h391/unnamed.png" width="400" /></a></div><br /><br /><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Open the session (connect to the remove system) and ensure that your xauth exists and your local display is set so you can get your MIT-MAGIC-COOKIE:<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[franktate@linux1 ~]$ echo $DISPLAY<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">localhost:10.0<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[franktate@linux1 ~]$ xauth list | grep :10<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">linux1.gulfsoft.com/unix:10 MIT-MAGIC-COOKIE-1 a229706ccb496af61501ea25a95488<wbr></wbr>51<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[f</span><span style="font-family: "Courier New";">ranktate@linux1 </span><span style="font-family: "Courier New";">~]$</span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Note how your display number is used to identify the appropriate MIT-MAGIC-COOKIE<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Ensure that an X application can connect to your Windows X server by running xterm or some other application.<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Switch users and set the MIT-MAGIC-COOKIE:<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="background-color: transparent; font-family: "Courier New";">[f</span><span style="background-color: transparent; font-family: "Courier New";">ranktate@linux1 </span><span style="background-color: transparent; font-family: "Courier New";">~]$</span><span style="font-family: "Courier New";"> su - db2inst1<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">Password:<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">-bash: TMOUT: readonly variable<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="background-color: transparent; font-family: "Courier New";">[db2inst1</span><span style="background-color: transparent; font-family: "Courier New";">@linux1 </span><span style="background-color: transparent; font-family: "Courier New";">~]$</span><span style="font-family: "Courier New";"> xauth add </span><span style="font-family: "Courier New";">linux1.gulfsoft.com/unix:10</span><span style="font-family: "Courier New";"> MIT-MAGIC-COOKIE-1 a229706ccb496af61501ea25a95488<wbr></wbr>51<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[db2inst1</span><span style="font-family: "Courier New";">@linux1 </span><span style="font-family: "Courier New";">~]$</span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Run xterm or some other X application to be sure X is tunneled correctly. Assuming that works, now connect from the first machine to another.<u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">SSH to the next hop host and get your MIT-MAGIC-COOKIE<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="background-color: transparent; font-family: "Courier New";">[db2inst1</span><span style="background-color: transparent; font-family: "Courier New";">@linux1 </span><span style="background-color: transparent; font-family: "Courier New";">~]$</span><span style="font-family: "Courier New";"> ssh -Y frank2@linux2<u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">frank2@linux2</span><span style="font-family: "Courier New";">'s password:<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">Last failed login: Sat Feb 23 16:17:29 EST 2019 on pts/0<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[frank2@linux2 ~]$ echo $DISPLAY<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">localhost:10.0<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[frank2@linux2 ~]$</span><span style="font-family: "Courier New";"> xauth list | grep :10<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">linux2.gulfsoft.com/unix:10 MIT-MAGIC-COOKIE-1 2d31b43034bfc9da1c0d2848c1b718<wbr></wbr>d8<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[frank2@linux2 ~]$</span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Run xterm or some other X application to be sure X is tunneled correctly.<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Switch users and set the MIT-MAGIC-COOKIE<u></u><u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[frank2@linux2 ~]$</span><span style="font-family: "Courier New";"> su - db2inst1<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">Password:<u></u><u></u></span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><span style="font-family: "Courier New";">[db2inst1@linux2 ~]$ xauth add</span><span style="font-family: "Courier New";"> </span><span style="font-family: "Courier New";">linux2.gulfsoft.com/unix:10 MIT-MAGIC-COOKIE-1 2d31b43034bfc9da1c0d2848c1b718</span><wbr style="font-family: "Courier New";"></wbr><span style="font-family: "Courier New";">d8</span></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> <u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;">Run an X application like xterm to validate that it's working.<u></u></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><br /></p><p class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin: 0px;"><u></u> </p></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-12648040831110368222023-03-29T12:51:00.001-04:002023-06-09T10:52:16.098-04:00Modify kibana.yml after deploying Kibana with HelmIf you deploy Kibana using the <a href="https://github.com/elastic/helm-charts/tree/main/kibana">Elastic helm chart</a> with default values, what you'll find is that you don't have any obvious way to modify the kibana.yml file. For example, if you log into the Kibana pod with<br /><br /><span style="font-family: courier;">kubectl exec --stdin --tty kibana_podname -- /bin/bash<br /></span><br />you'll find that there's no editor available (like vi or even ed). You can cat config/kibana.yml, but the comments state that it is auto-generated. So what are you supposed to do to add an a setting to the file? For example, you might need to add a value for xpack.encryptedSavedObjects.encryptionKey so you can configure alerting.<br /><br />The solution I came up with is a multi-step process:<br /><br />1. Get the default values.yaml file for the chart and store that in a file with the command:<br /><br /><span style="font-family: courier;">helm show values elastic/kibana > /tmp/kibana.yaml<br /></span><br />2. Edit that file to add a section for kibana.yml under kibanaConfig. Originally, kibanaConfig is empty (set to {}). You need to change it to be something like:<div><br /></div><div><span style="font-family: courier;">kibanaConfig:</span></div><div><span style="font-family: courier;"> kibana.yml: |</span></div><div><span style="font-family: courier;"> xpack.encryptedSaveObject.encryptionKey xxxxxxxxxxxxxxxxxxxx</span></div><div><br /></div><div><br /><div><div>3. Now (unintuitively at least to me) uninstall the helm chart with:</div><div><br /><span style="font-family: courier;">helm uninstall kibana</span></div><div><br />3. Then install the helm chart again with:</div><div><br /><span style="font-family: courier;">helm install kibana elastic/kibana -f /tmp/kibana.yaml</span></div><div><br />And that's it. Your changes will be applied and you're good to go.</div><div><br />I'm pretty sure there's a way to create a configMap and reference it, which would then allow you to just delete the pod to have it re-read the configMap, but I haven't figured out those exact details. Maybe in another post.</div></div></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-62001770326168601062023-03-21T07:15:00.000-04:002023-03-21T07:15:06.232-04:00Installing .pak Files on WebSphere Application Server 8.5.x<h1 style="text-align: left;">Background</h1><div>In WAS 7.0 (and possibly earlier), the WebSphere Update Installer was used to install WAS fix packs, which would have a file extension of .pak. Additionally, some other software (IBM Security Identity Manager 6, for example) that runs on WAS decided to package their updates in the same way, with .pak files to be installed with the Update Installer. WAS 8.5 moved to using IBM Installation Manager for its installation and the installation of fix packs. The last version of the WebSphere Update Installer is 7.0.0.45.</div><div><br /></div><div>Let's say after you installed ISIM 6 on WAS 7, and then later upgraded WAS to 8.5. How do you install an ISIM 6 fixpack onto WAS 8.5?</div><h1 style="text-align: left;">Solution</h1><div>You use the WAS 7.0.0.45 Update Installer, of course! </div><div><br /></div><div>WebSphere Update Installer is actually a standalone product that isn't reliant on any particular version of WebSphere to be installed. Its version number does its best to throw you off, but it works just fine when run against WAS 8.5 (or even 8.5.5.23 in my latest test).</div><div><br /></div><div>I couldn't find this spelled out anywhere, so I thought I would share.</div><div><br /></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-59147768720507956792023-03-16T12:44:00.005-04:002023-08-30T10:25:14.041-04:00Installing additional software on the Rancher docker container<p>If you read one of my <a href="https://blog.gulfsoft.com/2023/03/installing-rancher-in-single-docker.html" target="_blank">previous posts</a> to install Rancher on a single docker container, you may have found that it doesn't include several commands like ping, netstat, ss, and even apt. And if you run 'uname -a', you might think that the image you're in is Ubuntu, but it's not. It's SUSE Linux (the same people who maintain Rancher), and the package manager there is accessed via the command 'zypper'. So to install several of the tools you know and love, run the following</p><p><span style="font-family: courier;">zypper install net-tools iproute2 bind fping lsof</span></p><p>That's it. Now you have a few more tools for debugging.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-14407677572086456812023-03-15T08:37:00.007-04:002023-08-30T10:26:29.300-04:00Installing Rancher in a Single Docker Container on Ubuntu 20.04<p>This is MUCH easier than my last couple of posts because this just takes one step after you configure your OS. Rancher is a cloud native (runs on its own K8s/K3s cluster) K8s manager and container orchestration platform. It is a competitor to Red Hat OpenShift and VMWare Tanzu.</p><p>This solution is for a DEV/practice environment. </p><div style="text-align: left;">I've uploaded the script to configure Ubuntu as a gist to Github. So all you need to do is start with a working install of Ubuntu 20.04 desktop (my test systems have been configured with 16 cores and 64GB RAM). Your user must have sudo access (you'll be prompted for the password as the scripts run) and you can run this script:</div><div><br /></div><div><a href="https://gist.github.com/franktate/6613490cee494025942a2b2c9d1b501a">configureUbuntu.sh</a></div><div><br /></div><div><script src="https://gist.github.com/franktate/6613490cee494025942a2b2c9d1b501a.js"></script><br /></div><div>Now run this command:</div><div><br /></div><div><div><span style="font-family: courier;">docker run -d --restart=unless-stopped \</span></div><div><span style="font-family: courier;"> -p 80:80 -p 443:443 \</span></div><div><span style="font-family: courier;"> --privileged \</span></div><div><span style="font-family: courier;"> rancher/rancher:latest</span></div></div><div><br /></div><div>Now open your browser to http://localhost and follow the directions. It will instruct you how to get the password, then prompt you to change the password, and you're good to go. You have a local Rancher K3s cluster running in a docker container. From the UI you can probe your cluster configuration, install new applications, etc. One application of interest is:</div><div><br /></div><div>Monitoring - This is similar to (though not exactly) the kube-prometheus-stack, with Prometheus, Grafana, and several Grafana dashboards configured.</div><div><br /></div><div><div>To access the cluster from the CLI, you first need to get the container-id of your rancher container with:</div><div><br /></div><div><span style="font-family: courier;">docker ps</span></div><div><br /></div><div>Then run:</div><div><br /></div><div><span style="font-family: courier;">docker exec -it container-id /bin/bash</span></div><div><br /></div><div>At this point you have a root shell with access to the kubectl command.</div></div><div><br /></div><div>Another application that will probably interest you is Elasticsearch. Be prepared for a LOT of failure if you try to install this one. <strike>I simply could not get it to install, and I could not determine why it failed. I couldn't find any useful logs describing where it was getting hung up. If you can figure it out, please let me know. I will keep on trying.</strike></div><div><br /></div><div>Update 3/16/2023: I was able to get Elasticsearch installed, and I can verify via curl to port 9200 that it's running, but that's it. I can't get any logs sent to it because the Logging app won't let me configure anything. And while I can install Kibana, I cannot figure out how to access the UI once it's installed. I've tried quite a few different things, but it's not working.</div><div><br /></div><div>To get Elasticsearch installed, you need to perform some additional steps:</div><div><br /></div><div>Create a directory like /home/mypv inside the Rancher docker container.</div><div>Set the owner of that directory to the user "rancher"</div><div>create a PersistentVolume in the Rancher UI to be a HostPath that points to /home/mypv with a size of 30Gi (to match the defaults for the Elasticsearch install)</div><div>In the Elasticsearch yaml, change the values of these two keys as listed here:</div><div><br /></div><div><div>replicas: 1</div><div>minimumMasterNodes: 1</div></div><div><br /></div><div>But, like I said, you won't be able to actually do anything with it at this point.</div><div><br /><br /></div><div><br /></div><div><br /></div><div><br /></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-25174901599416604252023-03-14T16:45:00.002-04:002023-03-14T16:45:48.344-04:00Installing the ELK stack and Fluent-Bit on Minikube on Ubuntu 20.04<h1 style="text-align: left;"> Background</h1><div>This should be easy, but it took me a couple of days to successfully get it running, so that showed me that I needed to create this post. The problems are:</div><div><br /></div><div>1. There are a LOT of out-of-date articles out there that are now just wrong (this one was written on 3/14/2023 and will be obsolete at some point; I apologize in advance if you are reading this after that point of obsolescence). It's not the fault of the authors. Components in this space are simply changing very quickly. Event some of the latest HOWTO documentation in the different github repositories is wrong (invalid/deprecated flag used, etc.)</div><div><br /></div><div>2. The various helm charts include some example yaml files (yay!) that don't work without modification (dammit!).</div><div><br /></div><div>3. The Fluent Bit helm chart defaults simply do not work with a default Elasticsearch install. Specifically, Elasticsearch requires (and there is no way to disable this) TLS connections with authentication, while the Fluent Bit chart is only set up for an HTTP connection to Elasticsearch with NO authentication.</div><div><br /></div><div>So those are some of the reasons for this article.</div><div><br /></div><div>This solution is for a DEV/practice environment. I can't possibly list all of the reasons why. Those reasons start with "it's on minikube" and include "the Elastic password is in plaintext", among many, many others.</div><h2 style="text-align: left;">Solution</h2><div>I've uploaded the scripts as gists to Github. So all you need to do is start with a working install of Ubuntu 20.04 desktop (my test systems have been configured with 16 cores and 64GB RAM). Your user must have sudo access (you'll be prompted for the password as the scripts run) and you can run these two scripts in order:</div><div><br /></div><div><a href="https://gist.github.com/franktate/6613490cee494025942a2b2c9d1b501a">configureUbuntu.sh</a></div><div><br /></div><div><br /><script src="https://gist.github.com/franktate/6613490cee494025942a2b2c9d1b501a.js"></script></div><div><br /></div><div><a href="https://gist.github.com/franktate/400b0947867e4d8a8c234ea112290f81">install-elk-and-fluentbit.sh</a></div><div><br /></div><div><br /><script src="https://gist.github.com/franktate/400b0947867e4d8a8c234ea112290f81.js"></script></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-13708849519791275892023-03-13T09:00:00.001-04:002023-03-13T09:00:00.167-04:00Installing Minikube and Prometheus on Ubuntu 20.04 as of 3/11/2023<h1 style="text-align: left;">Background</h1><div>You might think it's strange that I've included a specific date in the title of this post, which means that you haven't tried to perform this kind of installation at two points in time some number of months apart. See, EVERYTHING in this space is changing rapidly. The latest and greatest way to install Prometheus in Kubernetes (whether it's actual K8s or minikube or anything else) is to install kube-prometheus-stack (<a href="https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack">https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack</a>) via a helm chart. But the specific details can be changed at any time. None of the many links I found gave me a working installation without modifying the commands at least a little. So I'm hoping this post is useful to at least one person before one or more changes make it obsolete.</div><h2 style="text-align: left;">Solution</h2><div>Here's the script that will get everything installed. You can Google any of the commands you want to see why they're in here if you're curious. But if you just need a stinkin' cluster with Prometheus installed, the exact script to do it is below. Some additional links I used to get to this point:</div><div><br /></div><div><br /></div><div><br /><div>Installing kube-prometheus-stack:</div><div><a href="https://github.com/LianDuanTrain/Helm3/blob/master/3%20Helm%20Deep%20Dive/3-11%20Use%20Helm%203%20to%20Install%20Prometheus%20%20on%20MiniKube%20in%2010%20Mins.md">https://github.com/LianDuanTrain/Helm3/blob/master/3%20Helm%20Deep%20Dive/3-11%20Use%20Helm%203%20to%20Install%20Prometheus%20%20on%20MiniKube%20in%2010%20Mins.md</a></div><div><br /></div><div>Better instructions that still needed to be cleaned up a bit:</div><div><a href="https://getbetterdevops.io/setup-prometheus-and-grafana-on-kubernetes/">https://getbetterdevops.io/setup-prometheus-and-grafana-on-kubernetes/</a></div><div><br /></div><div><br /></div></div><div><br /></div><div><br /> <script src="https://gist.github.com/franktate/66680c9f464709336d3462e929d427b3.js"></script> </div><div><br /></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-40132702983186627652023-02-13T09:00:00.001-05:002023-02-13T09:00:00.171-05:00Recent versions of the Netcool Message Bus Probe support Kafka<p> We are working with a client who needed to send events from their cloud-native application to their legacy on-prem netcool Operations Insight implementation. After researching a bit, we found that their application was already writing the events of interest to a Kafka topic. The only issue was that they had an old version of the Message Bus Probe. So we installed version 21 of the probe and used the included Nokia NFMP files as a starting point to configure the probe to pull the events from this topic so that they could be processed by Netcool. </p><p>Reach out to us if you're using Netcool/Watson AIOps and need some help working through some obstacles.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-86942756840105917972023-02-10T14:22:00.002-05:002023-02-10T14:22:15.799-05:00The Fluent Bit rewrite_tag filter doesn't fully work until version 1.8.12<p> I'm working with a client who has a packaged Kubernetes distribution installed that includes Fluent Bit 1.8.3. I tried the config from my last blog post on their system, and it just does NOT work as expected. In their system, it creates a new message with the new tag, but then none of the subsequent filters are applied. I had been working in the latest version (2.0.9), and everything worked like a champ. So I downloaded 1.8.3 and found that the same configuration didn't work. It seemed to partially call the rewrite_tag filter (if I set KEEP to false, it would delete the message, but if I set KEEP to true, it did nothing). The test configuration they suggest, using an input of type Dummy actually works exactly as expected. But the problem seems to be when you have an Input of type <b>tail</b>. And there is no workaround other than upgrading to a newer version. I actually downloaded and tested 1.8.4 through 1.8.12 before it worked correctly. So my client is now working on upgrading to a newer version.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-5673435566083442162023-02-08T10:10:00.004-05:002023-02-08T10:10:19.730-05:00Configuring Fluent Bit to send messages to the Netcool Mesage Bus probe<h2 style="text-align: left;"> Background</h2><p><a class="css-175oi2r r-1i6wzkk r-lrvibr r-1loqt21 r-1otgn73 r-1471scf" data-rnwi-5xr8s6-dse9kg-2fw26j-hybgjp-focus-visible="true" data-rnwi-handle="link" href="http://fluentbit.io/" style="transition-duration: 0.15s;"><span class="r-crgep1" data-key="7a64f21250424bce81e5bf3a1081aab7" data-rnwi-handle="nearest" data-rnwilink--7kx8wr-1ddef8g-hover="true" data-rnwilink--vqru6u-="true">Fluent Bit</span></a><span data-key="6cbafe4088174b0d8f1cf9c82fe11f97" data-slate-fragment="JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMmlubGluZSUyMiUyQyUyMnR5cGUlMjIlM0ElMjJsaW5rJTIyJTJDJTIyaXNWb2lkJTIyJTNBZmFsc2UlMkMlMjJkYXRhJTIyJTNBJTdCJTIycmVmJTIyJTNBJTdCJTIya2luZCUyMiUzQSUyMnVybCUyMiUyQyUyMnVybCUyMiUzQSUyMmh0dHAlM0ElMkYlMkZmbHVlbnRiaXQuaW8lMkYlMjIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkZsdWVudCUyMEJpdCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTJDJTIyc2VsZWN0aW9ucyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmIzMzBiYmFiMjk1NzRmM2NhODVhMDUzN2M0NTQ2MjVkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyM2NiNjMzODdjMjZkNGVhYzkzZjFkNjE2ZTY3YTk1MDQlMjIlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjBpcyUyMGFuJTIwb3BlbiUyMHNvdXJjZSUyMGFuZCUyMG11bHRpLXBsYXRmb3JtJTIwbG9nJTIwcHJvY2Vzc29yJTIwdG9vbCUyMHdoaWNoJTIwYWltcyUyMHRvJTIwYmUlMjBhJTIwZ2VuZXJpYyUyMFN3aXNzJTIwa25pZmUlMjBmb3IlMjBsb2dzJTIwcHJvY2Vzc2luZyUyMGFuZCUyMGRpc3RyaWJ1dGlvbi4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCUyQyUyMnNlbGVjdGlvbnMlMjIlM0ElNUIlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI2Y2JhZmU0MDg4MTc0YjBkOGYxY2Y5YzgyZmUxMWY5NyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjI5ODQ0YTE0ZjAyNTQ1NWRhODE3NmMyMjkwMzIyY2JhJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNTVhM2ZlOWM4MmY3NDkxZTgwOTA1M2U2MzVmOGUxNjglMjIlN0Q="> is an open source and multi-platform log processor tool which aims to be a generic Swiss knife for logs processing and distribution.</span></p><p><span data-key="6cbafe4088174b0d8f1cf9c82fe11f97" data-slate-fragment="JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMmlubGluZSUyMiUyQyUyMnR5cGUlMjIlM0ElMjJsaW5rJTIyJTJDJTIyaXNWb2lkJTIyJTNBZmFsc2UlMkMlMjJkYXRhJTIyJTNBJTdCJTIycmVmJTIyJTNBJTdCJTIya2luZCUyMiUzQSUyMnVybCUyMiUyQyUyMnVybCUyMiUzQSUyMmh0dHAlM0ElMkYlMkZmbHVlbnRiaXQuaW8lMkYlMjIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkZsdWVudCUyMEJpdCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTJDJTIyc2VsZWN0aW9ucyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmIzMzBiYmFiMjk1NzRmM2NhODVhMDUzN2M0NTQ2MjVkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyM2NiNjMzODdjMjZkNGVhYzkzZjFkNjE2ZTY3YTk1MDQlMjIlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjBpcyUyMGFuJTIwb3BlbiUyMHNvdXJjZSUyMGFuZCUyMG11bHRpLXBsYXRmb3JtJTIwbG9nJTIwcHJvY2Vzc29yJTIwdG9vbCUyMHdoaWNoJTIwYWltcyUyMHRvJTIwYmUlMjBhJTIwZ2VuZXJpYyUyMFN3aXNzJTIwa25pZmUlMjBmb3IlMjBsb2dzJTIwcHJvY2Vzc2luZyUyMGFuZCUyMGRpc3RyaWJ1dGlvbi4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCUyQyUyMnNlbGVjdGlvbnMlMjIlM0ElNUIlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI2Y2JhZmU0MDg4MTc0YjBkOGYxY2Y5YzgyZmUxMWY5NyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjI5ODQ0YTE0ZjAyNTQ1NWRhODE3NmMyMjkwMzIyY2JhJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNTVhM2ZlOWM4MmY3NDkxZTgwOTA1M2U2MzVmOGUxNjglMjIlN0Q=">It is included with several distributions of Kubernetes, and is used to pull log messages from multiple sources, modify them as needed, and send the records to one or more output destinations. It is amazingly customizable, so you can do just about any processing you want, with a couple of idiosyncracies, one of which I'll describe here.</span></p><h2 style="text-align: left;"><span data-key="6cbafe4088174b0d8f1cf9c82fe11f97" data-slate-fragment="JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMmlubGluZSUyMiUyQyUyMnR5cGUlMjIlM0ElMjJsaW5rJTIyJTJDJTIyaXNWb2lkJTIyJTNBZmFsc2UlMkMlMjJkYXRhJTIyJTNBJTdCJTIycmVmJTIyJTNBJTdCJTIya2luZCUyMiUzQSUyMnVybCUyMiUyQyUyMnVybCUyMiUzQSUyMmh0dHAlM0ElMkYlMkZmbHVlbnRiaXQuaW8lMkYlMjIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkZsdWVudCUyMEJpdCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTJDJTIyc2VsZWN0aW9ucyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmIzMzBiYmFiMjk1NzRmM2NhODVhMDUzN2M0NTQ2MjVkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyM2NiNjMzODdjMjZkNGVhYzkzZjFkNjE2ZTY3YTk1MDQlMjIlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJ0ZXh0JTIyJTJDJTIybGVhdmVzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjBpcyUyMGFuJTIwb3BlbiUyMHNvdXJjZSUyMGFuZCUyMG11bHRpLXBsYXRmb3JtJTIwbG9nJTIwcHJvY2Vzc29yJTIwdG9vbCUyMHdoaWNoJTIwYWltcyUyMHRvJTIwYmUlMjBhJTIwZ2VuZXJpYyUyMFN3aXNzJTIwa25pZmUlMjBmb3IlMjBsb2dzJTIwcHJvY2Vzc2luZyUyMGFuZCUyMGRpc3RyaWJ1dGlvbi4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCUyQyUyMnNlbGVjdGlvbnMlMjIlM0ElNUIlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI2Y2JhZmU0MDg4MTc0YjBkOGYxY2Y5YzgyZmUxMWY5NyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjI5ODQ0YTE0ZjAyNTQ1NWRhODE3NmMyMjkwMzIyY2JhJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNTVhM2ZlOWM4MmY3NDkxZTgwOTA1M2U2MzVmOGUxNjglMjIlN0Q=">The Challenge</span></h2><p>What if you have a log message that you want to handle in two different ways:</p><p>1. Normalize the fields in the log message for storage in ElasticSearch (or Splunk, etc.).</p><p>2. Modify the log message so it has all of the appropriate fields needed for processing by your Netcool environment (fields that you don't necessarily want in your log storage system).</p><h2 style="text-align: left;">The Solution</h2><div>Based on all of the unique restrictions in Fluent Bit, what you need to do is create a new copy of the log message, preserving the original so that the original can go through your "standard" processing, and the new message can be processed according to your needs in Netcool.</div><div><br /></div><div>The specifics of this solution are to use a <b>rewrite_tag</b> FILTER to create a new, distinct copy of the message with a custom <b>tag</b> within the Fluent Bit pipeline, and then configure the appropriate additional FILTERs and OUTPUTs that only Match this new, custom tag. You also need to modify any existing OUTPUTs to exclude this new tag.</div><p>Here's a high-level graphic showing what we're going to do:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg-OlQRSVG_7-cSj9hp0mZ5kqXRZy724kkDpiu-D7llAOGzmY2AGO2GuLb8nA5aSIpQJUgW4iMxeQpkjA5IvN-Ajz0Wf-a0IqoyIk4VHYa6ZY4GA1WD8EggYMAc2OYtZEccGJ6rj1agYpVA1orMyDP571SAwR5L2Bjy_wBKaOeZMQxjCCacOqtLgrLx_g" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="395" data-original-width="1348" src="https://blogger.googleusercontent.com/img/a/AVvXsEg-OlQRSVG_7-cSj9hp0mZ5kqXRZy724kkDpiu-D7llAOGzmY2AGO2GuLb8nA5aSIpQJUgW4iMxeQpkjA5IvN-Ajz0Wf-a0IqoyIk4VHYa6ZY4GA1WD8EggYMAc2OYtZEccGJ6rj1agYpVA1orMyDP571SAwR5L2Bjy_wBKaOeZMQxjCCacOqtLgrLx_g=s16000" /></a></div><br /><br /><p></p><p>Our rewrite_tag FILTER is going to match all tags beginning with "kub". This will exclude our new tag, which will be "INC". So after the rewrite_tag filter, there will be two messages in the pipeline: the original plus our new one with our custom "INC" tag. We can the specify the appropriate Match statements in later FILTERs to only match the appropriate tag. So in the ES output above, the Match_Regex statement is:</p><p>Match_Regex ^(?!INC).*</p><p>The official name of the above is a "lookahead exclude". Go ahead and try it out at <a href="http://regex101.com">regex101.com</a> if you want. It will match any tag that does NOT begin with "INC", which is the custom tag for our new messages that we want to send tou our HTTP Message Bus probe.</p><p>The rewrite_tag FILTER will be custom for your environment, but the following may be close in many cases. For my case, I want to match any message that has a <b>log</b> field containing the string "ERROR writing to". You'll have to analyze your current messages to find the appropriate field and string that you're interested in. But here's my rewrite_tag FILTER stanza:</p><p>[FILTER]<br /> Name rewrite_tag<br /> Match_Regex ^(?!INC).*<br /> Rule<span> $log ^.*Error\swriting\sto.* INC true</span></p><p>The "Rule" statement is the tricky part here. This statement consists of 4 parts, separated by whitespace:</p><p>Rule - the literal string "Rule"<br />$log - the name of the field you want to search to create a new message, preceded by "$". In this case, we want to search the field named <b>log</b>.<br />^.*Error\swriting\sto.* - the regular expression we want to match in the specified field. This regular expression CANNOT CONTAIN SPACES. That's why I'm using "\s".<br />INC - this is the name of the tag to set on the new message. This tag is ONLY used within the Fluent Bit pipeline, so it can literally be anything you want. I chose "INC" because these messages will be sent to the Message Bus proble to eventually create incidents in ServiceNow.<br />true - this specifies that we want the KEEP the original message. This allows it to continue to be processed as needed.</p><p>After you have the rewrite_tag FILTER in place, you will have at least one additional FILTER of type "modify" in your pipeline to allow you to add fields, rename fields, etc. You'll then have an OUTPUT stanza of type "http" to specify the location of the Message Bus probe. Something like the following:</p><p>[OUTPUT]<br /> Name http<br /> port 80<br /> Match INC<br /> host probehost<br /> uri /probe/webhook/fluentbit<br /> format json<br /> json_date_format epoch</p><p>The above specifies that the URL that these messages will be sent to is </p><p>http://probehost:80/probe/webhook/fluentbit</p><p>In the json that's sent in the body of the POST request, there will be a field named <b>date</b> , and it will be in Unix "epoch" format, which is an integer representing the number of seconds since the beginning of the current epoch (a "normal" Unix/Linux timestamp).</p><p>That's it. That's all of the basic configuration needed on the Fluent Bit side.</p><h2 style="text-align: left;">Extra Credit/TLS Config</h2><div>If your Message Bus probe is using TLS, you just need to add the following two lines to the above OUTPUT stanza:</div><div><br /></div><div> tls On</div><div> tls.verify Off</div><div><br /></div><div>The first line enables TLS encryption, and the second line is a shortcut that allows the connection to succeed without having to add the appropriate certificates to Fluent Bit - it will accept any certificate presented to it by the Message Bus probe, even a self-signed certificate.</div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-1772309067503910922022-11-30T16:55:00.002-05:002022-11-30T16:55:17.815-05:00How to download a specific version of the OpenShift installer and client<p>Go here: <a href="https://mirror.openshift.com/pub/openshift-v4/clients/ocp" target="_blank">https://mirror.openshift.com/pub/openshift-v4/clients/ocp</a> . Select the version you want and you're good to go!</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-39216425219827394252022-08-24T15:16:00.003-04:002022-08-24T15:16:28.154-04:00An Example of a Useful Notification Email<p>You should have monitors in place to detect problems in your enterprise. These can be individual monitors defined for an agent, or queries/thresholds defined for data collected by an observability platform. Either way, at some point, you need to notify someone about what went wrong.</p><p>The following is an email notification we set up for a customer:</p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLR0kyoZFEBw1K3G_VnODVFxs4H-82DRJ0GFcjJQBG4HcoKc9qmtUX9qUQBPi0Qr6AcBUos8Wn5t9k4Z62dD-hKfCIf8kTpwxmMu5eONEj0TqjwNV7yCoVeRcp_PSMSb6PSLtaNDsNt3tD_zv8srkQ_yt-LDYG3_0c0-Yc1w20_m3969fCbriTQm3-vw" style="margin-left: 1em; margin-right: 1em;"></a><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLR0kyoZFEBw1K3G_VnODVFxs4H-82DRJ0GFcjJQBG4HcoKc9qmtUX9qUQBPi0Qr6AcBUos8Wn5t9k4Z62dD-hKfCIf8kTpwxmMu5eONEj0TqjwNV7yCoVeRcp_PSMSb6PSLtaNDsNt3tD_zv8srkQ_yt-LDYG3_0c0-Yc1w20_m3969fCbriTQm3-vw" style="margin-left: 1em; margin-right: 1em;"></a><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhF4ZfuMDJQIWKL4FfTpS16RTB3OHn1rxIAX_3a8H1UP9lICMj_86LRdesQk1NtNV07FmIaCOUb8aSeiVj4hDxRfpJpmGRx98zy7HRXraH9EpPiT_Zk81d1yAEzP1aSDom00fklqJAApHofjHaDsJaICDH50xLe6BbRmG1JZTVV5mIZqzLS6V-EaYx5Cw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="388" data-original-width="661" src="https://blogger.googleusercontent.com/img/a/AVvXsEhF4ZfuMDJQIWKL4FfTpS16RTB3OHn1rxIAX_3a8H1UP9lICMj_86LRdesQk1NtNV07FmIaCOUb8aSeiVj4hDxRfpJpmGRx98zy7HRXraH9EpPiT_Zk81d1yAEzP1aSDom00fklqJAApHofjHaDsJaICDH50xLe6BbRmG1JZTVV5mIZqzLS6V-EaYx5Cw=s16000" /></a></div><br /></div><br /><br /></div>The important things to note are:<p></p><p></p><ol style="text-align: left;"><li>What failed? The "Tivoli CTH Health Check" failed in PROD.</li><li>What needs to be done? Run all of the checks that are listed at the end of the email.</li></ol><div>While this amount of actionable information is just normal to some number of people, many organizations simply don't have this kind of information-rich notification configured. The part I like the best is the "run book", basically the "What needs to be done" part. This could have a lot more detail, but it is sufficient for the known target audience of this email. The additional details (like in a run book) would be the exact steps needed to perform the checks, along with maybe a video showing what it should normally look like.</div><p></p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-19585169955017663432022-05-06T09:23:00.005-04:002022-05-06T09:23:23.275-04:00The Cylance Smart Antivirus agent will ruin your day<p>I am currently helping a customer move their ITM 6 infrastructure from AIX to Red Hat 8, and the largest hurdle has been the Cylance agent. When doing any kind of enterprise install, my first step is to copy the install files to all of the servers (in this case it is 16 servers: 2 HUB TEMS, 12 RTEMS, 2 TEPS). In its default configuration, the Cylance agent will remove files that it determines are suspicious. In my case, that means that it deleted one or two tar files, and would re-delete them whenever I copied them over again. The cylance log under /opt/cylance/desktop/log showed exactly what it was doing, so we were able to work with the Cylance team to correct this.</p><p>After the delete issue was resolved, we found that the Cylance agent was stopping some executables from running, with just a "Segmentation fault" error, and the error still existed after stopping the Cylance agent. This is because even though the agent wasn't running, it has hooks into kernel system calls that leverage a local cache. That took a while to resolve, but we finally got all of the appropriate directories whitelisted.</p><p>The last problem encountered was with the Cylance agent's Memory Protection feature. In this case, it caused 'tacmd tepslogin' to fail with a bunch of text to the command line and no information in the normal ITM logs. Looking in the Cylance log file again, I could see that it was blocking some memory action performed by the ITM java executable. That now seems to be resolved.</p><p>Hopefully this short post can help others identify these types of issues before throwing their server out the window.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-72478394949031118762022-01-25T10:10:00.005-05:002022-01-25T10:10:48.416-05:00Configuring certificates for the Netcool email probe when using Office365<h2 style="text-align: left;"> Background</h2><div>If your company uses Office365 for email, and you need to use the Netcool Email Probe, you will have to configure a KeyStore database to store the valid/trusted certificates presented by Office365. What I found at one customer was that after we imported one certificate into the KeyStore, we still frequently received <b>Certificate chaining </b>errors, which eventually would cause the probe to stop working. The problems I saw were caused by what looks like a configuration difference on the load-balanced Office365 servers, where multiple different certificates (and certificate chains) were being presented to the Email Probe.</div><h2 style="text-align: left;">Solution</h2><div>After several attempts at resolving the problem, I took the nuclear approach to download every possible certificate from Office365 and import them all into the KeyStore database. I'm certain it's overkill, but I scripted the solution below, and it doesn't affect the performance of the probe. Here's the script, with comments:
</div><div><br /></div><div><p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">cd</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> /tmp<o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">for</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">in</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> file{1..100}</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">do</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">openssl s_client
-showcerts -verify 5 -connect outlook.office365.com:995 </span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> /dev/null </span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">></span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">$i</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># each file contains at
least two certificates. Each certificate needs to be in its own file</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># to import it into the
keystore. That's what the following command does. It will create</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># files named file*-00,
file*-01, file*-02 if there are two certificates returned by the above</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># command.</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">csplit -f </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">$i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">- </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">$i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">'</span><span style="color: #a5ff90; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">/-----BEGIN
CERTIFICATE-----/</span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">'</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">'</span><span style="color: #a5ff90; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">{*}</span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">'</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># file*-00 doeesn't
contain anything useful (certs are in *-01 and *-02), so we will delete it</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">rm file</span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">*</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">-00</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">done</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><i><span style="color: #0088ff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"># now import all of the
above certs into the keystore.</span></i><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">for</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> </span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">in</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> file</span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">*</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">-</span><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">*</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">do</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">keytool -keystore </span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">"</span><span style="color: #a5ff90; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">/opt/IBM/tivoli/netcool/core/certs/key_netcool.jks</span><span style="color: #92fc79; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">"</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> -import \</span></p><p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">-trustcacerts
-alias </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">$i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> -file </span><span style="color: #e1efff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">$i</span><span style="color: #9effff; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"> -noprompt -storepass
THE_KEYSTORE_PASS</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: rgb(25, 53, 73); line-height: normal; margin-bottom: 0in; margin-top: 0in;"><span style="color: #ff9d00; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";">done</span><span style="color: white; font-family: Consolas; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p></div><div><br /></div><div><br /></div><div><br /></div><div><div style="color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><br /></div></div></div>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-28129605335906154692022-01-07T10:54:00.000-05:002022-01-07T10:54:06.054-05:0010 Things to Avoid Doing in MS Excel and Their Alternatives<p> Microsoft Excel is an amazingly powerful tool that has more capabilities than most people can imagine. Today I ran across this video that covers 10 different things to avoid doing in Excel to help make working with your data easier.</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/Edms-B4ViHo" width="320" youtube-src-id="Edms-B4ViHo"></iframe></div><br /><p><br /></p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0tag:blogger.com,1999:blog-8905997490259569264.post-72024491057622553132021-12-28T10:28:00.004-05:002021-12-28T10:28:41.568-05:00The best video I've ever seen for learning Regular Expressions<p>I've worked with regular expressions for a long time now, and I'm always working on getting better at them. I ran across this 20-minute YouTube video and was really blown away by how quickly it explains everything you need to know about regular expressions. I highly recommend it.</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/rhzKDrUiJVk" width="320" youtube-src-id="rhzKDrUiJVk"></iframe></div><br /><p>Many of his other videos are also worth your time.</p><p><b>One huge caveat aimed at those in the world of Enterprise Software:</b></p><p>Not all products support all features of the regular expressions described in the video, and there are often nuances to the exact functions that are supported. For example, the following features described in the video aren't supported by various versions of *some* components of Netcool and ServiceNow, depending on which regex engine they use:</p><p>- look-ahead and look-behind operations<br />- named groups</p><p>Because of cases like this, I always recommend that you try to accomplish your goal using the simplest regular expression features as possible, and always test your regular expressions. <a href="http://Regexr.com">Regexr.com</a> is the site used in the video, and it is very powerful, but it appears to support the latest and greatest JavaScript regular expressions, with no way to change that. <a href="http://Regex101.com">Regex101.com</a> is the site I normally use, and it allows you to select one of several "flavors" of regular expressions.</p>Frank Tatehttp://www.blogger.com/profile/08607157988331047598noreply@blogger.com0