Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu.

Similar documents
Introduction. Process Mining post-execution analysis Process Simulation what-if analysis

Enn Õunapuu

Enn Õunapuu

Activating AspxCodeGen 4.0

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 2 Lahenduste inegratsioon. Enn Õunapuu

IDU0080 Veebiteenused ja Interneti-lahenduste arhitektuur Loeng 3 Integratsioon. Enn Õunapuu

Instructions for writing Web Services using Microsoft.NET:

10/9/2012. Sample C# program:

How to create a simple ASP.NET page to create/search data on baan using baan logic from the BOBS client sample.

MSDE Upgrade platvormile SQL 2005 Server Express SP4

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

EESTI STANDARD EVS-ISO/IEC 12207:2009

MOC 6461A C#: Visual Studio 2008: Windows Communication Foundation

Contents. Enterprise Systems Maven and Log4j. Maven. What is maven?

Conventions in this tutorial

Exception/Error Handling in ASP.Net

Remote Health Monitoring for an Embedded System

Experiment 5 : Creating a Windows application to interface with 7-Segment LED display

Rob Prouse

EPSON RC Release Notes December 13, 2012

PRACTICALES:- Navigation control

Developing Windows Communication Foundation Solutions with Microsoft Visual Studio 2010

EPSON RC Release Notes April 15, 2013

Oracle - Oracle Database 12c: Backup and Recovery Workshop Ed 2

EPSON RC Release Notes November 26, 2012

EPSON RC Release Notes February 24, 2013

EPSON RC SP1 Release Notes December 18, 2012

Detect, Diagnose and Solve Problems with Application Insights

Cloud Computing. Up until now

1. Name of Course: Oracle Database 12c: Backup and Recovery Workshop

Oracle Database 12c: Backup and Recovery Workshop Ed 2 NEW

Magpie: Distributed request tracking for realistic performance modelling

ASP.NET Security. 7/26/2017 EC512 Prof. Skinner 1

1 string start = DateTime.Now.ToShortDateString(); 2 string end = DateTime.Now.AddDays(5).ToShortDateString(); 3 OleDbConnection conn2 =

Communication Foundation

Reference Documentation

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

HIRP OPEN 2018 Compiler & Programming Language. An Efficient Framework for Optimizing Tensors

Mis on tõene? Tsüklid, failihaldus. if - näited. unless - näited. unless. Merle Sibola. if ($arv > $suur) { #leitakse suurim arv $suur=$arv; } #if

Oracle WebLogic Server

Online Activity: Debugging and Error Handling

string spath; string sedifile = "277_005010X228.X12"; string sseffile = "277_005010X228.SemRef.EVAL0.SEF";

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython.

TRAINING GUIDE FOR OPC SYSTEMS.NET. Simple steps to successful development and deployment. Step by Step Guide

EL-USB-RT API Guide V1.0

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643

Logging using ParallelLogger Martijn J. Schuemie

Windows Communication Foundation. Mike Taulty, Mike Ormond Developer & Platform Group Microsoft Ltd

OSS APPLICATION SERVER (ASP.NET/3.0), R3 MIDDLEWARE APPLICATION SPECIFICATIONS, FEATURES SCREEN SHOTS & DESCRIPTIONS

Server Error in '/' Application. WMS Exception: <?xml version="1.0" encoding="utf-8"?> <ServiceExceptionReport version="1.1.0"> <ServiceException>No w

ClearSpeed Visual Profiler

EEE-425 Programming Languages (2013) 1

Azure Learning Circles

Creating and Running Your First C# Program

Module 201 Object Oriented Programming Lecture 10 - Arrays. Len Shand

Cisco Unified Serviceability

Chapter 13: Handling Events

CALCULATOR APPLICATION

[MS20487]: Developing Windows Azure and Web Services

User Filter State. Chapter 11. Overview of User Filter State. The PDSAUserFilterState Class

Department of Computer Applications

Object oriented lab /second year / review/lecturer: yasmin maki

INSTALLATION GUIDE. COMMAND PC-Based Software Installation Guide. Version 5.0

Working with Storm Topologies

Introduction to MATLAB application deployment

Hands-On Lab. Instrumentation and Performance -.NET. Lab version: Last updated: December 3, 2010

MobileProfile Framework

Oracle WebLogic Server 11g: Administration Essentials

Oracle Database 12c R2: Backup and Recovery Workshop Ed 3

Build Your Own ASP.NET 4 Website Using C# & VB. Chapter 1: Introducing ASP.NET and the.net Pla;orm

EESTI STANDARD EVS-ISO/IEC 27003:2011

BIG-IP Administrator Exam. Blueprint

Chapter 2. Ans. C (p. 55) 2. Which is not a control you can find in the Toolbox? A. Label B. PictureBox C. Properties Window D.

INSTALLING LYNC SERVER 2013 EE POOL ON WINDOWS SERVER 2012

Sentinet for BizTalk Server SENTINET

Oracle Database 12c R2: Backup and Recovery Workshop Ed 3

Accessing Databases 7/6/2017 EC512 1

Remote Web Server. Develop Locally. foldername. publish project files to

Network Simulator Project Guidelines Introduction

Your system landscape can consist of several different SAP and non-sap systems. You might have an OLTP, an SCM and a Knowledge Warehouse system.

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

Microsoft Server 2016 file management

Logging using ParallelLogger Martijn J. Schuemie

Now find the button component in the tool box. [if toolbox isn't present click VIEW on the top and click toolbox]

Microsoft SQL Server Fix Pack 15. Reference IBM

Overview SENTINET 3.1

Brian Kiser November Vigilant C# 2.5. Commonwealth of Kentucky Frankfort, Kentucky

MTA Server Administration Fundamentals Course

EEE-425 Programming Languages (2013) 1

Nexsan Assureon 8.2. Product Release Notes for Nexsan Assureon. Release Date: July 2017

The Open Core Interface SDK has to be installed on your development computer. The SDK can be downloaded at:

Microsoft Planning and Implementing Windows Server 2008

Developing Windows Azure and Web Services

Ubiquity Server Manual

JBOSS AS 7 AND JBOSS EAP 6 ADMINISTRATION AND CLUSTERING (4 Days)

Synchrophasor Project Updates

Exam : Title : IBM Cloud Computing Infrastructure Architect V1. Version : Demo

Introduction to Data Science

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks)

Transcription:

Vea haldus ja logiraamat hajutatud süsteemides Enn Õunapuu enn.ounapuu@ttu.ee

Millest tuleb jutt? Kuidas ma näen, millises sammus erinevad protsessid parasjagu on? Kuidas ma aru saan, kas protsess töötab või on katkenud? Kuidas ma vea tekkimisel näen, millises süsteemis viga tekkis? Kuidas luua protsess selliselt, et vea kõrvaldamisel saaks protsess jätkuda? Kuidas ma tagan erinevate süsteemide vahel andmete terviklikkuse?

Hajusa süsteemi omapära veatootluse ja jälgitavuse seisukohalt

Tegevuste analüüs

Preliminaries: Data Logging Keeping track of execution data Activities that have been carried out Timestamps (Start and end times of activities) Resources involved Data Purposes Audit trails Disaster recovery Monitoring Data Mining Process Mining Process Simulation

Preliminaries: Process Mining Event logs (recorded actual behaviors) Covers a wide-range of techniques Provide insights into control flow dependencies data usage resource involvement performance related statistics etc. Identify problems that cannot be identified by inspecting a static model alone

Preliminaries: Process Simulation Develop a simulation model at design time Carry out experiments under different assumptions Used for process reengineering decisions Data input is time-consuming and error-prone Requires careful interpretation Abstraction of the actual behavior Different assumptions made Inaccurate or Incomplete data input Starts from an empty initial state

Process Mining Process discovery: "What is really happening?" Conformance checking: "Do we do what was agreed upon?" Performance analysis: "Where are the bottlenecks?" Process prediction: "Will this case be late?" Process improvement: "How to redesign this process?" Etc.

Process mining: Linking events to models world business processes people machines components organizations models analyzes supports/ controls specifies configures implements analyzes software system records events, e.g., messages, transactions, etc. process/ system model discovery conformance event logs

Where to start? process control diagnosis process mining process enactment process design implementation/ configuration

Veatöötlus harilikus rakenduses protected void Button5_Click(object sender, EventArgs e) { try { Label1.Text = Convert.ToString(Convert.ToInt32(TextBox1.Text) / Convert.ToInt32(TextBox2.Text)); } catch (Exception ee) { logger.error("ennu error message.jagamine nulliga"); Label1.Text = ee.message; } }

Jälgitavus Kuidas teada saada, mis hajutatud süsteemis toimub? Milline protsesside efektiivusus? Millised on vead ja eriolukorrad? Kuidas neid käsitleda?

Arutelu hajusa süsteemi näitel? Vaatleme krediitkaardiga maksmist. Kõik tundub lihtne. Kontrollitakse, kas on piisavalt vahendeid ja teostatakse makse. Süvenemisel, tekib terve rida eriolukordi, mis nõuavad lahendust. Mis teha siis, kui vastus ei saabunud õigeaegselt? Kuidas kontrollida, et maksja on krediitkaardi omanik?

nlog süsteem NLog can process diagnostic messages emitted from any.net language (such as C# or Visual Basic), augment them with contextual information (such as date/time, severity, thread, process, environment enviroment), format them according to your preference and send them to one or more targets such as file or database.

Nlog järg NLog is very easy to use and configure, both through Configuration File and programmatically at runtime. Advanced routing options include buffering, asynchronous logging, load balancing, failover, and more. Log output options include: Files - single file or multiple, with automatic file naming and archival Event Log - local or remote Database - store your logs in databases supported by.net Network - using TCP, UDP, SOAP, MSMQ protocols Command-line console - including color coding of messages E-mail - you can receive emails whenever application errors occur ASP.NET trace

Demo Remote desktop nloglogging

Google analytics Web analytics definition: The analysis of qualitative and quantitative data from your website and the competition, to drive a continual improvement of the online experience that your customers, and potential customers have, which translates into your desired outcomes (online and offline).

Demo http://www.google.com/analytics/

nlog config <?xml version="1.0" encoding="utf-8"?> <nlog xmlns="http://www.nlog-project.org/schemas/nlog.xsd" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <targets> <target name="queue" xsi:type="msmq" layout="${message}" queue=".\private$\nlog" encoding="iso-8859-2" recoverable="true" label="${logger}"/> </targets> <rules> <logger name="*" minlevel="debug" writeto="queue"/> </rules> </nlog>

Kasutamine programmis using Nlog; namespace NlogLogging { public partial class _Default : System.Web.UI.Page { private static Logger logger = LogManager.GetLogger("IDU0080"); protected void Page_Load(object sender, EventArgs e) { Application.Lock(); Application["PageRequestCount"] = ((int)application["pagerequestcount"]) + 1; Application.UnLock(); logger.trace("ennu trace teade,session:" + Application["PageRequestCount"].ToString()); logger.debug("ennu debug message,session:" + Application["PageRequestCount"].ToString()); logger.info("ennu informational message,session:" + Application["PageRequestCount"].ToString()); logger.warn("ennu warning message,session:" + Application["PageRequestCount"].ToString()); logger.error("ennu error message,session:" + Application["PageRequestCount"].ToString()); logger.fatal("ennu fatal error message,session:" + Application["PageRequestCount"].ToString()); // alternatively you can call the Log() method // and pass log level as the parameter. // logger.log(loglevel.info, "Sample fatal error message");

Protsessi algus ja lõpp protected void Button1_Click(object sender, EventArgs e) { logger.info("ennu Esimene process startis,session:" + Application["PageRequestCount"].ToString()); System.Threading.Thread.Sleep(3500); logger.info("ennu Esimene process lopetas,session:" + Application["PageRequestCount"].ToString()); }

Eriolukord protected void Button5_Click(object sender, EventArgs e) { try { Label1.Text = Convert.ToString(Convert.ToInt32(TextBox1.Text) / Convert.ToInt32(TextBox2.Text)); } catch (Exception ee) { logger.error("ennu error message.jagamine nulliga,session:" + Application["PageRequestCount"].ToString()); Label1.Text = ee.message; } }

Jõudu!!!