Runtime Monitoring & Issue Tracking



Similar documents
Runtime Monitoring, Performance Analysis

How to Enable Quartz Job Execution Log Interception In Applications. J u n e 26,

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS

syslog - centralized logging

Syslog & xinetd. Stephen Pilon

Determine the process of extracting monitoring information in Sun ONE Application Server

Documentum Developer Program

Overview. NetBorder Express Loggers Configuration Guide

... Apache Log4j 2 v. 2.5 User's Guide.... The Apache Software Foundation

Logging in Java Applications

Security Correlation Server Quick Installation Guide

VMware vcenter Log Insight Security Guide

HP OO 10.X - SiteScope Monitoring Templates

Contents. Apache Log4j. What is logging. Disadvantages 15/01/2013. What are the advantages of logging? Enterprise Systems Log4j and Maven

SysPatrol - Server Security Monitor

NAS 272 Using Your NAS as a Syslog Server

Crawl Proxy Installation and Configuration Guide

Syslog Monitoring Feature Pack

Chapter 8 Monitoring and Logging

SOSFTP Managed File Transfer

Content. Development Tools 2(63)

Deployment and Monitoring. Pascal Robert MacTI

Configuring Log Files and Filtering Log Messages for Oracle WebLogic Server c (12.1.3)

VMware vcenter Log Insight Security Guide

Red Condor Syslog Server Configurations

EventSentry Overview. Part I About This Guide 1. Part II Overview 2. Part III Installation & Deployment 4. Part IV Monitoring Architecture 13

DiskPulse DISK CHANGE MONITOR

System requirements. Java SE Runtime Environment(JRE) 7 (32bit) Java SE Runtime Environment(JRE) 6 (64bit) Java SE Runtime Environment(JRE) 7 (64bit)

Lab 5.5 Configuring Logging

The Java Logging API and Lumberjack

Security Correlation Server Quick Installation Guide

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

PicketLink Federation User Guide 1.0.0

NetIQ Identity Manager Setup Guide

Reliable log data transfer

The Monitis Monitoring Agent ver. 1.2

OnCommand Performance Manager 1.1

WHITE PAPER. Domo Advanced Architecture

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

1. INTERFACE ENHANCEMENTS 2. REPORTING ENHANCEMENTS

Instrumentation Software Profiling

Effective logging practices ease enterprise

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT

CSE/ISE 311: Systems Administra5on Logging

CSE 265: System and Network Administration

ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM

DiskBoss. File & Disk Manager. Version 2.0. Dec Flexense Ltd. info@flexense.com. File Integrity Monitor

Universal Event Monitor for SOA Reference Guide

Enterprise Manager. Version 6.2. Installation Guide

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

IBM Software Services for Lotus Consulting Education Accelerated Value Program. Log Files IBM Corporation

FileMaker Server 11. FileMaker Server Help

Study of Development of Java Applications in Eclipse Environment and Development of Java Based Calendar Application with Notifications

Introduction. AppDynamics for Databases Version Page 1

Performance Monitoring API for Java Enterprise Applications

JBS-102: Jboss Application Server Administration. Course Length: 4 days

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

Tivoli Log File Agent Version Fix Pack 2. User's Guide SC

Java Debugging Ľuboš Koščo

Online Fuzzy-C-Means clustering

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

Logging. Working with the POCO logging framework.

System Log Setup (RTA1025W Rev2)

Information Systems Application Administration Manual Request Tracker

Simba XMLA Provider for Oracle OLAP 2.0. Linux Administration Guide. Simba Technologies Inc. April 23, 2013

Project Management (PM) Cell

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS

Cisco Setting Up PIX Syslog

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.0

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

Cross-platform event logging in Object Pascal

Configuration Manual

Lab Configure Syslog on AP

SDK Code Examples Version 2.4.2

Enhanced Diagnostics Improve Performance, Configurability, and Usability

Install guide for Websphere 7.0

Business Application Services Testing

Configuring and Integrating JMX

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Exam Name: IBM InfoSphere MDM Server v9.0

UNICORE UFTPD server UNICORE UFTPD SERVER. UNICORE Team

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

What s Cool in the SAP JVM (CON3243)

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

CatDV Pro Workgroup Serve r

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy

IBM WebSphere Server Administration

System Administration

Log Management with Open-Source Tools. Risto Vaarandi SEB Estonia

Presented by Henry Ng

WEBLOGIC SERVER MANAGEMENT PACK ENTERPRISE EDITION

SolarWinds Log & Event Manager

Application Performance Monitoring for WhatsUp Gold v16.1 User Guide

Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.

Transcription:

Runtime Monitoring & Issue Tracking http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Runtime monitoring Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 2

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 3 Runtime monitoring Goals Recording information about program behavior Notification about specific important events Information: performance, security, exceptions Target domain: long-running programs Application servers (JBoss, Tomcat, WebSphere,...) Network servers and daemons (Apache, Sendmail) Alternative name: tracing

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 4 Basic approaches Manual implementation of logging commands Using tools for automated runtime monitoring

Tools Unix-like platforms Syslog, strace, ltrace, DTrace Java ecosystem Log4j 2, Java Logging API, JConsole, JVM TI Windows/.NET log4net, NLog, Process Explorer Events: custom messages, system calls, library calls Output: text log files (off-line inspection), GUI Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 5

Log4j Popular logging framework for Java platform http://logging.apache.org/log4j/2.x/ Features Hierarchy of loggers based on class names Filtering messages based on logging levels Dynamically updateable configuration (XML) Multiple output destinations (console, file) Formatting log messages (printf-style, HTML) Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 6

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 7 Log4j API: example import org.apache.logging.log4j.logmanager; import org.apache.logging.log4j.logger; // get a Logger object with a particular name Logger logger = LogManager.getLogger( cz.cuni.mff ); logger.warn( Running out of disk space );... logger.error( File {} not found, f.getname());... logger.info( Something normal happened );

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 8 Using Log4j Levels TRACE < DEBUG < INFO < WARN < ERROR < FATAL Logger objects Identified by logical names (e.g., Java class names) They make a hierarchy based on the name prefixes Logger named cz.cuni is a parent for the Logger cz.cuni.mff Inheriting configuration (levels, appenders, formatting pattern) Configuration: XML, programmatic Default file name log4j2.xml (must be on classpath)

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 9 Configuration: example <?xml version="1.0" encoding="utf-8"?> <Configuration> <Appenders> <Console name="konzole" target="system_out"> <PatternLayout pattern="%d{hh:mm:ss} %-5level %c{36} - %m%n"/> </Console> <File name="logfile" filename="test.log"> <PatternLayout pattern="%d{hh:mm:ss} %-5level %c{36} - %m%n"/> </File> </Appenders> <Loggers> <Logger name="cz.cuni.mff" level="info"> <AppenderRef ref="konzole"/> </Logger> <Root level="error"> <AppenderRef ref="logfile"/> </Root> </Loggers> </Configuration>

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 10 Appenders Responsible for writing log messages to actual target destinations Supported targets Console (stdout, stderr) File (buffered, appending) Database (via JDBC) SMTP (sending emails) Network socket (TCP, UDP) Unix/Linux syslog service

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 11 Layout Purpose: formatting messages Available layouts Pattern %m // message text %n // line separator %-5level // level, justified to the right, width five chars %d{hh:mm:ss} // current datetime with pattern %c{20} // logger name with the maximal length %C %M %L // class name, method name, line number %t // thread name HTML, XML, Syslog

Tracing control flow public Object dosomething(int arg1) { logger.entry(arg1); try {... Object res =... } catch (Exception ex) { logger.catching(ex) } logger.exit(res); } Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 12

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 13 Task 1 Download Log4j from the web (JAR files) http://logging.apache.org/log4j/2.x/ Write simple program in Java You can also take some existing program (anywhere) Try important features of Log4j Use several Loggers Different log levels Configuration (XML) Tracing control flow Check the output (console, log files)

Log4j: other features Filtering messages markers, regular expression, time Automatic reconfiguration if you update the XML configuration file at runtime Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 14

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 15 Syslog Standard logging framework for Unix-like systems Service Collecting messages from different sources (applications) Writing received messages to various output destinations log files (/var/log), another computer over network Configuration: /etc/syslog.conf, /etc/rsyslog.conf Log rotation: /var/log/messages, /var/log/messages.1,... Protocol Format of data exchanged between applications and the service Message: content (plaintext, < 1024 bytes), priority Supported priorities (low to high) debug, info, notice, warning, error, critical, alert, emergency Definition: RFC 3164, 3195

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 16 Configuration: example Sendmail Apache MySQL Syslogd /var/log/mail.log /var/log/mysql.log /var/log/httpd/httpd.log

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 17 Syslog API: example #include <syslog.h> openlog( myprog, LOG_CONS LOG_PID, LOG_USER); syslog(log_notice, Program runs for %d hours, 2); syslog(log_error, File %s does not exist, fname); closelog();

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 18 strace Tool for monitoring interactions with the operating system kernel System calls performed by the given program Signals received by the given program from OS Available for Unix-like platforms Usage: strace <program> Attaching to a running process: strace -p <pid> Output: list of system calls and signals open( /etc/passwd, O_RDONLY) = 3 open( /etc/passwords, O_RDONLY) = -1 ENOENT (No such file)

Task 2 Try using strace (syscalls) ltrace (libraries) Check output Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 19

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 20 JConsole Available in Oracle JDK Key features Provides useful information CPU usage, memory consumption, threads Nice graphical interface Connection to remote JVM How to run it: jconsole Live demo http://d3s.mff.cuni.cz/teaching/software_development_to ols/files/jpf-elevator.tgz

Windows Sysinternals Process Explorer Displays information about running processes Process Monitor http://technet.microsoft.com/enus/sysinternals/bb896653.aspx http://technet.microsoft.com/enus/sysinternals/bb896645 Displays some live (real-time) process activity Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 21

Issue tracking Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 22

Issue tracking systems Typically part of a project management system Example: http://sourceforge.net/ Popular systems Bugzilla, Trac Components Some database of known bugs User interface (WWW, desktop) Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 23

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 24 Bug characteristics Time of reporting Product (module) Version of the product Severity of the bug blocker, critical, major, normal, minor, enhancement Platform (OS, HW, SW) Textual comments Current status new, unconfirmed, assigned, fixed, wontfix, resolved Assigned to Who should fix the bug

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 25 Lifecycle of a bug Figure taken from http://www.bugzilla.org/docs

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 26 Bugzilla Web-based tool http://www.bugzilla.org SW requirements Database (MySQL, PostgreSQL) Perl 5 with specific modules Web server (e.g., Apache httpd) Features Advanced queries Boolean operators (and, or, not) Saved search Cloning of bugs

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 27 Task 3 Try out Bugzilla Entering new bug reports Search for existing bugs Changing status of a bug Example: https://bugzilla.mozilla.org Test installation http://landfill.bugzilla.org/ You can play with that freely (reporting new bugs, etc) Requires personal account (email address, password)

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 28 Trac Project management system http://trac.edgewall.org/ Features Tracking issues (bugs, feature requests) Good integration with version control Supported tools: Subversion, Mercurial, Git Links from bug reports to source code files Source code browser (version control) Wiki pages (e.g., for documentation)

Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 29 Other links Syslog http://www.gnu.org/software/libc/manual/html_node/syslog.html log4net http://logging.apache.org/log4net/index.html DTrace http://dtrace.org/blogs/about/ JConsole http://docs.oracle.com/javase/7/docs/technotes/guid es/management/jconsole.html

Homework Assignment http://d3s.mff.cuni.cz/~parizek/teaching/sdt/ Deadline 3.12.2014 / 8.12.2014 Nástroje pro vývoj software Runtime Monitoring & Issue Tracking 30