SlideShare a Scribd company logo
1 of 29
Health Checking
MIHÁLY ÁRVAI
Introduction
► Mihály Árvai
► Senior Sitecore Developer - Mirum
► ~ 10 years experience in Sitecore
► Hackathon winer 2019
► Twitter
► @Mitya_1988
► Slack
► Mitya88
► Medium
► @mitya_1988
► GitHub
► Mitya88
https://twitter.com/mitya_1988
Agenda
 Health checking
 Why? How?
 Advanced Sitecore Health check
module
 How is it working?
 Features
 Writing your own custom health
check
 Further improvements
https://twitter.com/mitya_1988
Health checking your
Sitecore solution
https://twitter.com/mitya_1988
What is a health check?
 An external application or a built-in endpoint/service
 Checks if an application or component is working
 Can determine an actual or upcoming issue
 Can notify the IT or Devs about the issue
 Helps in the investigation
 Tests your application
https://twitter.com/mitya_1988
Component states
Healthy Warning Error
https://twitter.com/mitya_1988
Importance of health checking
 avoid or minimize service/application downtimes
 Renew certificate/licence in time
 Faster resolution for an issue
 Losing time with log files investigation
 Catch random or periodic issues
 Something happens around the reguler application recycle time
 Test the latest deployment
https://twitter.com/mitya_1988
Advanced Sitecore Healthcheck
module
https://github.com/Mitya88/SitecoreHealthcheck
Contributors
- Andrei Ardel – Sitecore Developer – Mirum
- Attila Horváth – Lead Sitecore Developer - Mirum
https://twitter.com/mitya_1988
https://twitter.com/mitya_1988
https://twitter.com/mitya_1988
https://twitter.com/mitya_1988
 The Sitecore structure of the module
 The Sitecore structure of the module
 The Sitecore structure of the module
Component Templates
Data
• Name
• Status
• Last Check Time
• Error Messages
• Healthy Message
Configuration
• Different fields based on the
component
https://twitter.com/mitya_1988
Supported types of component checks
 MSSQL Databases
 Not for only Sitecore related databases, for external databases
 MongoDB is added as a Custom Check
 APIs
 GET/POST
 Request Body
 Response Code and Body Verification
 Supports Authentication (JWT, Basic, Certificate)
https://twitter.com/mitya_1988
Supported types of component checks
 Windows Services
 Check state of the windows service (Solr or XDB related services)
 WebJobs
 Check state of the WebJob (XDB related or custom webjobs)
https://twitter.com/mitya_1988
Supported types of component checks
 Application Insights
 Checks and reads errors/warnings from the configured ApplicationInsight ina given time
period
 Log Files
 Checks and reads errors/warnings from the Sitecore log files in a given period
https://twitter.com/mitya_1988
Supported types of component checks
 XConnectAPI Check
 Calls XConnect APIs with client certificate
 Keep Alive Check
 Calls the keepalive.aspx
 Uses WebUtil.GetFullUrl
https://twitter.com/mitya_1988
Supported types of component checks
 EventQueue, PublishQueue, History table record count check
 Checks the number of records in these tables in every database
 Item Check
 Check if the given item exists in the configured db/language
https://twitter.com/mitya_1988
Supported types of component checks
 Licence Check
 Checks when the licence will expire
 Certificate Check
 Checks when the configured certificate will expire
https://twitter.com/mitya_1988
Supported types of component checks
 Search Check
 Checks if index contains the configured number of documents
 Query can be defined
 Custom Check
 Implement your own check
 Samples included
https://twitter.com/mitya_1988
Implementing custom check
 Reference the Healthcheck.Service.Customization binary
 (It will be published on nuget.org soon)
 Create a class, derive it from CustomHealthcheckRun
 Override DoHealthcheck method
 Create Custom Healthcheck item in Sitecore and configure the fields
https://twitter.com/mitya_1988
Implementing custom check
https://twitter.com/mitya_1988
Implementing custom check
https://twitter.com/mitya_1988
DEMO
 Azure PaaS XP Step by Step setup: https://www.youtube.com/watch?v=J_qk7jT_Y-
U
https://twitter.com/mitya_1988
Further improvements
 Disk space check
 More support on XConnect and on on-premise installation.
 Check Reporting Processing
 Page Speed Tests
https://twitter.com/mitya_1988

More Related Content

What's hot

What's hot (7)

Web Application Penetration Test
Web Application Penetration TestWeb Application Penetration Test
Web Application Penetration Test
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solution
 
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
8 Patterns For Continuous Code Security by Veracode CTO Chris Wysopal
 
Web application testing
Web application testing Web application testing
Web application testing
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?
 
IBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionIBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solution
 
IBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionIBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solution
 

Similar to SUGHungary - Sitecore Healthchecking Árvai Mihály

AnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior CreativelyAnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior Creatively
Kiana Tennyson
 
Software Testing basics
Software Testing basicsSoftware Testing basics
Software Testing basics
Olia Khlystun
 
Documentation
DocumentationDocumentation
Documentation
Kalyan A
 
Yii Framework Security
Yii Framework SecurityYii Framework Security
Yii Framework Security
Ilko Kacharov
 

Similar to SUGHungary - Sitecore Healthchecking Árvai Mihály (20)

AnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior CreativelyAnDevCon - Tracking User Behavior Creatively
AnDevCon - Tracking User Behavior Creatively
 
Agilent Technologies Demo
Agilent Technologies DemoAgilent Technologies Demo
Agilent Technologies Demo
 
Observe It Presentation
Observe It PresentationObserve It Presentation
Observe It Presentation
 
Software Testing basics
Software Testing basicsSoftware Testing basics
Software Testing basics
 
04 test controlling and tracking
04   test controlling and tracking04   test controlling and tracking
04 test controlling and tracking
 
Documentation
DocumentationDocumentation
Documentation
 
The Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistThe Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing Checklist
 
Case Study For Data Governance Portal
Case Study For Data Governance PortalCase Study For Data Governance Portal
Case Study For Data Governance Portal
 
Technical Requirements of the UK Access Management Federation
Technical Requirements of the UK Access Management FederationTechnical Requirements of the UK Access Management Federation
Technical Requirements of the UK Access Management Federation
 
Middleware monitoring with Applications Manager
Middleware monitoring with Applications ManagerMiddleware monitoring with Applications Manager
Middleware monitoring with Applications Manager
 
Find Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource WebinarFind Out What's New With WhiteSource September 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource September 2018- A WhiteSource Webinar
 
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.ioMuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
 
Securing API data models
Securing API data modelsSecuring API data models
Securing API data models
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
 
Building enterprise web applications with spring 3
Building enterprise web applications with spring 3Building enterprise web applications with spring 3
Building enterprise web applications with spring 3
 
Less18 Patching oracle dba 11g
Less18 Patching oracle dba 11gLess18 Patching oracle dba 11g
Less18 Patching oracle dba 11g
 
GraphQL Basics
GraphQL BasicsGraphQL Basics
GraphQL Basics
 
Yii Framework Security
Yii Framework SecurityYii Framework Security
Yii Framework Security
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

SUGHungary - Sitecore Healthchecking Árvai Mihály

  • 2. Introduction ► Mihály Árvai ► Senior Sitecore Developer - Mirum ► ~ 10 years experience in Sitecore ► Hackathon winer 2019 ► Twitter ► @Mitya_1988 ► Slack ► Mitya88 ► Medium ► @mitya_1988 ► GitHub ► Mitya88 https://twitter.com/mitya_1988
  • 3. Agenda  Health checking  Why? How?  Advanced Sitecore Health check module  How is it working?  Features  Writing your own custom health check  Further improvements https://twitter.com/mitya_1988
  • 4. Health checking your Sitecore solution https://twitter.com/mitya_1988
  • 5. What is a health check?  An external application or a built-in endpoint/service  Checks if an application or component is working  Can determine an actual or upcoming issue  Can notify the IT or Devs about the issue  Helps in the investigation  Tests your application https://twitter.com/mitya_1988
  • 6. Component states Healthy Warning Error https://twitter.com/mitya_1988
  • 7. Importance of health checking  avoid or minimize service/application downtimes  Renew certificate/licence in time  Faster resolution for an issue  Losing time with log files investigation  Catch random or periodic issues  Something happens around the reguler application recycle time  Test the latest deployment https://twitter.com/mitya_1988
  • 8. Advanced Sitecore Healthcheck module https://github.com/Mitya88/SitecoreHealthcheck Contributors - Andrei Ardel – Sitecore Developer – Mirum - Attila Horváth – Lead Sitecore Developer - Mirum https://twitter.com/mitya_1988
  • 12.  The Sitecore structure of the module
  • 13.  The Sitecore structure of the module
  • 14.  The Sitecore structure of the module
  • 15. Component Templates Data • Name • Status • Last Check Time • Error Messages • Healthy Message Configuration • Different fields based on the component https://twitter.com/mitya_1988
  • 16. Supported types of component checks  MSSQL Databases  Not for only Sitecore related databases, for external databases  MongoDB is added as a Custom Check  APIs  GET/POST  Request Body  Response Code and Body Verification  Supports Authentication (JWT, Basic, Certificate) https://twitter.com/mitya_1988
  • 17. Supported types of component checks  Windows Services  Check state of the windows service (Solr or XDB related services)  WebJobs  Check state of the WebJob (XDB related or custom webjobs) https://twitter.com/mitya_1988
  • 18. Supported types of component checks  Application Insights  Checks and reads errors/warnings from the configured ApplicationInsight ina given time period  Log Files  Checks and reads errors/warnings from the Sitecore log files in a given period https://twitter.com/mitya_1988
  • 19. Supported types of component checks  XConnectAPI Check  Calls XConnect APIs with client certificate  Keep Alive Check  Calls the keepalive.aspx  Uses WebUtil.GetFullUrl https://twitter.com/mitya_1988
  • 20. Supported types of component checks  EventQueue, PublishQueue, History table record count check  Checks the number of records in these tables in every database  Item Check  Check if the given item exists in the configured db/language https://twitter.com/mitya_1988
  • 21. Supported types of component checks  Licence Check  Checks when the licence will expire  Certificate Check  Checks when the configured certificate will expire https://twitter.com/mitya_1988
  • 22. Supported types of component checks  Search Check  Checks if index contains the configured number of documents  Query can be defined  Custom Check  Implement your own check  Samples included https://twitter.com/mitya_1988
  • 23. Implementing custom check  Reference the Healthcheck.Service.Customization binary  (It will be published on nuget.org soon)  Create a class, derive it from CustomHealthcheckRun  Override DoHealthcheck method  Create Custom Healthcheck item in Sitecore and configure the fields https://twitter.com/mitya_1988
  • 26.
  • 27.
  • 28. DEMO  Azure PaaS XP Step by Step setup: https://www.youtube.com/watch?v=J_qk7jT_Y- U https://twitter.com/mitya_1988
  • 29. Further improvements  Disk space check  More support on XConnect and on on-premise installation.  Check Reporting Processing  Page Speed Tests https://twitter.com/mitya_1988