Monday, 9 October 2017

Tail on Unix - Why did I not know about this ?

Years ago, I wrote this: -


which referenced back to a podcast upon which I appeared in 2010 ….

This was all about using a 3rd party binary to allow me to view multiple log files in a single window ...

And yet, last week, I noticed a client using the stock version of tail to achieve precisely the same outcome.

So, whereas I was reduced to doing this ( without Multitail ): -

tail -f /opt/ibm/WebSphereProfiles/AppSrv01/logs/AppClusterMember1/SystemOut.log
tail -f /opt/ibm/WebSphereProfiles/AppSrv01/logs/SupClusterMember1/SystemOut.log
tail -f /opt/ibm/WebSphereProfiles/AppSrv01/logs/MEClusterMember1/SystemOut.log


I realised that I can do this: -

tail -f /opt/ibm/WebSphereProfiles/AppSrv01/logs/AppClusterMember1/SystemOut.log /opt/ibm/WebSphereProfiles/AppSrv01/logs/SupClusterMember1/SystemOut.log /opt/ibm/WebSphereProfiles/AppSrv01/logs/MEClusterMember1/SystemOut.log

and see this: -

==> /opt/ibm/WebSphereProfiles/AppSrv01/logs/AppClusterMember1/SystemOut.log <==
[09/10/17 13:48:11:718 BST] 00000171 AbstractReque W com.ibm.wps.resolver.resource.AbstractRequestDispatcherFactory matchesWebAppDefault(aResource) Servlet context [/BSpaceWidgetsHM] does not specify a blackwhite list when accessing resource [iWidget/widgets/hm/HM_iwidget.xml], falling back to the default [[(null), (WEB-INF/.*)]]. Applications can define a custom list by adding the keys [com.ibm.portal.resource.whitelist] and [com.ibm.portal.resource.blacklist] to their web.xml deployment descriptor. For details see information for APAR PI47714 related to CVE-2014-8912.
[09/10/17 13:48:12:677 BST] 00000171               I com.ibm.mm.framework.persistence.OOBSpaceCreator importOOBSpaces BMWFP0059I: The standard spaces have finished loading. 
[09/10/17 13:48:24:798 BST] 0000013d TaskLoader    I   CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_2.
[09/10/17 13:48:24:799 BST] 0000013d TaskLoader    I   CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_2.
[09/10/17 13:48:40:694 BST] 0000013d TaskLoader    I   CWLLG0597I: Trying to acquire synchronous queue SYNC_QUEUE_3.
[09/10/17 13:48:40:695 BST] 0000013d TaskLoader    I   CWLLG0581I: Acquired synchronous queue SYNC_QUEUE_3.
[09/10/17 13:49:37:852 BST] 00000104 ArtifactIndex I com.ibm.bpm.index.core.impl.AdvancedIndexer updateIndex Log:There is no index to update. Starting a full index.
[09/10/17 13:49:37:853 BST] 00000104 ArtifactIndex I com.ibm.bpm.index.core.impl.AdvancedIndexer createIndex Entry: createIndex()
[09/10/17 13:49:44:804 BST] 00000104 ArtifactIndex I com.ibm.bpm.index.core.impl.AdvancedIndexer createIndex Log:Indexing elapsed time:6950
[09/10/17 13:49:44:805 BST] 00000104 ArtifactIndex I com.ibm.bpm.index.core.impl.AdvancedIndexer createIndex Exit: createIndex()

==> /opt/ibm/WebSphereProfiles/AppSrv01/logs/SupClusterMember1/SystemOut.log <==
[09/10/17 13:46:44:121 BST] 000000b0 authz         I   CWWIM2000I Initialization of the authorization component completed successfully.
[09/10/17 13:46:44:453 BST] 000000b0 InternalGener I   DSRA8225I: DataSource JNDI name : jdbc/TeamWorksDB
[09/10/17 13:46:44:455 BST] 000000b0 InternalGener I   DSRA8203I: Database product name : DB2/LINUXX8664
[09/10/17 13:46:44:456 BST] 000000b0 InternalGener I   DSRA8204I: Database product version : SQL11012
[09/10/17 13:46:44:457 BST] 000000b0 InternalGener I   DSRA8205I: JDBC driver name  : IBM Data Server Driver for JDBC and SQLJ
[09/10/17 13:46:44:458 BST] 000000b0 InternalGener I   DSRA8206I: JDBC driver version  : 4.21.29
[09/10/17 13:46:44:459 BST] 000000b0 InternalGener I   DSRA8218I: JDBC driver specification level  : 4.1
[09/10/17 13:46:44:459 BST] 000000b0 InternalDB2Un I   DSRA8212I: DataStoreHelper name is: com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper@59060d67.
[09/10/17 13:46:44:460 BST] 000000b0 WSRdbDataSour I   DSRA8208I: JDBC driver type  : 4
[09/10/17 13:47:54:712 BST] 0000005a NGUtil$Server I   ASND0002I: Detected server AppClusterMember1 started on node Node1

==> /opt/ibm/WebSphereProfiles/AppSrv01/logs/MEClusterMember1/SystemOut.log <==
[09/10/17 13:45:49:893 BST] 00000041 CoordinatorIm I   HMGR0228I: The Coordinator is not an Active Coordinator for core group DefaultCoreGroup. The active coordinator set is [PCCell1\Dmgr\dmgr].
[09/10/17 13:45:49:895 BST] 00000041 CoordinatorIm I   HMGR0218I: A new core group view has been installed. The core group is DefaultCoreGroup. The view identifier is (5:0.PCCell1\Dmgr\dmgr). The number of members in the new view is 5.
[09/10/17 13:45:49:897 BST] 00000041 CoreGroupMemb I   DCSV8050I: DCS Stack DefaultCoreGroup at Member PCCell1\Node1\MEClusterMember1: New view installed, identifier (5:0.PCCell1\Dmgr\dmgr), view size is 5 (AV=5, CD=5, CN=5, DF=5)
[09/10/17 13:45:50:003 BST] 00000050 ViewReceiver  I   DCSV1033I: DCS Stack DefaultCoreGroup at Member PCCell1\Node1\MEClusterMember1: Confirmed all new view members in view identifier (5:0.PCCell1\Dmgr\dmgr). View channel type is View|Ptp.
[09/10/17 13:46:13:635 BST] 00000059 NGUtil$Server I   ASND0002I: Detected server SupClusterMember1 started on node Node1
[09/10/17 13:46:16:666 BST] 000000c2 SibMessage    W   [:] CWSIP0181W: The maximum batch size for the consumer on destination DataDefLoaderQueueDestinationSupCluster, has been set to 1.
[09/10/17 13:46:16:667 BST] 000000c2 SibTr$Suppres I   CWSIU0006I: Future occurences of "CWSIP0181W: The maximum batch size for the consumer on destination DataDefLoaderQueueDestinationSupCluster, has been set to 1." will be suppressed.
[09/10/17 13:46:16:938 BST] 000000c2 SibMessage    W   [:] CWSIP0181W: The maximum batch size for the consumer on destination RepresentationManagerQueueDestinationSupCluster, has been set to 1.
[09/10/17 13:46:16:939 BST] 000000c2 SibTr$Suppres I   CWSIU0006I: Future occurences of "CWSIP0181W: The maximum batch size for the consumer on destination RepresentationManagerQueueDestinationSupCluster, has been set to 1." will be suppressed.
[09/10/17 13:47:54:697 BST] 00000059 NGUtil$Server I   ASND0002I: Detected server AppClusterMember1 started on node Node1


Why didn't I know this ?

Ah, well, every day IS a school day

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...