SlideShare une entreprise Scribd logo
1  sur  80
1EU Introduction
   james.wang@quest.com
        Sep 05, 2011
What does 1EU stand
       for ?

• 1EU = Integrated R&D Organization and
  Architecture for Quest End User
Agenda

• Team Introduction
• Definitions
• Logical Components
• Concepts
1EU Team

• Product Architect - Rob Dickinson
• 3 labs
• San Diego
• Boulder
• Zhuhai
1EU is...
•   The codename for ongoing efforts to boost eCritical, Xaffire,
    Foglight silos

•   A next-generation EU product using Foglight and Toad ecosystems as its
    foundation

•   An optimization problem : How to deliver powerful EU capabilities with
    greatest simplicity and ease-of-use ?

•   New all-in-one appliance platform (Dell R510)

•   Simultaneous release of sniffer & archiver VMs

•   Shifting revenue focus to VMs over several years

•   Setting the stage for continued growth & coping with expected market
1EU is NOT...
•   Foglight + FxM + FxV as they exist today

•   Every EU feature ever developed

•   “Re-invention” of core IP (sniffer, archiver)

•   A multi-year pure research project (like AJAX)

•   A product name or customer-facing term

• A drop-in replacement for existing FxM and
    FxV accounts
Hmm, but I’m still
  confused...
Hmm, but I’m still
      confused...


• Don’t worry, let’s move on
James’ Definition
James’ Definition
• 1EU is a system that allows you capture
  specified network traffics (via sniffer), send
  all the streams to archivers (via relayer)
  then store them, thus user can search /
  replay all the streams on Foglight UI.
James’ Definition
• 1EU is a system that allows you capture
  specified network traffics (via sniffer), send
  all the streams to archivers (via relayer)
  then store them, thus user can search /
  replay all the streams on Foglight UI.
• Above definition only represents personal
  opinion (                           )
Let’s code
Let’s code
# Initialization


def cartridge = Cartridge.new.configure_sniffers
                             .configure_archivers
                             .configure_capture_groups
                             .configure_analyzers
                             .configure_private_keys

def   capture_group = CaptureGroup.new(cartridge.configurations.capture_groups[0])
def   sniffer = Sniffer.new(cartridge.configurations.sniffers[0]).belongs_to(capture_group)
def   relayer = Relayer.new(cartridge.configurations.relayers[0]).belongs_to(capture_group)
def   archivers = cartridge.configurations.archivers.collect { |ac|
      Archiver.new(ac).belongs_to(capture_group)
}
def archiver_database = ArchiverDatabase.new(cartridge.configurations.archiver_database)
Sniffer Thread
Sniffer Thread

Thread.new do
    def raw_packets = sniffer.collect.by(network_tap)
    def private_key = cartridge.configurations.private_key
    def streams = sniffer.reassemle(raw_packets)
                         .ssl_decryption_while_necessary
                         .with(private_key)
    sniffer.send(streams).to(replayer)
end
Relayer Thread
Relayer Thread


Thread.new do
    def streams = relayer.accept
    def archiver = relayer.select(archivers).by_user_session
    relayer.send(streams).to(archiver)
end
Archiver Thread
Archiver Thread


Thread.new do
    def streams = archiver.accept
    archiver.store(streams).in(archiver_database)
end
Archiver Database
     Thread
Archiver Database
             Thread

Thread.new do
    def streams = archiver_database.accept
    def sharding_policy = ShardingPolicy.new(archiver, max_hits, max_hours)
    def shard = archiver_database.selec(sharding_policy)
    def aspects = StreamOrganizer.organize(streams)
    archiver_database.store(aspects).in(shard)
end
Stream Types
Stream Types


# Stream Types
puts Stream.subclasses.join(', ')
# Got
Metric, Hit, Page, Sequence, Session, WatchPoint
Appliance
Appliance
The generic term for an operating system image (and//or underlying hardware) provided by Quest
that runs 1EU components.

# Run
appliance_types.each do |appliance|
    puts appliance.type
    appliance.components.each do |component|
        puts component
    end
end

# Results
Native Appliance
    All-in-One appliance
    Archiver appliance
    Sniffer appliance
Virtual Appliance
    Foglight VM
    Archiver VM
    Sniffer VM
Cartridge
Configuration
Cartridge
               Configuration
cartridge.with_configuration_servlet do
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
        configure_page_analyzers
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
        configure_page_analyzers
        configure_sequence_analyzers
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
        configure_page_analyzers
        configure_sequence_analyzers
        configure_session_analyzers
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
        configure_page_analyzers
        configure_sequence_analyzers
        configure_session_analyzers
    end
Cartridge
               Configuration
cartridge.with_configuration_servlet do
    configure_capture_groups
    configure_appliance_mon
    configure_sniffers.through(sniffer_mon).with_ssl_keys
    configure_archivers
    configure_namespaces
    configure_monitored_ip_addresses
    configure_monitored_ports
    configure_monitored_subnets
    configure_subnet_filters
    configure_analyzers do
        configure_hit_analyzers
        configure_page_analyzers
        configure_sequence_analyzers
        configure_session_analyzers
    end
end
Cartridge Reporting
End User Definition
End User Definition

end_user do
End User Definition

end_user do
    is a human
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
    has one or more sessions
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
    has one or more sessions
    sessions.each { |session| session.has_a_unique_identifier   }
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
    has one or more sessions
    sessions.each { |session| session.has_a_unique_identifier   }
    can be uniquely identified by session_id
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
    has one or more sessions
    sessions.each { |session| session.has_a_unique_identifier   }
    can be uniquely identified by session_id
end
End User Definition

end_user do
    is a human
    use a browser to connect to a web site
    whose hits and pages are monitored by a sniffer
    whose sessions are captured by an archiver
    has one or more sessions
    sessions.each { |session| session.has_a_unique_identifier   }
    can be uniquely identified by session_id
end
Host & End Point
Host & End Point

host do
    is a standard foglight defined host
    def monitored_ip_address = host.monitored_ip_addresses.any
    def monitored_port = host.monitored_ports.any
    def protocol = protocols.any
    def end_point = "#{protocol}://#{monitored_ip_address}:#{monitored_port}"
end

#End Point Examples
http://localhost:8080
soap://localhost:6000
tcp://localhost:6161
Cartridge Reporting
Cartridge Reporting

end_user.connect_to_website.by(browser) do
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
    search_pages
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
    search_pages
    search_sequences
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
    search_pages
    search_sequences
    search_sessions
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
    search_pages
    search_sequences
    search_sessions
    watch_metrics
Cartridge Reporting

end_user.connect_to_website.by(browser) do
    search_hits
    search_pages
    search_sequences
    search_sessions
    watch_metrics
end
Metrics in 1EU
Metrics in 1EU

# Run
metric_types.each do |metric|
    puts "#{metric.name} - #{metric.description}"
end

# Results
APM metrics - aggregate web server metrics (Bandwidth Usage for Web server A)
                or aggregate web site metrics (Login Attempts for Web site B)
Health metrics - a small set used to monitor the appliance hardware and software.
Data Flow Diagrams
Data Flow Diagrams
References
References

• Referenced websites
References

• Referenced websites
  http://innovate.prod.quest.corp/display/FGL5/1EU
References

• Referenced websites
  http://innovate.prod.quest.corp/display/FGL5/1EU


• Referenced materials
References

• Referenced websites
  http://innovate.prod.quest.corp/display/FGL5/1EU


• Referenced materials
  1EU-defined.ppt
References

• Referenced websites
  http://innovate.prod.quest.corp/display/FGL5/1EU


• Referenced materials
  1EU-defined.ppt

  1EU Glossary
References

• Referenced websites
  http://innovate.prod.quest.corp/display/FGL5/1EU


• Referenced materials
  1EU-defined.ppt

  1EU Glossary

  1EU Data Flow Diagrams
Thanks

Contenu connexe

Tendances

Gotcha! Ruby things that will come back to bite you.
Gotcha! Ruby things that will come back to bite you.Gotcha! Ruby things that will come back to bite you.
Gotcha! Ruby things that will come back to bite you.
David Tollmyr
 
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
InSync2011
 
Oracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 samplingOracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 sampling
Kyle Hailey
 

Tendances (19)

A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009A Taste of Python - Devdays Toronto 2009
A Taste of Python - Devdays Toronto 2009
 
Postgres can do THAT?
Postgres can do THAT?Postgres can do THAT?
Postgres can do THAT?
 
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
 
Gotcha! Ruby things that will come back to bite you.
Gotcha! Ruby things that will come back to bite you.Gotcha! Ruby things that will come back to bite you.
Gotcha! Ruby things that will come back to bite you.
 
Do snow.rwn
Do snow.rwnDo snow.rwn
Do snow.rwn
 
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
Chapter 2: R tutorial Handbook for Data Science and Machine Learning Practiti...
 
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
 
The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196
 
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
 
MySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB StatusMySQL 5.5 Guide to InnoDB Status
MySQL 5.5 Guide to InnoDB Status
 
Command GM
Command GMCommand GM
Command GM
 
Sangam 19 - Successful Applications on Autonomous
Sangam 19 - Successful Applications on AutonomousSangam 19 - Successful Applications on Autonomous
Sangam 19 - Successful Applications on Autonomous
 
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013Puppet at Opera Sofware - PuppetCamp Oslo 2013
Puppet at Opera Sofware - PuppetCamp Oslo 2013
 
Message Queueing - by an MQ noob
Message Queueing - by an MQ noobMessage Queueing - by an MQ noob
Message Queueing - by an MQ noob
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)
 
Oracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 samplingOracle 10g Performance: chapter 00 sampling
Oracle 10g Performance: chapter 00 sampling
 
Sangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolestSangam 19 - PLSQL still the coolest
Sangam 19 - PLSQL still the coolest
 

En vedette

Resultados Fecha Diez!
Resultados Fecha Diez!Resultados Fecha Diez!
Resultados Fecha Diez!
Liga Torneo
 
Tutorial 3 como insertar un video desde youtube.
Tutorial 3   como insertar un video desde youtube.Tutorial 3   como insertar un video desde youtube.
Tutorial 3 como insertar un video desde youtube.
Nicol Parra
 
Anjali D Alberto Atlético Power Point
Anjali D Alberto Atlético Power PointAnjali D Alberto Atlético Power Point
Anjali D Alberto Atlético Power Point
AlumnosDeLantier
 
Dallas
DallasDallas
Dallas
DSJB
 
Envio y descaraga de archivos
Envio y descaraga de archivosEnvio y descaraga de archivos
Envio y descaraga de archivos
TECNOLOGIAH5
 
Semana Mercado dos Lavradores
Semana Mercado dos LavradoresSemana Mercado dos Lavradores
Semana Mercado dos Lavradores
Apolo Restaurante
 

En vedette (19)

Creds For Linked In V2 0
Creds For Linked In V2 0Creds For Linked In V2 0
Creds For Linked In V2 0
 
Es i cap 5 sonoridad
Es i cap 5  sonoridadEs i cap 5  sonoridad
Es i cap 5 sonoridad
 
Homework#2_5470908121
Homework#2_5470908121Homework#2_5470908121
Homework#2_5470908121
 
Corlaer college zachte competenties
Corlaer college zachte competentiesCorlaer college zachte competenties
Corlaer college zachte competenties
 
Resultados Fecha Diez!
Resultados Fecha Diez!Resultados Fecha Diez!
Resultados Fecha Diez!
 
Tutorial 3 como insertar un video desde youtube.
Tutorial 3   como insertar un video desde youtube.Tutorial 3   como insertar un video desde youtube.
Tutorial 3 como insertar un video desde youtube.
 
Anjali D Alberto Atlético Power Point
Anjali D Alberto Atlético Power PointAnjali D Alberto Atlético Power Point
Anjali D Alberto Atlético Power Point
 
Weekly news (3)
Weekly news (3)Weekly news (3)
Weekly news (3)
 
Amenazasyvirus
Amenazasyvirus Amenazasyvirus
Amenazasyvirus
 
Dallas
DallasDallas
Dallas
 
Grabacion
GrabacionGrabacion
Grabacion
 
Izvrsno
IzvrsnoIzvrsno
Izvrsno
 
Buffet
BuffetBuffet
Buffet
 
Manual de slideshare
Manual de slideshareManual de slideshare
Manual de slideshare
 
Envio y descaraga de archivos
Envio y descaraga de archivosEnvio y descaraga de archivos
Envio y descaraga de archivos
 
Let's Talk Research Annual Conference - 24th-25th September 2014 (Sue Wood & ...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Sue Wood & ...Let's Talk Research Annual Conference - 24th-25th September 2014 (Sue Wood & ...
Let's Talk Research Annual Conference - 24th-25th September 2014 (Sue Wood & ...
 
Rohit's birthday ppt
Rohit's birthday pptRohit's birthday ppt
Rohit's birthday ppt
 
Prezi
PreziPrezi
Prezi
 
Semana Mercado dos Lavradores
Semana Mercado dos LavradoresSemana Mercado dos Lavradores
Semana Mercado dos Lavradores
 

Similaire à 1eu introduction

Bews command line_en
Bews command line_enBews command line_en
Bews command line_en
Om Pal
 
Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 
Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 
Install nagios
Install nagiosInstall nagios
Install nagios
hassandb
 

Similaire à 1eu introduction (20)

Puppet evolutions
Puppet evolutionsPuppet evolutions
Puppet evolutions
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Command reference nos-v3_5
Command reference nos-v3_5Command reference nos-v3_5
Command reference nos-v3_5
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
 
Provissioning storage
Provissioning storageProvissioning storage
Provissioning storage
 
Getting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated VersionGetting Started With CFEngine - Updated Version
Getting Started With CFEngine - Updated Version
 
Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...
 
Bews command line_en
Bews command line_enBews command line_en
Bews command line_en
 
Kafka and kafka connect
Kafka and kafka connectKafka and kafka connect
Kafka and kafka connect
 
Must Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview QuestionsMust Read HP Data Protector Interview Questions
Must Read HP Data Protector Interview Questions
 
Lost without a trace
Lost without a traceLost without a trace
Lost without a trace
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
Install nagios
Install nagiosInstall nagios
Install nagios
 
Cloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the CloudCloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the Cloud
 
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
When it Absolutely, Positively, Has to be There: Reliability Guarantees in Ka...
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Testing Terraform
Testing TerraformTesting Terraform
Testing Terraform
 
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
 
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜 「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

1eu introduction

  • 1. 1EU Introduction james.wang@quest.com Sep 05, 2011
  • 2. What does 1EU stand for ? • 1EU = Integrated R&D Organization and Architecture for Quest End User
  • 3.
  • 4.
  • 5. Agenda • Team Introduction • Definitions • Logical Components • Concepts
  • 6. 1EU Team • Product Architect - Rob Dickinson • 3 labs • San Diego • Boulder • Zhuhai
  • 7. 1EU is... • The codename for ongoing efforts to boost eCritical, Xaffire, Foglight silos • A next-generation EU product using Foglight and Toad ecosystems as its foundation • An optimization problem : How to deliver powerful EU capabilities with greatest simplicity and ease-of-use ? • New all-in-one appliance platform (Dell R510) • Simultaneous release of sniffer & archiver VMs • Shifting revenue focus to VMs over several years • Setting the stage for continued growth & coping with expected market
  • 8. 1EU is NOT... • Foglight + FxM + FxV as they exist today • Every EU feature ever developed • “Re-invention” of core IP (sniffer, archiver) • A multi-year pure research project (like AJAX) • A product name or customer-facing term • A drop-in replacement for existing FxM and FxV accounts
  • 9. Hmm, but I’m still confused...
  • 10. Hmm, but I’m still confused... • Don’t worry, let’s move on
  • 12. James’ Definition • 1EU is a system that allows you capture specified network traffics (via sniffer), send all the streams to archivers (via relayer) then store them, thus user can search / replay all the streams on Foglight UI.
  • 13. James’ Definition • 1EU is a system that allows you capture specified network traffics (via sniffer), send all the streams to archivers (via relayer) then store them, thus user can search / replay all the streams on Foglight UI. • Above definition only represents personal opinion ( )
  • 15. Let’s code # Initialization def cartridge = Cartridge.new.configure_sniffers .configure_archivers .configure_capture_groups .configure_analyzers .configure_private_keys def capture_group = CaptureGroup.new(cartridge.configurations.capture_groups[0]) def sniffer = Sniffer.new(cartridge.configurations.sniffers[0]).belongs_to(capture_group) def relayer = Relayer.new(cartridge.configurations.relayers[0]).belongs_to(capture_group) def archivers = cartridge.configurations.archivers.collect { |ac| Archiver.new(ac).belongs_to(capture_group) } def archiver_database = ArchiverDatabase.new(cartridge.configurations.archiver_database)
  • 17. Sniffer Thread Thread.new do def raw_packets = sniffer.collect.by(network_tap) def private_key = cartridge.configurations.private_key def streams = sniffer.reassemle(raw_packets) .ssl_decryption_while_necessary .with(private_key) sniffer.send(streams).to(replayer) end
  • 19. Relayer Thread Thread.new do def streams = relayer.accept def archiver = relayer.select(archivers).by_user_session relayer.send(streams).to(archiver) end
  • 21. Archiver Thread Thread.new do def streams = archiver.accept archiver.store(streams).in(archiver_database) end
  • 23. Archiver Database Thread Thread.new do def streams = archiver_database.accept def sharding_policy = ShardingPolicy.new(archiver, max_hits, max_hours) def shard = archiver_database.selec(sharding_policy) def aspects = StreamOrganizer.organize(streams) archiver_database.store(aspects).in(shard) end
  • 25. Stream Types # Stream Types puts Stream.subclasses.join(', ') # Got Metric, Hit, Page, Sequence, Session, WatchPoint
  • 27. Appliance The generic term for an operating system image (and//or underlying hardware) provided by Quest that runs 1EU components. # Run appliance_types.each do |appliance| puts appliance.type appliance.components.each do |component| puts component end end # Results Native Appliance All-in-One appliance Archiver appliance Sniffer appliance Virtual Appliance Foglight VM Archiver VM Sniffer VM
  • 29. Cartridge Configuration cartridge.with_configuration_servlet do
  • 30. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups
  • 31. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon
  • 32. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys
  • 33. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers
  • 34. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces
  • 35. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses
  • 36. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports
  • 37. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets
  • 38. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters
  • 39. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do
  • 40. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers
  • 41. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers configure_page_analyzers
  • 42. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers configure_page_analyzers configure_sequence_analyzers
  • 43. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers configure_page_analyzers configure_sequence_analyzers configure_session_analyzers
  • 44. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers configure_page_analyzers configure_sequence_analyzers configure_session_analyzers end
  • 45. Cartridge Configuration cartridge.with_configuration_servlet do configure_capture_groups configure_appliance_mon configure_sniffers.through(sniffer_mon).with_ssl_keys configure_archivers configure_namespaces configure_monitored_ip_addresses configure_monitored_ports configure_monitored_subnets configure_subnet_filters configure_analyzers do configure_hit_analyzers configure_page_analyzers configure_sequence_analyzers configure_session_analyzers end end
  • 50. End User Definition end_user do is a human use a browser to connect to a web site
  • 51. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer
  • 52. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver
  • 53. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver has one or more sessions
  • 54. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver has one or more sessions sessions.each { |session| session.has_a_unique_identifier }
  • 55. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver has one or more sessions sessions.each { |session| session.has_a_unique_identifier } can be uniquely identified by session_id
  • 56. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver has one or more sessions sessions.each { |session| session.has_a_unique_identifier } can be uniquely identified by session_id end
  • 57. End User Definition end_user do is a human use a browser to connect to a web site whose hits and pages are monitored by a sniffer whose sessions are captured by an archiver has one or more sessions sessions.each { |session| session.has_a_unique_identifier } can be uniquely identified by session_id end
  • 58. Host & End Point
  • 59. Host & End Point host do is a standard foglight defined host def monitored_ip_address = host.monitored_ip_addresses.any def monitored_port = host.monitored_ports.any def protocol = protocols.any def end_point = "#{protocol}://#{monitored_ip_address}:#{monitored_port}" end #End Point Examples http://localhost:8080 soap://localhost:6000 tcp://localhost:6161
  • 64. Cartridge Reporting end_user.connect_to_website.by(browser) do search_hits search_pages search_sequences
  • 65. Cartridge Reporting end_user.connect_to_website.by(browser) do search_hits search_pages search_sequences search_sessions
  • 66. Cartridge Reporting end_user.connect_to_website.by(browser) do search_hits search_pages search_sequences search_sessions watch_metrics
  • 67. Cartridge Reporting end_user.connect_to_website.by(browser) do search_hits search_pages search_sequences search_sessions watch_metrics end
  • 69. Metrics in 1EU # Run metric_types.each do |metric| puts "#{metric.name} - #{metric.description}" end # Results APM metrics - aggregate web server metrics (Bandwidth Usage for Web server A) or aggregate web site metrics (Login Attempts for Web site B) Health metrics - a small set used to monitor the appliance hardware and software.
  • 74. References • Referenced websites http://innovate.prod.quest.corp/display/FGL5/1EU
  • 75. References • Referenced websites http://innovate.prod.quest.corp/display/FGL5/1EU • Referenced materials
  • 76. References • Referenced websites http://innovate.prod.quest.corp/display/FGL5/1EU • Referenced materials 1EU-defined.ppt
  • 77. References • Referenced websites http://innovate.prod.quest.corp/display/FGL5/1EU • Referenced materials 1EU-defined.ppt 1EU Glossary
  • 78. References • Referenced websites http://innovate.prod.quest.corp/display/FGL5/1EU • Referenced materials 1EU-defined.ppt 1EU Glossary 1EU Data Flow Diagrams
  • 79.

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n