This document provides an agenda and information for a workshop on rule-based event management using Drools. The agenda includes activating Drools in OpenNMS, a complex correlation example, an auto event example using Drools timers, and using Drools with Groovy. Instructions are provided for configuring example rules and events in OpenNMS. Event sequences and alarm views are demonstrated for the examples.
The document discusses rule based event management in OpenNMS. It provides an overview of the Drools platform and rule basics, and focuses on activation of Drools rules for event correlation and automation. Key aspects covered include OpenNMS event processing, the anatomy of events and alarms, and examples of adding problem and resolution events and sending them to trigger alarms.
Do you have a need for custom components or behavior? This session will bring you the knowledge you require to create and extend custom components. Learn which calls to intercept for your custom logic.
This document discusses events and event handling in openFrameworks. It explains that openFrameworks wraps the Poco events system and allows registering callbacks for built-in events like mouse, keyboard, and touch events. It describes how to register a callback function for an event using ofAddListener, and how to unregister using ofRemoveListener. It also covers creating and dispatching custom events, and using simple messaging between components with ofSendMessage.
This document discusses how to incorporate a menu into a window program. It defines menu items and structures for a sample menu called "FirstMenu". The code shows how to load and attach the menu, handle menu item selections by checking the message parameter, and display messages based on the selected menu option. Menus present the user with a list of program services and allow interaction without reading a manual by exploring the menu options.
Andrii Dembitskyi "Events in our applications Event bus and distributed systems"Fwdays
События являются довольно сильным инструментом для приложений:
коммуникация между компонентами системы;
история действий над данными;
триггеры для операций;
интеграция с посторонними системами.
Во время доклада я расскажу о применениях событий. На какие грабли можно наступить спеша в выборе инструмента и какое место они имеют в нашей архитектуре.
The document discusses several patterns for DOM scripting and browser interactions, including:
- Separating concerns with HTML, CSS, and JavaScript handling specific tasks
- Checking for function existence rather than browser strings to enable capabilities
- Avoiding repeated DOM access and caching references for efficiency
- Using document fragments to batch DOM updates for performance
- Attaching event handlers with addEventListener rather than on- attributes
- Implementing event delegation by binding to parents rather than each child
- Offloading long tasks to Web Workers to avoid blocking the UI thread
- Fetching remote data through XMLHttpRequest or JSONP calls across domains
The document discusses rule based event management in OpenNMS. It provides an overview of the Drools platform and rule basics, and focuses on activation of Drools rules for event correlation and automation. Key aspects covered include OpenNMS event processing, the anatomy of events and alarms, and examples of adding problem and resolution events and sending them to trigger alarms.
Do you have a need for custom components or behavior? This session will bring you the knowledge you require to create and extend custom components. Learn which calls to intercept for your custom logic.
This document discusses events and event handling in openFrameworks. It explains that openFrameworks wraps the Poco events system and allows registering callbacks for built-in events like mouse, keyboard, and touch events. It describes how to register a callback function for an event using ofAddListener, and how to unregister using ofRemoveListener. It also covers creating and dispatching custom events, and using simple messaging between components with ofSendMessage.
This document discusses how to incorporate a menu into a window program. It defines menu items and structures for a sample menu called "FirstMenu". The code shows how to load and attach the menu, handle menu item selections by checking the message parameter, and display messages based on the selected menu option. Menus present the user with a list of program services and allow interaction without reading a manual by exploring the menu options.
Andrii Dembitskyi "Events in our applications Event bus and distributed systems"Fwdays
События являются довольно сильным инструментом для приложений:
коммуникация между компонентами системы;
история действий над данными;
триггеры для операций;
интеграция с посторонними системами.
Во время доклада я расскажу о применениях событий. На какие грабли можно наступить спеша в выборе инструмента и какое место они имеют в нашей архитектуре.
The document discusses several patterns for DOM scripting and browser interactions, including:
- Separating concerns with HTML, CSS, and JavaScript handling specific tasks
- Checking for function existence rather than browser strings to enable capabilities
- Avoiding repeated DOM access and caching references for efficiency
- Using document fragments to batch DOM updates for performance
- Attaching event handlers with addEventListener rather than on- attributes
- Implementing event delegation by binding to parents rather than each child
- Offloading long tasks to Web Workers to avoid blocking the UI thread
- Fetching remote data through XMLHttpRequest or JSONP calls across domains
Containerization helps us bundle dependencies with applications instead of having to use configuration management to prepare machines for running them, hence making build once run anywhere easy. For legacy applications this can be quite hard though when they spread persistent data across the file system.
In this talk I'll show how we can quickly set up a Go.CD server and agents for our Continuous Delivery pipelines on Google Cloud. The infrastructure creation is handled by Terraform, the server and agents are custom built Docker containers.
ITB2019 Try This At Home: Building a Personal Docker Swarm - Matt ClementeOrtus Solutions, Corp
There’s no shortage of excitement surrounding Docker. But while many developers are familiar with containers in the abstract (they’ve installed Docker on their machines, watched online courses, and played with images locally), they’re unsure of the concrete steps needed to deploy CFML apps to Swarm.
Since it’s said that you learn more on your first day of production than all the time beforehand, why wait? In this session, we’ll take a API Mashup project from local development to replicated cloud deployment on a multi-node Swarm. Containerizing a small, fun application provides a great opportunity for acquiring real-world knowledge and hands-on experience. At each step in the process, I’ll share the practical approaches I’ve learned, with the goal of removing obstacles, both real and imagined, that prevent ColdFusion developers from using Swarm.
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(下)Simon Su
Google App Engine provides various developer tools and services to build cloud applications easily. These include Cloud Logging for viewing logs, Cloud Debugging for debugging applications, and Cloud Monitoring for integrating with monitoring systems. It also provides security scanning. Developers can use modules and managed virtual machines on App Engine to build applications. Common runtimes on managed VMs include Node.js, Python, Java, and Go. Local testing and deployment to the cloud is simplified.
This document provides an overview of various Android development tools for debugging and profiling apps, including the Android Debug Bridge (adb), sqlite3, Dalvik Debug Monitor Service (ddms), and Traceview. It describes how each tool can be used to install and uninstall apps, access logs and thread/heap information, capture screenshots, spoof calls and locations, and record and analyze method trace data to optimize app performance. The emulator's DevTools app is also briefly mentioned.
A New Perspective on Resource-Level Cloud ForensicsChristopher Doman
AWS classifies cloud incidents across three domains: Service, Infrastructure and Application. There has been much previous discussion across the Service and Application domains, see for example the excellent SANS DFIR 2022 Keynote. This talk will focus on the unique challenges and opportunities of responding to incidents in the Infrastructure domain. Cloud Service Providers, such as AWS, GCP and Azure, often introduce artifacts of forensic value when developing features for automation and monitoring of resources. Typically, these artifacts are undocumented and exist purely for the provider's own troubleshooting, but they also provide valuable insight to an investigator analyzing malicious activity on a system. Frequently, this insight surpasses that of “provider-supported” forensic data sources. Most of the discourse around performing forensics in the cloud focuses on provider-level logging. While this is undoubtedly useful, practitioners understand that resource-level forensic analysis is crucial when responding to incidents affecting cloud infrastructure. And much of this knowledge remains opaque and undocumented. In this presentation, Chris Doman, CTO of Cado Security will present novel research of undocumented forensic artifacts from cloud service provider specific operating systems and tools. He will provide the audience with an overview of forensic techniques across cloud compute and serverless environments. He will also discuss native operating system artifacts, contrast them with their cloud equivalents and consider their usefulness in the context of the cloud. Attendees can expect to gain a unique perspective on resource-level cloud forensics and should leave the talk with a host of new data sources and knowledge for performing forensic analysis of cloud resources.
This document provides an overview of jBPM and BPMN. It discusses BPMN elements and how jBPM can be used to execute business processes defined using BPMN. The core concepts of jBPM include the knowledge base, sessions, process nodes like events, gateways and activities. It also discusses human tasks and how processes can be tested and debugged in jBPM.
This document summarizes trends in digital forensics from a conference in June 2013. It discusses forensic artifacts from the Amazon Cloud Drive desktop application and web browser, including log files and database records that can be analyzed. It also covers evidence that can be found in the Windows Control Panel, such as Prefetch files, registry keys, and jump lists recording which control panel applications have been used and when. The document provides an overview of digital forensic issues and tools discussed at the conference.
Reversing & malware analysis training part 12 rootkit analysisAbdulrahman Bassam
The document discusses various techniques used by rootkits, including user mode and kernel mode rootkits. It provides examples of rootkit demonstrations that hook SSDT and DKOM techniques to hide processes. The document instructs attendees on analyzing network activity, callbacks, and examining driver and device objects to detect rootkit components in memory.
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)Andreas Koop
1) The document discusses best practices for deploying applications on WebLogic Server. It addresses challenges like managing multiple applications and versions.
2) It provides strategies and tools for deployment including using the Deployer, Ant, Maven, and WLST scripts. It recommends planning deployments to clusters from the start.
3) The document discusses considerations for production redeployments like handling versioning, retire timeouts, and maintaining session state during redeployments. It also notes some pain points like managing custom configuration data and security policies.
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)enpit GmbH & Co. KG
1) The document discusses best practices for deploying applications on WebLogic Server. It addresses challenges like managing multiple applications and versions.
2) It provides strategies and tools for deployment including using the Deployer, Ant, Maven, and WLST scripts. It also discusses deployment plans and shared libraries.
3) The document emphasizes starting with a cluster for easy scaling, handling different environment requirements, and best practices for production redeployments like managing versions and retiring applications. It concludes with some pain points in WebLogic deployments.
High Availability with Windows Server Clustering and Geo-ClusteringStarWind Software
Find out why having an effective disaster recovery plan is so important and how this differs from simple application or server resiliency. This presentation explains technical issues involved in implementing DR in a virtual server environment and show how using the StarWind Virtual SAN solution can help increase the availability of business critical workloads.
You can also watch webcast based on this slide presentation: http://www.starwindsoftware.com/reduce-disaster-recovery-and-business-continuity-expenses-video
Continuous Integration using Cruise Controlelliando dias
The document discusses Continuous Integration using Cruise Control. It defines Continuous Integration as integrating source code and running tests after each commit to the source repository to provide near-immediate feedback. Cruise Control runs builds whenever code is committed, allows scheduling nightly builds, and notifies users of build results to simplify release management. While Cruise Control automates the build process, developers must still write the build scripts and unit tests.
Loophole: Timing Attacks on Shared Event Loops in Chromecgvwzq
This document describes timing attacks on shared event loops in Chrome. It discusses how two shared event loops (the host process I/O thread and renderer main threads) can be exploited. Three attacks are implemented: page identification by monitoring event loop timing during page loads, inter-keystroke timing to deduce passwords, and a covert timing channel. The attacks demonstrate high accuracy, with page identification correctly identifying pages within 2-4 seconds and inter-keystroke timing discerning passwords with 90% accuracy and 6.1ms precision. Countermeasures like reducing clock resolution and rate limiting are discussed.
Eurosec2014 - An introduction to honeyclient technologiesAngelo Dell'Aera
An introduction to honeyclient technologies was presented. Honeyclients allow the study of client-side attacks by mimicking user-driven client applications like web browsers. Low-interaction honeyclients emulate different browser versions and plugins but are easy to detect, while high-interaction honeyclients use real browsers and are harder to detect but also dangerous. The Document Object Model (DOM), event handling, browser personalities, and hooks were discussed for the Thug honeyclient tool. Static analysis uses the abstract syntax tree, while dynamic analysis uses the V8 debugger and Libemu integration.
This document summarizes a presentation about improvements to Gradle's daemon feature in version 3.0. The daemon runs as a long-lived background process to speed up builds. New features include the daemon being enabled by default, being more robust on Windows, and integrating with build scans. The daemon also becomes more resource-aware and intelligent over time through machine learning. Users are encouraged to try the new daemon features and provide feedback to further improve Gradle's performance.
An event is an action that occurs within a web page, such as user interactions like clicks or keyboard presses. JavaScript uses event handlers and listeners to respond to events. There are three main ways to attach event handlers: inline, DOM properties, and addEventListener(). The event object provides information about the event, like the element it occurred on. Events follow the DOM event flow of capturing and bubbling. Multiple listeners can be added for an event. Event delegation improves efficiency by listening for events on a parent rather than individual children.
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
Presentation given at WordCamp Europe 2017 in Paris 2017-06-16.
Xdebug is a tool for developers to gain insight into how PHP is executed. Using it for profiling is a very effective, fast and precise method to find bottlenecks in your WordPress site. In this talk I explain how to use it with Webgrind, how to find potential optimization targets, show examples of real cases when Xdebug helped fix a performance problem and also explain what Xdebug is not suitable for and what can be used instead. If you are not a developer, you’ll learn what Xdebug is capable of and when to ask a developer to use it.
- The original vision of the World Wide Web was as a hyperlinked document retrieval system, not for presentation, sessions, or interactivity. If it had stayed true to this vision, modern sites like Yahoo would not exist.
- Browser wars in the 1990s led to proprietary technologies that frustrated developers. The introduction of JavaScript in 1995 allowed for dynamic and interactive web pages.
- By the 2000s, Microsoft's Internet Explorer dominated the browser market, bringing some stability through standards like DOM and DHTML. However, cross-browser differences still posed challenges for developers.
Containerization helps us bundle dependencies with applications instead of having to use configuration management to prepare machines for running them, hence making build once run anywhere easy. For legacy applications this can be quite hard though when they spread persistent data across the file system.
In this talk I'll show how we can quickly set up a Go.CD server and agents for our Continuous Delivery pipelines on Google Cloud. The infrastructure creation is handled by Terraform, the server and agents are custom built Docker containers.
ITB2019 Try This At Home: Building a Personal Docker Swarm - Matt ClementeOrtus Solutions, Corp
There’s no shortage of excitement surrounding Docker. But while many developers are familiar with containers in the abstract (they’ve installed Docker on their machines, watched online courses, and played with images locally), they’re unsure of the concrete steps needed to deploy CFML apps to Swarm.
Since it’s said that you learn more on your first day of production than all the time beforehand, why wait? In this session, we’ll take a API Mashup project from local development to replicated cloud deployment on a multi-node Swarm. Containerizing a small, fun application provides a great opportunity for acquiring real-world knowledge and hands-on experience. At each step in the process, I’ll share the practical approaches I’ve learned, with the goal of removing obstacles, both real and imagined, that prevent ColdFusion developers from using Swarm.
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(下)Simon Su
Google App Engine provides various developer tools and services to build cloud applications easily. These include Cloud Logging for viewing logs, Cloud Debugging for debugging applications, and Cloud Monitoring for integrating with monitoring systems. It also provides security scanning. Developers can use modules and managed virtual machines on App Engine to build applications. Common runtimes on managed VMs include Node.js, Python, Java, and Go. Local testing and deployment to the cloud is simplified.
This document provides an overview of various Android development tools for debugging and profiling apps, including the Android Debug Bridge (adb), sqlite3, Dalvik Debug Monitor Service (ddms), and Traceview. It describes how each tool can be used to install and uninstall apps, access logs and thread/heap information, capture screenshots, spoof calls and locations, and record and analyze method trace data to optimize app performance. The emulator's DevTools app is also briefly mentioned.
A New Perspective on Resource-Level Cloud ForensicsChristopher Doman
AWS classifies cloud incidents across three domains: Service, Infrastructure and Application. There has been much previous discussion across the Service and Application domains, see for example the excellent SANS DFIR 2022 Keynote. This talk will focus on the unique challenges and opportunities of responding to incidents in the Infrastructure domain. Cloud Service Providers, such as AWS, GCP and Azure, often introduce artifacts of forensic value when developing features for automation and monitoring of resources. Typically, these artifacts are undocumented and exist purely for the provider's own troubleshooting, but they also provide valuable insight to an investigator analyzing malicious activity on a system. Frequently, this insight surpasses that of “provider-supported” forensic data sources. Most of the discourse around performing forensics in the cloud focuses on provider-level logging. While this is undoubtedly useful, practitioners understand that resource-level forensic analysis is crucial when responding to incidents affecting cloud infrastructure. And much of this knowledge remains opaque and undocumented. In this presentation, Chris Doman, CTO of Cado Security will present novel research of undocumented forensic artifacts from cloud service provider specific operating systems and tools. He will provide the audience with an overview of forensic techniques across cloud compute and serverless environments. He will also discuss native operating system artifacts, contrast them with their cloud equivalents and consider their usefulness in the context of the cloud. Attendees can expect to gain a unique perspective on resource-level cloud forensics and should leave the talk with a host of new data sources and knowledge for performing forensic analysis of cloud resources.
This document provides an overview of jBPM and BPMN. It discusses BPMN elements and how jBPM can be used to execute business processes defined using BPMN. The core concepts of jBPM include the knowledge base, sessions, process nodes like events, gateways and activities. It also discusses human tasks and how processes can be tested and debugged in jBPM.
This document summarizes trends in digital forensics from a conference in June 2013. It discusses forensic artifacts from the Amazon Cloud Drive desktop application and web browser, including log files and database records that can be analyzed. It also covers evidence that can be found in the Windows Control Panel, such as Prefetch files, registry keys, and jump lists recording which control panel applications have been used and when. The document provides an overview of digital forensic issues and tools discussed at the conference.
Reversing & malware analysis training part 12 rootkit analysisAbdulrahman Bassam
The document discusses various techniques used by rootkits, including user mode and kernel mode rootkits. It provides examples of rootkit demonstrations that hook SSDT and DKOM techniques to hide processes. The document instructs attendees on analyzing network activity, callbacks, and examining driver and device objects to detect rootkit components in memory.
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)Andreas Koop
1) The document discusses best practices for deploying applications on WebLogic Server. It addresses challenges like managing multiple applications and versions.
2) It provides strategies and tools for deployment including using the Deployer, Ant, Maven, and WLST scripts. It recommends planning deployments to clusters from the start.
3) The document discusses considerations for production redeployments like handling versioning, retire timeouts, and maintaining session state during redeployments. It also notes some pain points like managing custom configuration data and security policies.
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)enpit GmbH & Co. KG
1) The document discusses best practices for deploying applications on WebLogic Server. It addresses challenges like managing multiple applications and versions.
2) It provides strategies and tools for deployment including using the Deployer, Ant, Maven, and WLST scripts. It also discusses deployment plans and shared libraries.
3) The document emphasizes starting with a cluster for easy scaling, handling different environment requirements, and best practices for production redeployments like managing versions and retiring applications. It concludes with some pain points in WebLogic deployments.
High Availability with Windows Server Clustering and Geo-ClusteringStarWind Software
Find out why having an effective disaster recovery plan is so important and how this differs from simple application or server resiliency. This presentation explains technical issues involved in implementing DR in a virtual server environment and show how using the StarWind Virtual SAN solution can help increase the availability of business critical workloads.
You can also watch webcast based on this slide presentation: http://www.starwindsoftware.com/reduce-disaster-recovery-and-business-continuity-expenses-video
Continuous Integration using Cruise Controlelliando dias
The document discusses Continuous Integration using Cruise Control. It defines Continuous Integration as integrating source code and running tests after each commit to the source repository to provide near-immediate feedback. Cruise Control runs builds whenever code is committed, allows scheduling nightly builds, and notifies users of build results to simplify release management. While Cruise Control automates the build process, developers must still write the build scripts and unit tests.
Loophole: Timing Attacks on Shared Event Loops in Chromecgvwzq
This document describes timing attacks on shared event loops in Chrome. It discusses how two shared event loops (the host process I/O thread and renderer main threads) can be exploited. Three attacks are implemented: page identification by monitoring event loop timing during page loads, inter-keystroke timing to deduce passwords, and a covert timing channel. The attacks demonstrate high accuracy, with page identification correctly identifying pages within 2-4 seconds and inter-keystroke timing discerning passwords with 90% accuracy and 6.1ms precision. Countermeasures like reducing clock resolution and rate limiting are discussed.
Eurosec2014 - An introduction to honeyclient technologiesAngelo Dell'Aera
An introduction to honeyclient technologies was presented. Honeyclients allow the study of client-side attacks by mimicking user-driven client applications like web browsers. Low-interaction honeyclients emulate different browser versions and plugins but are easy to detect, while high-interaction honeyclients use real browsers and are harder to detect but also dangerous. The Document Object Model (DOM), event handling, browser personalities, and hooks were discussed for the Thug honeyclient tool. Static analysis uses the abstract syntax tree, while dynamic analysis uses the V8 debugger and Libemu integration.
This document summarizes a presentation about improvements to Gradle's daemon feature in version 3.0. The daemon runs as a long-lived background process to speed up builds. New features include the daemon being enabled by default, being more robust on Windows, and integrating with build scans. The daemon also becomes more resource-aware and intelligent over time through machine learning. Users are encouraged to try the new daemon features and provide feedback to further improve Gradle's performance.
An event is an action that occurs within a web page, such as user interactions like clicks or keyboard presses. JavaScript uses event handlers and listeners to respond to events. There are three main ways to attach event handlers: inline, DOM properties, and addEventListener(). The event object provides information about the event, like the element it occurred on. Events follow the DOM event flow of capturing and bubbling. Multiple listeners can be added for an event. Event delegation improves efficiency by listening for events on a parent rather than individual children.
Improving WordPress Performance with Xdebug and PHP ProfilingOtto Kekäläinen
Presentation given at WordCamp Europe 2017 in Paris 2017-06-16.
Xdebug is a tool for developers to gain insight into how PHP is executed. Using it for profiling is a very effective, fast and precise method to find bottlenecks in your WordPress site. In this talk I explain how to use it with Webgrind, how to find potential optimization targets, show examples of real cases when Xdebug helped fix a performance problem and also explain what Xdebug is not suitable for and what can be used instead. If you are not a developer, you’ll learn what Xdebug is capable of and when to ask a developer to use it.
- The original vision of the World Wide Web was as a hyperlinked document retrieval system, not for presentation, sessions, or interactivity. If it had stayed true to this vision, modern sites like Yahoo would not exist.
- Browser wars in the 1990s led to proprietary technologies that frustrated developers. The introduction of JavaScript in 1995 allowed for dynamic and interactive web pages.
- By the 2000s, Microsoft's Internet Explorer dominated the browser market, bringing some stability through standards like DOM and DHTML. However, cross-browser differences still posed challenges for developers.
1. Rule Based Event Management
Workshop 2013-03-12 / Version: 1.0.1
markus.schneider73@gmail.com
created with
2. Agenda
➢OpenNMS Activation of Drools
Complex Correlation Example
Auto Event Example
Drools with Groovy Example
More Information
OUCE 2013 2
3. OpenNMS Activation of Drools
Drools is part of the correlation engine
Correlation engine is not activated by default
Drools needs to be configured
OpenNMS comes with:
example Configurations
example Rules
OpenNMS uses Drools version: 5.1.1
OUCE 2013 3
7. Agenda
OpenNMS Activation of Drools
➢Complex Correlation Example
Auto Event Example
Drools with Groovy Example
More Information
OUCE 2013 7
8. Basic Rule Creation Workflow
Edit
Define custom
Create custom eventconf.xml
events in the
event config for including the
event config
custom event cfg
Edit
Define custom
Create custom drools-engine.xml
rules in the
rule file for referencing the
rule file
Custom *.drl file
Restart opennms
OUCE 2013 8
9. Workshop Configuration
(1) Clone Git repository
$> git clone http://www.github.com/
mschneider/ouce2013
(2) Copy all example configurations and rules
$> cd ./ouce2013/config/opennms/etc
$> sudo cp droolsengine.xml
XzampleRules01.drl
XzampleRules02.drl
$OPENNMS_HOME/etc
$> sudo cp events/Xzample.events.xml
$OPENNMS_HOME/etc/events
OUCE 2013 9
10. Workshop Configuration
(3) Add the following line to the end of eventconf.xml
$> echo
'<eventfile>events/Xzample.events.xml
</eventfile>' >>
OPENNMS_HOME/etc/eventconf.xml
(4) Restart OpenNMS
$> sudo service opennms restart
OUCE 2013 10
11. File Dependencies
$OPENNMS_HOME/etc
reference Xzample.event
eventconf.xml
.xml All Xzample Events
reference
drools-engine XzampleRules01 Complex Correlation
.xml .drl
Example
XzampleRules02 Auto Event
.drl
Example
OUCE 2013 11
14. Complex Correlation Example
Symptom Event
CarDirectDown
Problem Event Problem Event
Webserver1 Down Webserver2 Down
Resolution Event
CarDirectUp
Resolution Event Resolution Event
Webserver1 Up Webserver2 Up CarDirect
Events are
created by Drools
OUCE 2013 14
24. Event Sequence
Symptom Event
CarDirectDown
Problem Event Problem Event
Webserver1 Down Webserver2 Down
Resolution Event
CarDirectUp
Resolution Event
Webserver1 Up
OUCE 2013 24
27. Complex Correlation Example
Symptom Event
CarDirectDown
Problem Event Problem Event
Webserver1 Down Webserver2 Down
Resolution Event
CarDirectUp
Resolution Event Resolution Event
Webserver1 Up Webserver2 Up
OUCE 2013 27
31. Agenda
OpenNMS Activation of Drools
Complex Correlation Example
➢Auto Event Example
Drools with Groovy Example
More Info
OUCE 2013 31
32. Auto Event Example
Created by
Symptom Event Drools timer
…/autoTask/run Rule
Symptom Event Symptom Event
.../droolsTimer/start .../droolsTimer/stop
OUCE 2013 32
33. Auto Event Example
Practical Use Case Scenario
Practical Use Case Scenario
ScriptD triggers
the custom script
every 5 seconds
Custom
Script
Cloud
Drools ScriptD check-
Service
status.
Event groovy
if (status == true)
Drools creates Event
an event every 5 uei.opennms.org/droolsTimer/stop
seconds
OUCE 2013 33
40. Agenda
OpenNMS Activation of Drools
Complex Correlation Example
Auto Event Example
➢Drools with Groovy Example
More Information
OUCE 2013 40
41. Knowledge Session Creation
Three main fundamental concepts:
Knowledge Builder
Knowledge Base
Knowledge Session
OUCE 2013 41
45. Knowledge Base
Main purpose is to store and reuse knowledge definitions
Creation of Knowledge Base is expensive
Provides methods for creating knowledge sessions
Maintains a reference to all of the created knowledge
sessions
Knowledge Base can be reused instead of creating a new
one every time
OUCE 2013 45
47. Knowledge Session
Stateless Session
Doesn't maintain the context between one
interaction and the next one
Doesn't keep information from previous calls
Stateful Session
Keeps the information from several calls and
interactions
Previous calls can be used to add and enrich
the information we already have
OUCE 2013 47
53. Agenda
OpenNMS Activation of Drools
Complex Correlation Example
Auto Event Example
Drools with Groovy Example
➢More Information
OUCE 2013 53