Welcome!

Industrial IoT Authors: Pat Romanski, Derek Weeks, AppDynamics Blog, Elizabeth White, Liz McMillan

Blog Feed Post

Log-alize Java: Monitoring Java Application Logs

It has been talked about many, many times, so now it is naturally widely-known that any application, especially one that’s in production, must be monitored. When monitoring, it is important not only to evaluate the current status of the application, but, even more importantly, to predict future potential error situations. It is already standard practice that application programs write log files. These usually contain various information from many different points in the application. Therefore it is very important to process the log files in a way that provides an understanding of what’s going on when things go awry. Unfortunately, as might be expected, the files are usually far from ideally-designed and often contain too many details and too much noise.  As a result, it is actually very difficult to glean much useful information from them. Faced with such a situation, you may often prefer just to select pieces of important information from your logs and see these in real time. In this article, the simple but effective solution for selective monitoring of your Java application logs, in real time, is presented.
You may ask – why Java? The answer is simple – because Java has a powerful log engine, called Log4J. Besides that, the Log4J engine has been ported to other popular programming languages (log4php, log4net, log4cxx, log4js, etc.), so perhaps this same approach can be used with those as well.
Log4j provides many extensions and one of these provides for creating custom appenders. Log4J also has a filtering facility that can be used in custom appenders. Thus, the idea is to create a custom appender with filtering which will selectively get information from your log file and send that information to Monitis. There, it can be shown in tabular and graphical form in order to notify the user if something is starting to go wrong.

We have created the generic custom appender with filtering which receives information from Log4J, filters it according to a user pattern (RegExp) and then sends it to Monitis using the Monitis Open API. The custom appender is wrapped in a Jar file and therefore you shouldn’t make any changes in your application. You can use it as is, without any problem.
All that needs to be done is the following:

  • include the log_mon.jar (generic custom appender) in your list of application libraries
  • Using the settings shown below as an example, modify your Log4J configuration file to specify the settings for the Monitis Appender


<appender name="monitisAppender">

       <param name="monitisApiKey" value="2PE0HVI4DHP34JACKCAE37IOD4" />

 

       <param name="monitisSecretKey" value="7OI90FU3C3DA8ENLNJ0JGGOGO0" />

 

       <param name="monitisMonitorName" value="Log_files_monitor" />

 

       <param name="monitisMonitorTag" value="Custom_logger_monitor" />

 

       <param name="monitisSendInterval" value="60000" />

 

       <layout>

 

           <param name="ConversionPattern" value="%d{ISO8601} %-5p [%t]: %m%n" />

 

       </layout>

 

       <filter>

 

           <param name="filterPattern" value="(Error|Fatal|Warn*|Attention)" />

 

           <param name="minAllowedLevel" value="WARN" />

 

       </filter>

 

</appender>

where:

  • monitisApiKey is user personal API key that can be obtained from Monitis user account
  • monitisSecretKey is user personal secret key that can be obtained from Monitis user account
  • monitisMonitorName is user monitor name (any unique name can be chosen)
  • monitisMonitorTag is tag value for user monitors
  • monitisSendInterval is time interval [ms] between sending monitored info to Monitis
  • ConversationPattern is the pattern that will be used by MonitisAppender to format records
  • filterPattern is a pattern-string for selection of log records that you want to monitor

This should be composed as a Java RegEx and correspond to Java Pattern.matches requirements.

(default is no pattern – so all records will be sent to Log Monitor)


  • minAllowedLevel is the log4j records level (ERROR, WARN, DEBUG, etc.) that you want to monitor (default value is WARN)


Notes:

  • the Log4J configuration should be prepared in XML format because Log4J filter supports XML only
  • this approach doesn’t affect your application  performance because Log4J appenders work in separate threads asynchronously
  • it can take more memory to run your application because an additional custom appender works in the same JVM bounds
  • in comparison to other approaches this approach seems much simpler and doesn’t require additional tools. It’s very close to The Cure for Monitoring Java Logs technique, and simplifies it


The sources and more details can be found in the GitHub.

Share Now:del.icio.usDiggFacebookLinkedInBlinkListDZoneGoogle BookmarksRedditStumbleUponTwitterRSS

Read the original blog entry...

More Stories By Hovhannes Avoyan

Hovhannes Avoyan is the CEO of PicsArt, Inc.,

@ThingsExpo Stories
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, wh...
Video experiences should be unique and exciting! But that doesn’t mean you need to patch all the pieces yourself. Users demand rich and engaging experiences and new ways to connect with you. But creating robust video applications at scale can be complicated, time-consuming and expensive. In his session at @ThingsExpo, Zohar Babin, Vice President of Platform, Ecosystem and Community at Kaltura, will discuss how VPaaS enables you to move fast, creating scalable video experiences that reach your...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life sett...
Cloud computing is being adopted in one form or another by 94% of enterprises today. Tens of billions of new devices are being connected to The Internet of Things. And Big Data is driving this bus. An exponential increase is expected in the amount of information being processed, managed, analyzed, and acted upon by enterprise IT. This amazing is not part of some distant future - it is happening today. One report shows a 650% increase in enterprise data by 2020. Other estimates are even higher....
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
19th Cloud Expo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterpri...
Businesses are struggling to manage the information flow and interactions between all of these new devices and things jumping on their network, and the apps and IT systems they control. The data businesses gather is only helpful if they can do something with it. In his session at @ThingsExpo, Chris Witeck, Principal Technology Strategist at Citrix, will discuss how different the impact of IoT will be for large businesses, expanding how IoT will allow large organizations to make their legacy ap...
In his general session at 18th Cloud Expo, Lee Atchison, Principal Cloud Architect and Advocate at New Relic, discussed cloud as a ‘better data center’ and how it adds new capacity (faster) and improves application availability (redundancy). The cloud is a ‘Dynamic Tool for Dynamic Apps’ and resource allocation is an integral part of your application architecture, so use only the resources you need and allocate /de-allocate resources on the fly.
SYS-CON Events announced today the Enterprise IoT Bootcamp, being held November 1-2, 2016, in conjunction with 19th Cloud Expo | @ThingsExpo at the Santa Clara Convention Center in Santa Clara, CA. Combined with real-world scenarios and use cases, the Enterprise IoT Bootcamp is not just based on presentations but with hands-on demos and detailed walkthroughs. We will introduce you to a variety of real world use cases prototyped using Arduino, Raspberry Pi, BeagleBone, Spark, and Intel Edison. Y...
The vision of a connected smart home is becoming reality with the application of integrated wireless technologies in devices and appliances. The use of standardized and TCP/IP networked wireless technologies in line-powered and battery operated sensors and controls has led to the adoption of radios in the 2.4GHz band, including Wi-Fi, BT/BLE and 802.15.4 applied ZigBee and Thread. This is driving the need for robust wireless coexistence for multiple radios to ensure throughput performance and th...
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 19th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devices - comp...
The many IoT deployments around the world are busy integrating smart devices and sensors into their enterprise IT infrastructures. Yet all of this technology – and there are an amazing number of choices – is of no use without the software to gather, communicate, and analyze the new data flows. Without software, there is no IT. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the protocols that communicate data and the emerging data analy...
According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
“We're a global managed hosting provider. Our core customer set is a U.S.-based customer that is looking to go global,” explained Adam Rogers, Managing Director at ANEXIA, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, will deep dive into best practices that will ensure a successful smart city journey.
Why do your mobile transformations need to happen today? Mobile is the strategy that enterprise transformation centers on to drive customer engagement. In his general session at @ThingsExpo, Roger Woods, Director, Mobile Product & Strategy – Adobe Marketing Cloud, covered key IoT and mobile trends that are forcing mobile transformation, key components of a solid mobile strategy and explored how brands are effectively driving mobile change throughout the enterprise.
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lea...
DevOps at Cloud Expo, taking place Nov 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 19th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long dev...
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, will compare the Jevons Paradox to modern-day enterprise IT, e...
What happens when the different parts of a vehicle become smarter than the vehicle itself? As we move toward the era of smart everything, hundreds of entities in a vehicle that communicate with each other, the vehicle and external systems create a need for identity orchestration so that all entities work as a conglomerate. Much like an orchestra without a conductor, without the ability to secure, control, and connect the link between a vehicle’s head unit, devices, and systems and to manage the ...