A simple yet powerful and secure monitoring daemon for Windows operating systems, this is what a NSClient++ aims to be. It is built for Nagios, but nothing in the daemon is actually Nagios specific and with little or no change NSClient++ could be also integrated into any monitoring software that supports running user tools for polling. In this presentation we are going to look at the new features of NSClient++ 0.3.x. But perhaps more importantly looking at what’s coming in the 0.4.x version!
This document discusses performance testing using JMeter. It provides an overview of different types of performance tests like load testing, stress testing, spike testing etc. and how they are used to identify bottlenecks. It then describes how to install and configure JMeter for performance testing. Steps are provided to add thread groups, samplers, listeners and other components. Techniques like correlation, remote testing are also summarized. The goal is to help understand how to effectively use JMeter for load and performance testing of web applications.
Unit Testing: The Whys, Whens and Hows discusses unit testing definitions, benefits, and best practices. It covers:
- Defining what constitutes a unit test and different testing styles. Unit tests should be written by developers, run fast, be deterministic, and not integrate multiple areas of code.
- Benefits of unit testing include better code quality, a safety net for refactoring, documentation of functionality, and preventing code from becoming untestable.
- Characteristics of good unit tests like being functionally correct, running independently, running fast, and adding new tests for bugs fixed. Good code is more unit testable through interfaces, contracts, and low dependencies.
The document provides an overview of performance testing and the JMeter load testing tool. It defines performance testing as testing to determine how a system performs under workload. The main types of performance testing are described as load/capacity testing, stress testing, volume testing, endurance/soak testing, and spike testing. Load testing is the simplest form and aims to understand system behavior under expected load. Bottlenecks can be identified through load testing. Stress testing finds a system's capacity limit. Volume testing checks efficiency processing large data amounts. Endurance testing checks withstanding load over long periods. Spike testing observes behavior under sudden load increases. JMeter is introduced as an open source load testing tool that can test various system types and has user
Functional and scale performance tests using zopkio Marcelo Araujo
The document discusses functional and performance testing using the Zopkio test framework. It provides an overview of Zopkio and its components, including test suites, configuration files, deployment files and plotting graphs. It also describes setting up a test lab environment with multiple VMs to test applications and infrastructure using Zopkio.
This document summarizes the current infrastructure and ongoing work for LAVA & CI components at Linaro. It describes the source code management, continuous integration, testing, publishing, and other tools used. It also outlines plans to improve integration between components, enhance user experiences, and migrate to more scalable solutions.
The document discusses some of the challenges of developing and deploying web services at scale, including:
- Meeting service level agreements for high availability and performance.
- Choosing appropriate technologies and architectures that can scale to support large volumes of traffic and data.
- Ensuring services are robust, reliable and secure through practices like rigorous testing, monitoring, and automated deployment.
- Fostering collaboration between development and operations teams to address deployment issues as they arise.
Monit is a utility for monitoring and managing daemons and processes on Unix systems. It can start programs if not running, restart unresponsive programs, monitor programs at intervals, manage groups of programs and their dependencies, log to syslog or files, check TCP/IP ports and sockets, and alert or restart processes based on CPU, memory, load, or other conditions. It is configured via a control file called monitrc that defines checks for system services and processes and actions to perform if tests fail. Monit's web interface allows remote monitoring and control via a browser.
Oracle real application clusters system tests with demoAjith Narayanan
This document provides details on testing Oracle Real Application Clusters functionality through a series of tests. It begins with an introduction and agenda, then describes 10 tests to validate high availability features including planned and unplanned node/instance failures, network failures, and service failover. Expected results and measures of success are outlined for each test. Sample scripts are also provided.
This document discusses performance testing using JMeter. It provides an overview of different types of performance tests like load testing, stress testing, spike testing etc. and how they are used to identify bottlenecks. It then describes how to install and configure JMeter for performance testing. Steps are provided to add thread groups, samplers, listeners and other components. Techniques like correlation, remote testing are also summarized. The goal is to help understand how to effectively use JMeter for load and performance testing of web applications.
Unit Testing: The Whys, Whens and Hows discusses unit testing definitions, benefits, and best practices. It covers:
- Defining what constitutes a unit test and different testing styles. Unit tests should be written by developers, run fast, be deterministic, and not integrate multiple areas of code.
- Benefits of unit testing include better code quality, a safety net for refactoring, documentation of functionality, and preventing code from becoming untestable.
- Characteristics of good unit tests like being functionally correct, running independently, running fast, and adding new tests for bugs fixed. Good code is more unit testable through interfaces, contracts, and low dependencies.
The document provides an overview of performance testing and the JMeter load testing tool. It defines performance testing as testing to determine how a system performs under workload. The main types of performance testing are described as load/capacity testing, stress testing, volume testing, endurance/soak testing, and spike testing. Load testing is the simplest form and aims to understand system behavior under expected load. Bottlenecks can be identified through load testing. Stress testing finds a system's capacity limit. Volume testing checks efficiency processing large data amounts. Endurance testing checks withstanding load over long periods. Spike testing observes behavior under sudden load increases. JMeter is introduced as an open source load testing tool that can test various system types and has user
Functional and scale performance tests using zopkio Marcelo Araujo
The document discusses functional and performance testing using the Zopkio test framework. It provides an overview of Zopkio and its components, including test suites, configuration files, deployment files and plotting graphs. It also describes setting up a test lab environment with multiple VMs to test applications and infrastructure using Zopkio.
This document summarizes the current infrastructure and ongoing work for LAVA & CI components at Linaro. It describes the source code management, continuous integration, testing, publishing, and other tools used. It also outlines plans to improve integration between components, enhance user experiences, and migrate to more scalable solutions.
The document discusses some of the challenges of developing and deploying web services at scale, including:
- Meeting service level agreements for high availability and performance.
- Choosing appropriate technologies and architectures that can scale to support large volumes of traffic and data.
- Ensuring services are robust, reliable and secure through practices like rigorous testing, monitoring, and automated deployment.
- Fostering collaboration between development and operations teams to address deployment issues as they arise.
Monit is a utility for monitoring and managing daemons and processes on Unix systems. It can start programs if not running, restart unresponsive programs, monitor programs at intervals, manage groups of programs and their dependencies, log to syslog or files, check TCP/IP ports and sockets, and alert or restart processes based on CPU, memory, load, or other conditions. It is configured via a control file called monitrc that defines checks for system services and processes and actions to perform if tests fail. Monit's web interface allows remote monitoring and control via a browser.
Oracle real application clusters system tests with demoAjith Narayanan
This document provides details on testing Oracle Real Application Clusters functionality through a series of tests. It begins with an introduction and agenda, then describes 10 tests to validate high availability features including planned and unplanned node/instance failures, network failures, and service failover. Expected results and measures of success are outlined for each test. Sample scripts are also provided.
Quality assurance and testing are very important in a life cycle of any application. Although, by far not all developers understand the significance of tests.
In this presentation, we cover the basic testing practices for developers. The following tools are discussed: JUnit, Mockito, Hamcrest, JsTestDriver, DBUnit, Arquillian, SoapUI, Selenium.
Test Driven Development (TDD) is a software development practice that involves writing a failing test first, then code to pass that test, and refactoring the code. Behavior Driven Development (BDD) builds on TDD and describes how the end user will interact with the software using scenarios and steps. BDD tools like Cucumber use regular expressions to match steps in scenarios to code.
This document discusses asynchronous processing in Spring, including:
1. The concept of thread pools for managing asynchronous task execution and avoiding overhead of creating new threads.
2. Configuring asynchronous support in Servlet 3 and Spring MVC, including setting thread pool properties and handling exceptions.
3. Annotation-based approaches for executing methods asynchronously (@Async) and scheduling periodic tasks (@Scheduled) using Spring's TaskExecutor abstraction.
4. Asynchronous request processing in Servlet 3 where the request processing is decoupled from the servlet container thread to improve scalability.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed faster than batches by pre-compiling the code.
- They centralize business logic and error handling routines for consistent implementation across users.
- Parameters can be passed into stored procedures to make them more flexible. Output parameters allow returning values.
- Best practices include adding comments, error handling, and using transactions for consistency across nested stored procedures.
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...Red Hat Developers
The fifth major release of Hibernate sports contains many internal changes developed in collaboration between the Hibernate team and the Red Hat middleware performance team. Efficient access to databases is crucial to get scalable and responsive applications. Hibernate 5 received much attention in this area. You’ll benefit from many of these improvements by merely upgrading. But it's important to understand some of these new, performance-boosting features because you will need to explicitly enable them. We'll explain the development background on all of these powerful new features and the investigation process for performance improvements. Our aim is to provide good guidance so you can make the most of it on your own applications. We'll also peek at other performance improvements made on JBoss EAP 7, like on the caching layer, the connection manager, and the web tier. We want to make sure you can all enjoy better-performing applications—that require less power and less servers—without compromising on your developer’s productivity.
Unit testing patterns for concurrent codeDror Helper
Getting started with unit testing is not hard, the only problem is that most programs are more than a simple calculator with two parameters and a returns value that is easy to verify.
Writing unit tests for multi-threaded code is harder still.
Over the years I discovered useful patterns that helped me to test multi-threaded and asynchronous code and enabled the creation of deterministic, simple and robust unit tests.
Come learn how to test code that uses concurrency and parallelism – so that the excuses of not writing unit tests for such code would become as obsolete as a single core processors.
Automated hardware testing system using Python. The system includes an embedded test hardware module that can measure voltage, current, resistance and test protocols. Python scripts control the hardware, run test cases, collect results and generate reports. This provides a low-cost automated solution compared to expensive automated test equipment. Test reports show pass/fail results and help locate hardware and software issues.
Apache JMeter is an open-source performance testing tool used to test the performance of web applications. It works by acting like a group of users sending requests to a target server and collecting response times and other statistics. JMeter is useful for performance testing because it is free to use, supports multiple protocols, has a user-friendly GUI, and can generate detailed reports on test results. To perform a test, users create a test plan with thread groups to simulate users, HTTP requests to send to the server, and listeners to monitor responses and performance.
Quickly Testing Legacy C++ Code with Approval TestsClare Macrae
Presented at CppCon 2019 on 16th September 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, she will describe some general techniques she learned along the way.
Attendees will discover some quick, practical techniques to use for common challenges, such as testing outputs containing dates and times, that can be applied very easily using Approval Tests.
TDD involves an iterative process of designing, testing, and implementing code. It begins with writing a test that fails, then implementing the minimum code to pass the test, and refactoring as needed. The document provides an example of using TDD to develop an "add" function in Perl, including writing tests using the Test::More library that validate different cases like number of arguments and argument types. It also briefly discusses testing libraries for other languages like Javascript's QUnit.
This document provides a basic introduction to load and stress testing with Apache JMeter. It explains the objectives of performance, load, and stress testing. It then guides the user through downloading and installing JMeter, creating a simple test plan with a thread group and HTTP request sampler, adding a listener to view results, running the test, and interpreting basic results from the summary report. While this only scratches the surface of JMeter's capabilities, it is intended to demonstrate the basic functionality and get users started with creating and running their first simple test plan.
ServiceNow Knowledge11 Advanced Scripting & Debugging LabJohn Roberts
In this advanced hands-on workshop you will work with a variety of debugging tools to troubleshoot client and server scripting. You'll learn how to add error handling and debugging assistance to your scripts. We will review some advanced scripting techniques including server-side script includes extending base classes and AJAX client requests. As we will not be covering basic scripting concepts in this session participants will require some understanding of JavaScript and scripting within ServiceNow.
This document discusses using Celery and RabbitMQ to implement asynchronous task queues. It provides an overview of Celery and RabbitMQ, how to set them up, configure tasks, schedule and retry tasks, and examples of using task queues for importing large files and sending complex emails. The key benefits highlighted are decoupling tasks from the main system, scalability, and ability to distribute tasks across multiple workers.
Как надо правильно строить автоматизацию тестирования с нуля, что нужно применять, а то не нужно применять при проектировании архитектуры. Какие виды фреймворков бывают, что с ними надо делать. Все и много другое вы сможете найти в этой презентации
StresStimulus is a load testing tool which provides a simple way to test websites of any complexity, mobile apps and enterprise applications. This is the Getting Started Guide for StresStimulus.
How to test-drive your Qt QML code. Overview on how you do simple testing, UI level testing, synchronous testing, data-driven testing.
These are the slides used in the Helsinki MeeGo meetup in 2012.
JMeter is an open source tool used for load and performance testing. It allows users to test the responsiveness, throughput, reliability, and scalability of systems under different workloads. JMeter can test web applications, databases, SOAP services and more. It has a GUI for building test plans with thread groups, samplers, listeners and other elements. Tests can be recorded and parameterized. JMeter also supports distributed testing across multiple systems to simulate high loads.
This document provides an overview of Cassandra, including:
- Why Cassandra is used for big data applications handling large volumes of data.
- How Cassandra's distributed architecture provides high availability and horizontal scalability.
- Details of Cassandra's write path, including how writes are replicated across nodes and how consistency is ensured.
- Examples of modeling data in Cassandra, including choices for primary keys, clustering columns, and other techniques.
- Common use cases where Cassandra is applicable, such as sensor data, fraud detection, and personalization engines.
Oaktable World 2014 Toon Koppelaars: database constraints polite excuseKyle Hailey
The document discusses validation execution models for SQL assertions. It proposes moving from less efficient models that evaluate all assertions for every change (EM1) to more efficient models. Later models (EM3-EM5) evaluate only assertions involving changed tables, columns or literals based on parsing the assertion and change being made. The most efficient model (EM5) evaluates assertions only when the change transition effect potentially impacts the assertion. Overall the document argues SQL assertions could improve data quality if DBMS vendors supported more optimized evaluation models.
Celery is a really good framework for doing background task processing in Python (and other languages). While it is ridiculously easy to use celery, doing complex task flow has been a challenge in celery. (w.r.t task trees/graphs/dependecies etc.)
This talk introduces the audience to these challenges in celery and also explains how these can be fixed programmatically and by using latest features in Celery (3+)
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Codemotion
Once you start working with Big Data systems, you discover a whole bunch of problems you won’t find in monolithic systems. Monitoring all of the components becomes a big data problem itself. In the talk, we’ll mention all of the aspects that you should take into consideration when monitoring a distributed system using tools like Web Services, Spark, Cassandra, MongoDB, AWS. Not only the tools, what should you monitor about the actual data that flows in the system? We’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Demi Ben-Ari
Once you start working with distributed Big Data systems, you start discovering a whole bunch of problems you won’t find in monolithic systems.
All of a sudden to monitor all of the components becomes a big data problem itself.
In the talk we’ll mention all of the aspects that you should take in consideration when monitoring a distributed system once you’re using tools like:
Web Services, Apache Spark, Cassandra, MongoDB, Amazon Web Services.
Not only the tools, what should you monitor about the actual data that flows in the system?
And we’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Quality assurance and testing are very important in a life cycle of any application. Although, by far not all developers understand the significance of tests.
In this presentation, we cover the basic testing practices for developers. The following tools are discussed: JUnit, Mockito, Hamcrest, JsTestDriver, DBUnit, Arquillian, SoapUI, Selenium.
Test Driven Development (TDD) is a software development practice that involves writing a failing test first, then code to pass that test, and refactoring the code. Behavior Driven Development (BDD) builds on TDD and describes how the end user will interact with the software using scenarios and steps. BDD tools like Cucumber use regular expressions to match steps in scenarios to code.
This document discusses asynchronous processing in Spring, including:
1. The concept of thread pools for managing asynchronous task execution and avoiding overhead of creating new threads.
2. Configuring asynchronous support in Servlet 3 and Spring MVC, including setting thread pool properties and handling exceptions.
3. Annotation-based approaches for executing methods asynchronously (@Async) and scheduling periodic tasks (@Scheduled) using Spring's TaskExecutor abstraction.
4. Asynchronous request processing in Servlet 3 where the request processing is decoupled from the servlet container thread to improve scalability.
The document provides an introduction to stored procedures in SQL. Key points include:
- Stored procedures allow code to be executed faster than batches by pre-compiling the code.
- They centralize business logic and error handling routines for consistent implementation across users.
- Parameters can be passed into stored procedures to make them more flexible. Output parameters allow returning values.
- Best practices include adding comments, error handling, and using transactions for consistency across nested stored procedures.
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...Red Hat Developers
The fifth major release of Hibernate sports contains many internal changes developed in collaboration between the Hibernate team and the Red Hat middleware performance team. Efficient access to databases is crucial to get scalable and responsive applications. Hibernate 5 received much attention in this area. You’ll benefit from many of these improvements by merely upgrading. But it's important to understand some of these new, performance-boosting features because you will need to explicitly enable them. We'll explain the development background on all of these powerful new features and the investigation process for performance improvements. Our aim is to provide good guidance so you can make the most of it on your own applications. We'll also peek at other performance improvements made on JBoss EAP 7, like on the caching layer, the connection manager, and the web tier. We want to make sure you can all enjoy better-performing applications—that require less power and less servers—without compromising on your developer’s productivity.
Unit testing patterns for concurrent codeDror Helper
Getting started with unit testing is not hard, the only problem is that most programs are more than a simple calculator with two parameters and a returns value that is easy to verify.
Writing unit tests for multi-threaded code is harder still.
Over the years I discovered useful patterns that helped me to test multi-threaded and asynchronous code and enabled the creation of deterministic, simple and robust unit tests.
Come learn how to test code that uses concurrency and parallelism – so that the excuses of not writing unit tests for such code would become as obsolete as a single core processors.
Automated hardware testing system using Python. The system includes an embedded test hardware module that can measure voltage, current, resistance and test protocols. Python scripts control the hardware, run test cases, collect results and generate reports. This provides a low-cost automated solution compared to expensive automated test equipment. Test reports show pass/fail results and help locate hardware and software issues.
Apache JMeter is an open-source performance testing tool used to test the performance of web applications. It works by acting like a group of users sending requests to a target server and collecting response times and other statistics. JMeter is useful for performance testing because it is free to use, supports multiple protocols, has a user-friendly GUI, and can generate detailed reports on test results. To perform a test, users create a test plan with thread groups to simulate users, HTTP requests to send to the server, and listeners to monitor responses and performance.
Quickly Testing Legacy C++ Code with Approval TestsClare Macrae
Presented at CppCon 2019 on 16th September 2019.
You've inherited some legacy code: it's valuable, but it doesn't have tests, and it wasn't designed to be testable, so you need to start refactoring. But you can't refactor safely until the code has tests, and you can't add tests without refactoring! How can you ever break out of this loop?
Whether Legacy code for you means "old code", "code without tests", or "code you wish to redesign for new features or unit-tests", this talk will enable you to become productive and work safely, quickly.
The simplicity, convenience, ease-of-use, power and flexibility of Llewellyn Falco's "Approval Tests" approach has long been proven in a dozen programming languages. And now all this is now available to C++ developers too!
Clare will present a small but surprisingly effective C++11 library for applying "Approval Tests" to cross-platform C++ code - for both legacy and green-field systems, and with a range of testing frameworks.
She will describe its use in some real-world situations, including how to quickly lock down the behaviour of legacy code. She will show how to quickly achieve good test coverage, even for very large sets of inputs. Finally, she will describe some general techniques she learned along the way.
Attendees will discover some quick, practical techniques to use for common challenges, such as testing outputs containing dates and times, that can be applied very easily using Approval Tests.
TDD involves an iterative process of designing, testing, and implementing code. It begins with writing a test that fails, then implementing the minimum code to pass the test, and refactoring as needed. The document provides an example of using TDD to develop an "add" function in Perl, including writing tests using the Test::More library that validate different cases like number of arguments and argument types. It also briefly discusses testing libraries for other languages like Javascript's QUnit.
This document provides a basic introduction to load and stress testing with Apache JMeter. It explains the objectives of performance, load, and stress testing. It then guides the user through downloading and installing JMeter, creating a simple test plan with a thread group and HTTP request sampler, adding a listener to view results, running the test, and interpreting basic results from the summary report. While this only scratches the surface of JMeter's capabilities, it is intended to demonstrate the basic functionality and get users started with creating and running their first simple test plan.
ServiceNow Knowledge11 Advanced Scripting & Debugging LabJohn Roberts
In this advanced hands-on workshop you will work with a variety of debugging tools to troubleshoot client and server scripting. You'll learn how to add error handling and debugging assistance to your scripts. We will review some advanced scripting techniques including server-side script includes extending base classes and AJAX client requests. As we will not be covering basic scripting concepts in this session participants will require some understanding of JavaScript and scripting within ServiceNow.
This document discusses using Celery and RabbitMQ to implement asynchronous task queues. It provides an overview of Celery and RabbitMQ, how to set them up, configure tasks, schedule and retry tasks, and examples of using task queues for importing large files and sending complex emails. The key benefits highlighted are decoupling tasks from the main system, scalability, and ability to distribute tasks across multiple workers.
Как надо правильно строить автоматизацию тестирования с нуля, что нужно применять, а то не нужно применять при проектировании архитектуры. Какие виды фреймворков бывают, что с ними надо делать. Все и много другое вы сможете найти в этой презентации
StresStimulus is a load testing tool which provides a simple way to test websites of any complexity, mobile apps and enterprise applications. This is the Getting Started Guide for StresStimulus.
How to test-drive your Qt QML code. Overview on how you do simple testing, UI level testing, synchronous testing, data-driven testing.
These are the slides used in the Helsinki MeeGo meetup in 2012.
JMeter is an open source tool used for load and performance testing. It allows users to test the responsiveness, throughput, reliability, and scalability of systems under different workloads. JMeter can test web applications, databases, SOAP services and more. It has a GUI for building test plans with thread groups, samplers, listeners and other elements. Tests can be recorded and parameterized. JMeter also supports distributed testing across multiple systems to simulate high loads.
This document provides an overview of Cassandra, including:
- Why Cassandra is used for big data applications handling large volumes of data.
- How Cassandra's distributed architecture provides high availability and horizontal scalability.
- Details of Cassandra's write path, including how writes are replicated across nodes and how consistency is ensured.
- Examples of modeling data in Cassandra, including choices for primary keys, clustering columns, and other techniques.
- Common use cases where Cassandra is applicable, such as sensor data, fraud detection, and personalization engines.
Oaktable World 2014 Toon Koppelaars: database constraints polite excuseKyle Hailey
The document discusses validation execution models for SQL assertions. It proposes moving from less efficient models that evaluate all assertions for every change (EM1) to more efficient models. Later models (EM3-EM5) evaluate only assertions involving changed tables, columns or literals based on parsing the assertion and change being made. The most efficient model (EM5) evaluates assertions only when the change transition effect potentially impacts the assertion. Overall the document argues SQL assertions could improve data quality if DBMS vendors supported more optimized evaluation models.
Celery is a really good framework for doing background task processing in Python (and other languages). While it is ridiculously easy to use celery, doing complex task flow has been a challenge in celery. (w.r.t task trees/graphs/dependecies etc.)
This talk introduces the audience to these challenges in celery and also explains how these can be fixed programmatically and by using latest features in Celery (3+)
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Codemotion
Once you start working with Big Data systems, you discover a whole bunch of problems you won’t find in monolithic systems. Monitoring all of the components becomes a big data problem itself. In the talk, we’ll mention all of the aspects that you should take into consideration when monitoring a distributed system using tools like Web Services, Spark, Cassandra, MongoDB, AWS. Not only the tools, what should you monitor about the actual data that flows in the system? We’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Demi Ben-Ari
Once you start working with distributed Big Data systems, you start discovering a whole bunch of problems you won’t find in monolithic systems.
All of a sudden to monitor all of the components becomes a big data problem itself.
In the talk we’ll mention all of the aspects that you should take in consideration when monitoring a distributed system once you’re using tools like:
Web Services, Apache Spark, Cassandra, MongoDB, Amazon Web Services.
Not only the tools, what should you monitor about the actual data that flows in the system?
And we’ll cover the simplest solution with your day to day open source tools, the surprising thing, that it comes not from an Ops Guy.
Devops with Python by Yaniv Cohen DevopShiftYaniv cohen
This document discusses implementing DevOps with Python using Ansible. It provides an agenda for the presentation including discussing DevOps hotspots, infrastructure as code with Ansible, continuous integration/continuous delivery (CI/CD) using TravisCI and CircleCI, and an open discussion on monitoring and automated tests. It then covers problems commonly faced, how DevOps solves these problems, and the expected benefits of adopting a DevOps culture including standardized environments, infrastructure as code, automated delivery, monitoring, and improved collaboration. It provides an overview of Ansible concepts like inventories, ad-hoc commands, modules, playbooks, roles, and templates. It also demonstrates writing a custom Python module for Ansible and using it in a playbook. Finally, it
Thinking DevOps in the era of the Cloud - Demi Ben-AriDemi Ben-Ari
The lines between Development and Operations people have gotten blurry and lots of skills needs to be held by both sides.
In the talk we'll talk about all of the considerations that are needed to be taken when creating a development and production environment, mentioning Continuous Integration, Continuous Deployment and the Buzzword "DevOps", also talking about some real implementations in the industry.
Of course how can we leave out the real enabler of the whole deal,
"The Cloud", Giving us a tool set that makes life much easier when implementing all of these practices.
Monitoring Kubernetes with Prometheus (Kubernetes Ireland, 2016)Brian Brazil
Prometheus is a next-generation monitoring system. Since being publicly announced last year it has seen wide-spread interest and adoption. This talk will look at the concepts behind monitoring with Prometheus, and how to use it with Kubernetes which has direct support for Prometheus.
In the French FedEx company we used Prometheus to monitor the infrastructure. It hosts a CQRS Architecture composed with Kafka, Spark, Cassandra, ElasticSearch, and microservices APIs in scala.
This presentation is about using Prometheus in production, you will see why we choosed Prometheus, how we integrated it, configured it and what kind of insights we extracted from the whole infrastructure.
In addition, you will see how Prometheus changed our way of working, how we implemented self-healing based on Prometheus, how we configured systemd to trigger AlertManager API, integration with slack and other cool stuffs.
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...Nagios
Nathan Vonnahme's presentation on integrating Nagios with test driven development. The presentation was given during the Nagios World Conference North America held Sept 27-29th, 2011 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/nwcna
This document summarizes an upcoming tour by Kevin Schroeder of Zend Technologies to discuss various topics including:
- An introduction to Kevin and what he does at Zend
- An overview of Zend products like Zend Framework and Zend Server
- A discussion of performance, scalability, and queuing in PHP applications
- A demonstration of using the Zend Server job queue to asynchronously process tasks
- Considerations for deploying PHP applications in different environments like development, testing, staging, and production
Nagios Conference 2011 - Nate Broderick - Nagios XI Large Implementation Tips...Nagios
Nate Broderick's presentation on Nagios XI large implementation tips and tricks. The presentation was given during the Nagios World Conference North America held Sept 27-29th, 2011 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/nwcna
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Jim Czuprynski
Autonomous Transaction Processing (ATP) - the second in the family of Oracle’s Autonomous Databases – offers Oracle DBAs the ability to apply a force multiplier for their OLTP database application workloads. However, it’s important to understand both the benefits and limitations of ATP before migrating any workloads to that environment. I'll offer a quick but deep dive into how best to take advantage of ATP - including how to load data quickly into the underlying database – and some ideas on how ATP will impact the role of Oracle DBA in the immediate future. (Hint: Think automatic transmission instead of stick-shift.)
The document discusses SQL Server monitoring and troubleshooting. It provides an overview of SQL Server monitoring, including why it is important and common monitoring tools. It also describes the SQL Server threading model, including threads, schedulers, states, the waiter list, and runnable queue. Methods for using wait statistics like the DMVs sys.dm_os_waiting_tasks and sys.dm_os_wait_stats are presented. Extended Events are introduced as an alternative to SQL Trace. The importance of establishing a performance baseline is also noted.
Shinken is a full rewrite of Nagios in Python that aims to solve issues with scaling, high availability, and simplifying administration for modern IT infrastructures. Key features include built-in high availability, multi-level load balancing, support for multiple platforms, faster performance, and advanced business rules. The Shinken web interface focuses on aggregating related elements and showing dependencies to help both technical and non-technical users understand business impacts. Advanced modules allow for discovery, triggers for passive data, and templating to reduce configuration complexity.
PuppetConf 2016: Watching the Puppet Show – Sean Porter, Heavy Water OperationsPuppet
Here are the slides from Sean Porter PuppetConf 2016 presentation called Watching the Puppet Show. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
SNClient+ - General purpose monitoring agentSven Nierlein
This talk will give a quick overview on nsclient alternatives and will introduce the new SNClient+ agent for Windows,Linux, OSX and BSD. This new agent is designed to replace the nsclient without having to migrate configuration or scripts. Besides this compatibility mode, i will show what else can be done with the snclient, ex.: fetching prometheus metrics.
- https://github.com/ConSol-Monitoring/snclient
- https://omd.consol.de/docs/snclient/
OSMC 2023 | Replacing NSClient++ for Windows Monitoring by Sven NieleinNETWAYS
This talk will give a quick overview on nsclient alternatives and will introduce the new SNClient+ agent for Windows, Linux, OSX and BSD. This new agent is designed to replace the nsclient without having to migrate configuration or scripts. Besides this compatibility mode, i will show what else can be done with the snclient, ex.: fetching prometheus metrics.
Overcoming (organizational) scalability issues in your Prometheus ecosystemQAware GmbH
Cloud Native Night, July 2020, online: Talk of Jürgen Etzlstorfer (@jetzlstorfer, Dynatrace)
== Please download slides if blurred! ==
Abstract:
Prometheus is considered a foundational building block when running applications on Kubernetes and has become the de-facto open-source standard for visibility and monitoring in Kubernetes environments.
Your first starting points when operating Prometheus are most probably configuring scraping to pull your metrics from your services, building dashboards on top of your data with Grafana, or defining alerts for important metrics breaching thresholds in your production environment. in your production environment.
As soon as you are comfortable with Prometheus as your weapon of choice, your next challenges will be scaling and managing Prometheus for your whole fleet of applications and environments. As the journey “From Zero to Prometheus Hero” is not trivial you will find obstacles on the way. In this talk we are highlighting the most common challenges we have seen and provide guidance on how to overcome them. Finally, we are discussing a solution to get you there more quickly to build automated, future-proof observability with Prometheus showing Keptn as one possible implementation.
About Jürgen:
Jürgen is a core contributor to the Keptn open-source project and responsible for the strategy and integration of self-healing techniques and tools into the Keptn framework. He also loves to share his experience, most recently at conferences on Kubernetes based technologies and automation.
More information:
Overview: https://github.com/keptn/community
Github: https://github.com/keptn/keptn
Website: https://keptn.sh
Google Group: https://groups.google.com/forum/#!forum/keptn
Twitter: https://twitter.com/keptnProject
________________________________________________
Follow us on:
https://twitter.com/qaware
https://www.linkedin.com/company/qaware-gmbh
https://github.com/qaware
www.qaware.de
The document discusses using the Oracle Advisor framework to scale up performance tuning efforts. It provides an overview of the advisor framework and describes the types of information stored in advisor tables, such as findings, recommendations, actions, and rationale. It emphasizes how querying and understanding the contents of these tables can help DBAs address performance issues without rerunning advisors. Specific examples are provided to illustrate extracting useful insights from advisor views like DBA_ADVISOR_FINDINGS and DBA_ADVISOR_RECOMMENDATIONS. The goal is to leverage the historical data in the advisor framework to massively scale up a DBA's ability to perform routine performance tuning tasks.
Prometheus and Docker (Docker Galway, November 2015)Brian Brazil
Brian Brazil is an engineer passionate about reliable systems who has worked at Google SRE and Boxever. He discusses Prometheus, an open source monitoring system he helped create. Prometheus offers inclusive monitoring of services, is manageable and reliable, integrates easily with other tools, and provides powerful querying and dashboards. It is efficient, scalable, and helps provide visibility into systems through its data model and labeling.
Similar to OSMC 2010 | NSClient++ - what's new? And what's coming! by Michael Medin (20)
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Liberarsi dai framework con i Web Component.pptxMassimo Artizzu
In Italian
Presentazione sulle feature e l'utilizzo dei Web Component nell sviluppo di pagine e applicazioni web. Racconto delle ragioni storiche dell'avvento dei Web Component. Evidenziazione dei vantaggi e delle sfide poste, indicazione delle best practices, con particolare accento sulla possibilità di usare web component per facilitare la migrazione delle proprie applicazioni verso nuovi stack tecnologici.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
2. These slides represent the work and opinions
of the author and do not constitute official
positions of any organization sponsoring the
author’s work
This material has not been peer reviewed and
is presented here as-is with the permission of
the author.
The author assumes no liability for any
content or opinion expressed in this
presentation and or use of content herein.
Disclaimer!
3. Developer (not system manager)
Not working with Nagios
Accidentally ended up in our NOC
Hated BB
2003: The birth of NSClient++
NSClient sucked (Broke Exchange)
NRPE_NT was to hard to use
2004: The open source of NSClient++
“just for fun”
My Background
4. Introduction 5 minutes
Part 1: Remote access 15 minutes
Part 2: Tools of the Trade 40 minutes
Break 20 minutes
Part 3: Monitoring 20 minutes
Part 4: Scripting 10 minutes
Conclusion 0 minutes
Agenda
5. Who are you?
What are your experiences with monitoring?
What are your experiences with SQL Server?
What are your expectations?
…
Introductions…
10. It is not something I will speak about…
It is not SQL Server related
Hint 2
11. If the infrastructure goes down
so will SQL Server
Always start by monitoring the infrastructure
Hardware
●
Clusters
●
Raid arrays
●
Network infrastructure
●
Temperature/HW Status
●
…
Software
(My) Answer
12. This depends on what environment you have
NOT related to SQL Server
Thus... Your on your own…
Monitoring Infrastructure?
13. Part 1: Remote access
Click to edit Master text styles
Second level
●
Third level
●
Fourth level
●
Fifth level
15. Perl
Install perl and DBI with ODBC (and TDS
driver)
●
You need (for debian):
– perl
– unixodbc unixodbc-dev tdsodbc
●
Then you need to configure a odbc driver
(/etc/odbcinst.ini)
– [FreeTDS]
– Description = TDS driver (Sybase/MS SQL)
– Driver = /usr/lib/odbc/libtdsodbc.so
– Setup = /usr/lib/odbc/libtdsS.so
– CPTimeout =
– CPReuse =
●
Perl and SQL Server
16. On Windows:
Install ActiveState perl
● Everything you need comes included
Install a ODBC driver for SQL Server
● http://www.microsoft.com/downloads/en/details.aspx?
familyid=78CAC895-EFC2-4F8E-A9E0-3A1AFBD5922E&displaylang=en
Verify:
● perl -e "use DBI 1.6;"
● perl –e "use DBD::ODBC;"
● perl -MDBD::ODBC -e "print $DBD::ODBC::VERSION;"
● perl -MDBI -e "DBI->installed_versions;"
Perl and SQL Server
17. Unix:
Edit: /etc/odbc.ini
●
[osmc]
●
Driver = FreeTDS
●
Server = <IP>
Windows:
Data sources -> System data source
●
Add -> {next, next, next} -> done
Name: osmc
Server: <IP>
Add a datasource
18. #!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI->connect('dbi:ODBC:osmc','osmc','osmc') or die "Can't connect to osmc: $DBI::errstr";
my $sql = "SELECT 1 AS test_col";
my $sth = $dbh->prepare($sql) or die "Can't prepare statement: $DBI::errstr";
$sth->execute();
print "$sth->{NAME}->[0]n";
while ( my @row = $sth->fetchrow_array ) {
print "@rown";
}
$dbh->disconnect;
$ perl test.pl
test_col
1
Connecting to a database
22. $ cat > test.pl <<EOF
#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI-
>connect('dbi:ODBC:osmc','osmc','osmc
') or die "Can't connect to osmc:
$DBI::errstr";
my $sql = "SELECT 1 AS test_col";
my $sth = $dbh->prepare($sql) or
Hint 2
25. We will mainly use this for counters
check_nrpe
●
–H <ip> -c <command> -a <arguments>
Or if you are on windows:
nsclient++ -noboot NRPEClient
●
–H <ip> -c <command> -a <arguments>
Command:
CheckCounter
check_nrpe
30. Hopefully you can now connect
OK all counters within bounds.
|'Processor(_Total)% processortid'=14.204358
(My) Answer
31. perl run.pl <query>
For instance:
perl run.pl “SELECT 1 AS test_col”
Or
perl test.pl "sp_monitor“
Or
perl test.pl "SELECT r.session_id, r.wait_type
AS wait_category, r.wait_type, r.wait_time
FROM sys.dm_exec_requests AS r INNER JOIN
Running SQL Queries
32. Part 2: The tools of the
Trade Click to edit Master text styles
Second level
●
Third level
●
Fourth level
●
Fifth level
33. DML Triggers
Fires T-SQL code on table events
PerfMon/SysMon
Listens for hundreds of Windows/SQL
Server events
SQL Trace and Profiler
Monitors internal events
Wait States
Tracks system waits (processes waiting
for resources)
Useful tools in SQL Server
34. A trigger is a custom “event” which fires when
data changes.
For instance:
You want to be notified when someone does:
●
insert into orders (…)
DML Triggers
35. Nothing “out of the box”.
Can be extended (via external stored
procedures) and submit to for instance NSCA
or what not.
There are probably better/simpler ways unless
you really need this…
Monitoring DML Triggers
36. PDH (Performance Data Helper)
A framework with metrics for “various things”
Format:
Group(Instance)Metric
●
Group = “area”
●
Instance = “instance identifier”
●
Metric = “value”
Processor(_Total)% Processor Time
Performance Counters
38. Two (ish) options:
PDH Counters
●
nsclient++, nc_net, nsclient, and everything else
WMI (Windows Management Instrumentation)
●
nsclient++ and modern solutions (including
agentless)
Many ways to monitor
We will use nsclient++ for simplicity
Monitoring Performance
Counters
39. SQL Server Profiler shows how SQL Server
resolves queries internally
This allows administrators to see exactly what
statements are submitted to the server and
how the server accesses the database to
return result sets.
Used to find an error or resolve a problem
Not monitor the server
SQL Server Trace Profiler
40. Nothing you should monitor though…
Can be viewed from the database (normal sql)
SELECT TextData, Duration, CPU
FROM trace_table_name
WHERE EventClass = 12 AND CPU < (Duration*1000)
Normal way to use it though is from inside the
tool
Monitoring Trace Profiler
41. System view with statuses for processes
running
Deprecated in 2005 (and beyond)
Shows;
processes waiting for resources
deadlocks
etc
Wait States
42. Can be viewed from the database (normal sql)
select * from sysprocesses
Monitoring Wait States
43. configured through;
SQL Server Management Studio
c2 audit mode option in sp_configure
the server records both failed and successful
attempts to access statements and objects
Can help profile system activity and track possible
security policy violations
Superseded by Common Criteria Certification
C2 Auditing
44. Nothing out of the box.
Generates “log files” (unsure of format)
Can be viewed from the database (normal sql)
SELECT * FROM ::fn_trace_gettable('C:Program FilesMicrosoft SQL
ServerMSSQLDataaudittrace_20040822191554.trc', default)
Monitoring C2 Auditing
49. What’s the server CPU load?
Check PDH (counter) object:
Processor(_Total)% Processor Time
Hint 2
50. What’s the server CPU load?
Check PDH (counter) object:
Processor(_Total)% Processor Time
Use check_nrpe (or NSClient++)
check_nrpe –H <IP> -c CheckCounter
●
-a ”Processor(_Total)% Processor Time”
Hint 3
51. No, but most will say so
Why do you buy that expensive server?
●
If not to use it?
But beware!
If load increases you will be in trouble!
(My) Answer
52. Common Criteria Compliance
Combines SQL Trace and security settings for
compliance
DMVs
dynamic management views, catalog views
(metadata details and current status)
Management Studio Reports
●
easy way to view DMV data
Performance Dashboard
●
downloadable add-on with extra reports
New tools added in 2005
53. Builds on c2 audit mode and is mainly a
certification thing as I understand it
Common Criteria
Compliance
54. I don’t really know :P
But I think it is much same as before…
Monitoring “C3”
55. Database views with metrics about server
status
Can be combined with reports to form a nice
monitoring/management view
In short:
This is the god stuff!
Dynamic management
views
56. Regular database view (normal sql)
For instance listing waiting sessions
SELECT
r.session_id, r.wait_type AS wait_category, r.wait_type, r.wait_time
FROM sys.dm_exec_requests AS r
INNER JOIN sys.dm_exec_sessions AS s ON r.session_id = s.session_id
WHERE
r.wait_type IS NOT NULL AND s.is_user_process = 0x1
Monitoring DMVs
57. Same as DML triggers but for DDL
Can show you;
When/if someone alters the database
(structure)
DDL Triggers
58. Same as with DML triggers
Nothing “out of the box”.
Can be extended (via external stored
procedures) and submit to for instance NSCA
or what not.
Monitoring DDL triggers
59. Good stuff:
DMVs
●
Lots of SQL Server metrics
●
Really nice reports
●
Downloadable add-on with extra reports
Somewhat useful:
DDL Triggers
●
Database events
Not very useful (for monitoring):
SQL Trace and Profiler
Summary
63. Use Dynamic Management Views
For instance:
run_sql
SELECT status, wait_type, wait_time
FROM sys.dm_exec_requests
WHERE wait_type IS NOT NULL
(or)
SELECT
r.session_id, r.wait_type AS wait_category, r.wait_type, r.wait_time
FROM sys.dm_exec_requests AS r
INNER JOIN sys.dm_exec_sessions AS s ON r.session_id = s.session_id
WHERE
Hint 2
64. Absolutely!
Now we see we have tasks waiting!
Waiting means slow clients: not good!
(My) Answer
65. Change Tracking
synchronously records which rows have been
updated
Change Data Capture
asynchronously reads T-Log and records data
changes
Extended Events
lightweight windows monitoring technology
(similar to SQL Trace Event)
SQL Auditing
More goodies from 2008
66. Part 3: Monitoring
Click to edit Master text styles
Second level
●
Third level
●
Fourth level
●
Fifth level
68. MSSQL Job Monitoring
Monitors “scheduled jobs”
Written in java (server)
DBTuna
Some commercial thing
Haven’t checked
check_mssql_nt
Monitors “many things” (w32 binary)
Written in debian (called via nrpe)
Existing Nagios scripts
69. check mssql databases status by snmp
Queries status via snmp
Check MSSQL Database Mirroring
Queries specific tables (sys schema)
Written in perl
check_mssql_health
Queries many aspects of the server
Written in perl
check_mssql_write.py
Existing Nagios scripts
70. check_mssql_sproc
Monitors “things” by executing a procedure
Written in perl
check_mssql_monitor
Wrapper for sp_monitor
Written in perl
check_sql
Runs various queries and checks various things
Written in perl
Existing Nagios scripts
72. If you are using ODBC
check_sql is sort of broken (I think)
At least I do this to connect
my $cs = "DBI:$driver:$hostname";
#my $cs = "DBI:$driver:" . ($database ? "database=$database;" : '') .
"host=$hostname" . ($port ? ";port=$port" : '');
But I am not a Perl DBI expert…
WARNING!
73. There are nice tools to work with this…
use them…
Ask you DBA and your developers
They know what requires monitoring
Don’t believe there is a “boxed solution”
There seldom is
Don’t “finish” once the server is monitored.
Monitor your application as well!
Don’t forget “non-events”
Don’t do this from
“Nagios”
80. IO
Pages / second
●
MemoryPages/sec
Physical disk time
●
PhysicalDisk(_Total)% Disk Time
Database files:
Database file size
●
SQLServer:Databases(???)Data File(s) Size (KB)
Database log file size
●
SQLServer:Databases(???)Log File(s) Size (KB)
A few Good Counters
82. dm_db_*:
Databases and database objects
dm_exec_*:
Execution of user code and associated
connections
dm_os_*:
Memory, locking, and scheduling
dm_tran_*:
Transactions and isolation
Dynamic Management
Views
85. …the fifth of november
One of the best things about DVM:
..are the reports…
●
Management Studio Reports
– easy way to view DMV data
●
Performance Dashboard
– downloadable add-on with extra reports
These are premade reports with a nice gui
●
Something like what your “friends” with that “big expensive
alternative” to OSS keep selling right?
●
Why not steal it?
Remember, remember,
86. Are;
XML files (*.rdl)
With predefined queries (good)
And a lot of nice boxes and what not (crappy)
Look for:
//DataSets/DataSet
Or if you prfer:
●
<DataSets>
– <DataSet Name=”<WHATEVER>">
Management Studio
Reports
90. The PDB (Performance Dash Board) folder has
the reports…
The file I called historical_io.rdl
Hint 2
91. The PDB (Performance Dash Board) folder has
the reports…
The file I called historical_io.rdl
Look for DataSet (and then Query)
Hint 3
92. The PDB (Performance Dash Board) folder has
the reports…
The file I called historical_waits.rdl
Look for DataSet (and then Query)
No it is not CHECK_DEPENDENCIES
Hint 4
95. Dont forget to monitor your applications
Check that tables and columns are ”writable”
Check that counts (rows)
Check that new rows ”are coming”
●
(recent item count)
Check that ”things” work.
Talk to your DBA and developers!
Applications!
97. Create a query which makes sure that orders
are coming in
For instance:
Select count(*) from orders
●
(in real life you probably want;
– WHERE order_date > DATEADD(DD,-
1,CONVERT(CHAR(8),CURRENT_TIMESTAMP,112))
●
Or something similar)
Task/Question
99. Use the “run.pl” perl script
perl run.pl "select count(*) from orders"
Hint 2
100. Whoops… we are not gonna be rich afterall
(My) Answer
101. Part 4: Scripting
Click to edit Master text styles
Second level
●
Third level
●
Fourth level
●
Fifth level
102. Server side;
Remote access from the monitoring server
Requires more ”firewall openings”
More configuration server side
Your DBA might disprove
Client side;
Local access to SQL Server (remote access to agent)
Requires less firewall openings
● And you probably require this anyway
More configuration client side
More work ”distributing” your scripts
Client or Server side?
103. Perl is a good candidate
Support SQL queries
Fairly simple driver handling (via ODBC)
Has “helpers” for database access
What we have been using all this time
Most languages can be used though
Used by various existing scripts
●
Python, PHP
●
Java (but it has a very high overhead)
Which language? (Server
side)
104. Perl is (still) a good candidate
Makes your compatible
Requires installation (ActiveState or similar)
VB is a popular choice
With the Library from op5 you get much “for free”
PowerShell
Probably your best bet if you wanna do cool stuff
Many other choices as well
Which language? (Client
side)
105. The good;
Support SQL queries
Fairly simple driver handling (via ODBC)
Has “helpers” for database access
Makes your compatible
The bad;
Requires installation (ActiveState or similar)
Some issues with 64bit and databases
● Requires the SAME as the ODBC libraries
Perl (Client side)
106. The good;
Support SQL queries - ???
Simple driver handling - ???
Has helpers “Nagios API”
Can do a lot of “other things”
●
Ie. a “check_all” is possible
The bad;
No “Nagios API” available
Script will not run on Linux
VB (VisualBasic)
107. The good;
Support SQL queries
Simple driver handling
Has helpers for database (SQL) access
Can (re)configure the database
The bad;
Somewhat arcane syntax
No “Nagios API” available
Script will not run on Linux
PowerShell
108. SQL Server Management Objects (SMO)
Replication Management Objects (RMO)
Analysis Services Management Objects (AMO)
Just a quick PowerShell
slide
109. Click to edit Master text styles
Second level
●
Third level
●
Fourth level
●
Fifth level