diff --git a/cxm/assets/audit.png b/cxm/assets/audit.png new file mode 100644 index 000000000000..4fae24e70bd2 Binary files /dev/null and b/cxm/assets/audit.png differ diff --git a/cxm/assets/digital-sobriety/digital-sobriety-details.png b/cxm/assets/digital-sobriety/digital-sobriety-details.png new file mode 100644 index 000000000000..f89e17e86a74 Binary files /dev/null and b/cxm/assets/digital-sobriety/digital-sobriety-details.png differ diff --git a/cxm/assets/percentiles.png b/cxm/assets/percentiles.png new file mode 100644 index 000000000000..c9d8725436c6 Binary files /dev/null and b/cxm/assets/percentiles.png differ diff --git a/cxm/assets/rum_more_details.png b/cxm/assets/rum_more_details.png new file mode 100644 index 000000000000..6ffca1c770a7 Binary files /dev/null and b/cxm/assets/rum_more_details.png differ diff --git a/cxm/business-data/business-alerts.md b/cxm/business-data/business-alerts.md new file mode 100644 index 000000000000..ebc75cc97df1 --- /dev/null +++ b/cxm/business-data/business-alerts.md @@ -0,0 +1,38 @@ +--- +id: business-alerts +title: Business alerts +--- + +> Available by default on Business and Full licenses; optional on other plans. + +Business alerting monitors the impact of site issues (for example drops in traffic or conversion) rather than a predefined list of causes. +They detect abnormal drops in traffic or conversion and let you analyze precisely when those drops occurred. + +Because this data comes from Google Analytics, it is processed with a default 4-hour delay (GA data is refined over time). + +## Prerequisites + +* Users must have filled in their personal data (email, SMS, Slack) and defined the time periods during which they want to be notified or not. + +## Creating business alerts + +1. Go to **Settings > Alerting**. +2. In the **Business alerts** section, click **Add a business alert**, then select the alert type you want ([**Alert on conversion rate**](#conversion-rate-alerts) or [**Alerts on pageviews/mn**](#page-view-alerts)). +3. Name your alert and define which users should receive it. Select email, SMS or Slack. +4. If you want to define another notification channel than email, SMS or Slack, define the webhook to be used. This type of notifications are not linked to a user. +5. Hover over the alert's tile. 2 buttons appear: + + * **Configure this alert's planning**: define the time periods during which alerts should be sent. + * **Configure this alert's thresholds**: define criteria for triggering an alert and a recovery notification. + +### Conversion rate alerts + +This checks whether your conversion rate average over a given period (2 hours by default) is lower compared to the same period historically (daily, weekly, or monthly baselines). + +By default this alert triggers when the conversion rate drops by 30% compared to the usual value. A resolution notification is sent when the metric returns to 75% of the usual conversion rate. + +You can also set a fixed conversion-rate threshold below which you want to be alerted. + +### Page view alerts + +This works the same way as conversion-rate alerts but is applied to page views per minute. diff --git a/cxm/business-data/business-data-results.md b/cxm/business-data/business-data-results.md new file mode 100644 index 000000000000..cf27b8414aab --- /dev/null +++ b/cxm/business-data/business-data-results.md @@ -0,0 +1,64 @@ +--- +id: business-data-results +title: Understanding business data results +--- + +The Business Data module displays traffic and conversion metrics sourced from the client’s analytics tool (Google Analytics or Matomo). Correlate the technical performance of your site and your sales. A key thing to do is to [plot events onto your graphs](../installation/monitor-production-events.md) so as to explain changes. + +## Business data or RUM? + +Business Data traffic refers to the traffic that customers typically view in their analytics. It is a filtered "business-specific" view, unlike [RUM](../rum/rum.md), which captures all raw traffic. + +| Criterion | RUM in Experience Monitoring | Bunisness data (Google Analytics) | +| --- | --- | --- | +| Traffic coverage | 100% of traffic (before GDPR pop-in) | Only visitors who have accepted GDPR consent | +| Bots | Included (US bots, crawlers, etc.) | Excluded (filtered in the GA view configured by the client) | +| GDPR consent | Independent of consent | Dependent on consent acceptance | +| Estimated difference | Full raw traffic | Approximately 1/3 of traffic missing (GDPR refusals + filtered bots) | +| Configuration | Managed in Experience Monitoring | Experience Monitoring retrieves the view as configured in GA (no additional processing) | + +## Use cases + +### Traffic + Performance Dashboard + +Create a dashboard that combines website traffic (from GA) with the execution speed of user journey scenarios. This allows you to monitor the overall health of the site at a glance: traffic and performance side by side. + +### Impact of a deployment on sales + +After a deployment, check whether a slowdown in the site has a negative impact on the conversion rate or revenue. Use in conjunction with event tags to date the deployment. + +### Impact of a deployment on the bounce rate + +Check whether a deployment (successful or failed) caused an increase or decrease in the bounce rate. Example: sudden spike in the bounce rate on a certain date, to be correlated with a possible slowdown. + +## Metrics + +The Business Data module displays the following metrics, all sourced from Google Analytics: + +* Website traffic: number of sessions/visitors over the selected period. For non-monetized websites, only this metric is truly relevant. +* E-commerce conversion rate: for e-commerce sites, tracks conversion trends. +* Revenue per minute: revenue generated minute by minute. +* Number of transactions per minute: transaction volume over time. +* Revenue per session per minute: average revenue per session, minute by minute. +* Bounce rate: percentage of visitors leaving the site after viewing only one page. + +> Google Analytics Delay: There is a delay of 4 to 24 hours between the data reported by GA and actual results. For example, a bounce rate of 90% may be adjusted within the next 48 hours. This delay is inherent to GA and not to Experience Monitoring. + + + + +Quanta links with Analytics so you can: + +Have your business KPIs correlating the technical performance and your sales. +See the impact of peak traffic on your page load time. +Measure the capacity and impact of your site's modifications on your architecture load (Infrastructure Cost Per Clic evolution) + +In the **Business data** page, you can: + +* **Overview** tab - Analytics summary over the period -> which period? the one on the right + +* **Opportunities** tab + +* Correlate Google Analytics data with Synthetic Monitoring data in the **Journey and revenues** tab (you need to have configured a user journey). You can see an estimation of losses due to downtime or slow loading pages. + +* Correlate Google Analytics data with system data in the **Infratructure cost/click** (you need to have configured an agent collecting [system data](../installation/servers/install-system-agents.md)). diff --git a/cxm/configuration/configure-google-analytics.md b/cxm/configuration/configure-google-analytics.md index caab54367cfb..5f7cdd6d4039 100644 --- a/cxm/configuration/configure-google-analytics.md +++ b/cxm/configuration/configure-google-analytics.md @@ -1,46 +1,42 @@ --- id: configure-google-analytics -title: Configure Google Analytics with CXM +title: Configure Google Analytics with Experience Monitoring --- -## Frequently asked questions - -### Why integrate Google Analytics into CXM? +By integrating Google Analytics data into Experience Monitoring, you can correlate web scenario execution times and technical metrics such as response time and server load with business data like traffic and conversions. This helps you analyze how traffic impacts page load times and draw meaningful conclusions. -Integrating this data allows you to correlate technical metrics (response time, server load, etc.) with your business data (traffic, conversion, etc.). These correlations help you draw meaningful conclusions. +## Link Google Analytics to Experience Monitoring -### Are CXM probes counted in GA? +> To connect/disconnect Experience Monitoring to/from Google Anaytics, you must have **Administrator** or **Owner** permissions on your Organization in Experience Monitoring. -**No**, CXM is invisible to Google Analytics — we don't call the Google Analytics tag that runs on your site's pages. +Here is a [video tutorial](https://www.youtube.com/watch?v=qmeXwypUmL4&list=PLgmedpAAxo-40d8PaBsaQS7Hkrm6mdxjs&index=3) that shows how to link Experience Monitoring to your Google account. You can also follow the procedure below. -Therefore your GA statistics are not affected by our probes. +To link Experience Monitoring with your Google Analytics account: -### Why don't I see Analytics data in CXM? +1. Click **Settings** (the gear icon at the top right of the screen). -Google Analytics data can take several hours to appear. Because we retrieve data via their API, we can only import data that is visible in GA. - -### Why don't I have real-time Analytics data? +2. Select the site for which you want to link the Google Analytics account (click its name). -Google Analytics data can take several hours to appear. Because we retrieve data via their API, we can only import data that is visible in GA. +3. Go to the **Integrations** tab. -### I accidentally disabled the Google Analytics module in CXM. Can I recover history? +4. At the bottom of the **Business & Analytics** section, click **Connect**. You'll be redirected to Google's sign-in page — enter the credentials of the account you want to link. -No problem — we always import the last 24 hours of data. Wait a little and the data should appear. +5. Once authenticated, you are redirected back to Experience Monitoring. Select the Google Analytics property you want to use. -If you need to recover more than 24 hours of historical data, contact support via the "Help" button at the bottom-right of the app. +## Frequently asked questions -## Link Google Analytics to CXM +### Are Experience Monitoring probes counted in GA? -With CXM you can correlate your web scenario execution times with traffic measured by Google Analytics over the same period and analyze the effect of traffic on page load times. +No, Experience Monitoring is invisible to Google Analytics — we don't call the Google Analytics tag that runs on your site's pages. Therefore your GA statistics are not affected by our probes. -> To add/remove a link you must have "Administrator" or "Owner" permissions on your Organization in CXM. +### Why don't I see Analytics data in Experience Monitoring? -We have a [tutorial video](https://www.youtube.com/watch?v=qmeXwypUmL4&list=PLgmedpAAxo-40d8PaBsaQS7Hkrm6mdxjs&index=3) that shows how to link your quanta to your google account. +Google Analytics data can take several hours to appear. Because we retrieve data via their API, we can only import data that is visible in GA. -To link CXM with your Google Analytics account, go to the "Configuration" tab (gear icon at the top right), then select the site (click its name) for which you want to link the Google Analytics account. +### Why don't I have real-time Analytics data? -Go to the "Integrations" tab. +Google Analytics data can take several hours to appear. Because we retrieve data via their API, we can only import data that is visible in GA. -To create the link, click "Connect". You'll be redirected to Google's sign-in page — enter the account credentials you want to link. +### I accidentally disabled the Google Analytics module in Experience Monitoring. Can I recover history? -Once authenticated you are redirected back to CXM, your Analytics profiles are imported into the UI and you just need to choose the profile you want to use. +No problem — we always import the last 24 hours of data. Wait a little and the data should appear. If you need to recover more than 24 hours of historical data, contact our support team. diff --git a/cxm/digital-sobriety/digital-sobriety-score.md b/cxm/digital-sobriety/digital-sobriety-score.md index 85903abfae66..6044a24695ec 100644 --- a/cxm/digital-sobriety/digital-sobriety-score.md +++ b/cxm/digital-sobriety/digital-sobriety-score.md @@ -1,81 +1,21 @@ --- id: digital-sobriety-score title: Digital Sobriety Score ---- - -Specifications v1.1 (April 2023) - -![Image](../assets/digital-sobriety/digital-sobriety-score-1.png) - -## Context: The purpose of the Digital Sobriety Score - -At Centreon, we believe the ecological transition requires awareness and accountability from the digital sector regarding its environmental impact. - -Today, digital technologies account for roughly 4% of global greenhouse gas emissions and are growing at approximately **+8% per year**. At the same time, the Paris Agreement requires a global annual emissions reduction across sectors of **-7%**: - -![Image](../assets/digital-sobriety/digital-sobriety-score-2.png) - -Although digital technologies can help decarbonize other industries, the digital sector itself cannot avoid a necessary reduction in its own emissions. To improve, however, we first need **reliable and shared measurements**. - -To support this transition and align digital activity with planetary limits, we considered it essential to provide a standardized guide shared across the digital ecosystem — this is the purpose of the Digital Sobriety Score. - -The Digital Sobriety Score is a general rating that measures the environmental footprint of a website or web application. It can be used without technical expertise while enabling digital and sustainability specialists to inspect the sub-indicators that compose the overall score in greater detail. - -With this unified score, CXM’s mission is to raise awareness and guide digital stakeholders toward more responsible choices by providing tools to compare and progressively improve the environmental impact of their current and future applications. - -## Introduction to the methodology - -Existing indicators for measuring the digital environmental footprint are often difficult to interpret without specialist knowledge and tend to cover a limited set of criteria, which makes it hard for organizations to improve across all impact dimensions. - -The Digital Sobriety Score is therefore a **composite rating** that aggregates the environmental impacts associated with using a website or mobile application into a simplified score out of 100, also expressed as a grade from A to E, similar to food labeling: - -![Image](../assets/digital-sobriety/digital-sobriety-score-5.png) - -For more precision, the numerical score should be consulted. The correspondence between numeric score and letter grade is: - -| Digital Sobriety Score | Letter grade | -| --- | --- | -| 0 to 45 | E | -| 45 to 60 | D | -| 60 to 75 | C | -| 75 to 90 | B | -| 90 to 100 | A | - -This grading captures a broad set of impacts while providing simplified visibility for digital and CSR teams so they can: - -- compare multiple sites (for example, several sites within the same brand or versus competitors); -- implement action plans to make their applications more sustainable; -- be guided on eco-design best practices when building new digital projects, whether developed internally or externally. - -As part of the Digital Sobriety Score, CXM commits to delivering actionable measures that respect the principles of the [GHG Protocol](https://www.greenly.earth/fr-fr/blog/guide-entreprise/ghg-protocol-quest-ce-que-cest-comment-ca-marche): Relevance, Completeness, Consistency, Transparency, and Accuracy. - -In other words, the calculation methods and measurement processes **will remain transparent and open** under a Creative Commons license ([CC BY-NC-ND 4.0 DEED](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.fr)), allowing teams — especially specialists in responsible digital practices — to compare CXM’s results with their own calculations and tools. - -This transparency enables stakeholders to: - -- perform their own Digital Sobriety Score measurements, including in contexts where CXM cannot directly access the application; -- propose improvements to evolve the calculation method as research in GreenIT progresses. - -## Calculation method - -Calculating the digital environmental footprint is a relatively new and evolving field. New information on the impacts of use, manufacturing, and end-of-life of digital equipment may emerge, so the algorithms estimating these impacts are expected to be refined over time. - -For this reason, CXM versions the calculation method to ensure its continued relevance and to allow users to benefit from improvements without impairing comparability between sites audited at different times. +--- -Even without changes to measurement methods, median market values are likely to improve over time; CXM will naturally update the quantiles used for each parameter in the Digital Sobriety Score calculation to reflect market progress. +The Digital Sobriety Score (DSS) is a grade given by Centreon Experience Monitoring that informs on a website's impact on the environment. While websites are immaterial, there is a physical infrastructure that keeps them running. The DSS measures the environmental impact of this infrastructure. -This document describes the calculation algorithm updated in April 2023 (**version 1.1**), which is the first public release. +The DSS can be found on the **Global View** -### How is the Digital Sobriety Score calculated? +It is somewhat similar to the [GreenIT collective](https://www.ecoindex.fr/en/)'s Eco Index. However, while the Eco Index emphasizes simple evaluation based on three technical criteria for a given URL, which is particularly useful during development, CXM's Digital Sobriety Score adopts a broader, audit-style approach more suited to sites already in production. -The Digital Sobriety Score can be evaluated with two types of audits: +The DSS is a combination of the average Carbon Footpring Per Click (CFPC) and the average Eco-Design Score (EDS), a more detailed breakdown of what composes these metrics can be seen below. -1. The simple method -2. The "full audit" method. +![Image](../assets/digital-sobriety/digital-sobriety-score-3.png) -One major advantage of these two audit types is they adapt to different resource levels and precision requirements while producing fully comparable scores. The only real difference between the methods is the level of approximation used in the simple method. +## How is the Digital Sobriety Score calculated? -Comparison of the two methods and their advantages: +The Digical Sobriety Score can be calculated with two types of audits : a "simple audit" and a "full audit". Simple audits are free and can be performed on the [quanta.green website](https://www.quanta.green/). | | Simple method (see [quanta.green](http://quanta.green)) | Full audit method | | --- | --- | --- | @@ -86,191 +26,62 @@ Comparison of the two methods and their advantages: | Time-series comparison | Yes, but at quarterly precision (quanta.green stores scores for 3 months). After 3 months, a new analysis shows evolution over time. | Yes, in real time and historized automatically over multiple years in CXM | | Certification | The "Simple audit" certification includes a summary visual that can be displayed on the site to describe its environmental impact. | The "Full audit" certification includes a summary visual that can be displayed on the site to describe its environmental impact. | -Because the site's carbon footprint calculation is thorough and reflects actual traffic, it can be included in a company's overall carbon inventory, giving more accurate data for the digital part. - -To compare the environmental impact of web applications of different sizes, the site's footprint is shown relative to its traffic. - -The Digital Sobriety Score is a **summary of many evaluation criteria**. Taken alone, it does not answer the question "what is my site's carbon footprint?": its goal is to provide a broader rating than carbon footprint alone and to make web applications comparable regardless of their audience size (100 users or 100,000 users). +The site’s carbon footprint is calculated from measured traffic data and can be incorporated into a company’s overall carbon inventory to better represent digital emissions. -Teams focused on CSR who still want an absolute carbon footprint of their site (to refine corporate carbon accounting with a precise CO2eq measure corresponding to site activity) can obtain this via the absolute carbon footprint sub-indicator of the Digital Sobriety Score (see "Global carbon footprint of the site" below for details). +To allow comparison across web applications of different sizes, results are expressed relative to traffic. -### Detailed algorithm for the Digital Sobriety Score (full audit method, version 1.1 - April 2023) +The Digital Sobriety Score combines several criteria into a single metric. It is not a measure of carbon emissions alone, but a comparative indicator designed to evaluate web applications independently of their audience size. -![Image](../assets/digital-sobriety/digital-sobriety-score-3.png) - -The Digital Sobriety Score is composed of multiple criteria with a tree-like weighting system that assigns importance to each in the overall score. - -Many sub-criteria have independent value for improving an application’s environmental footprint. We recommend that teams include these sub-indicators in their monitoring committees and reports. +### What is taken into account for the calculations? -The overall score is intended for executive reporting and external communication, such as displaying a certificate on a website. +The CFPC quantifies the environmental impact associated with a single page view or any click-triggered context change within a web application. The use of click-based measurement is particularly relevant for the increasingly common Single Page Applications (SPAs), where user interactions often update the view without initiating a full page reload. In these cases, each interaction, regardless of whether it triggers navigation, has an environmental cost and must be accounted for in the assessments. -To explain the diagram above, here is the exhaustive list of underlying indicators used in the Digital Sobriety Score: - -## The Eco-Design Score (EDS) - -This score accounts for 50% of the Digital Sobriety Score. It is rated 0 to 100 and can be measured for a page using five sub-criteria that evaluate adherence to eco-design principles: +The EDS is composed from multiple indicators: - Time To First Byte (TTFB) - Often measured and optimized to speed up rendering, this indicator is particularly reflective of server-side execution time. The longer the TTFB, the greater the energy consumption at the hosting center. - - TTFB accounts for 30% of the Eco-Design Score. - -- Page weight - - "Page weight" refers to the total amount of data downloaded by a user when navigating to a page or when an interaction triggers a context change in the site. - - Transfers — including HTML, CSS, images, etc. — have a significant impact on network equipment between the datacenter and the user. - - Page weight accounts for 30% of the Eco-Design Score. - -- Frontend execution time - - After the page is downloaded, the user’s device (mobile, tablet, or computer) typically executes JavaScript locally. This execution is often invisible to site administrators because the load occurs on the client device rather than in the datacenter; nevertheless, it consumes energy and results in emissions. - - A good estimate of frontend execution time is the interval between Time To First Byte and the OnLoad event (total page load). OnLoad represents when the browser becomes idle after executing JavaScript. - - Frontend execution time accounts for 20% of the Eco-Design Score. - -- Number of HTTP(s) requests - - Each HTTP(S) request requires additional data exchanges between server and client, which increases network energy use. Processing many requests also generates additional CPU time on the client device. - - Reducing the number of requests involves optimizing caching, bundling files, or using inlining to avoid extra requests. - - Number of requests accounts for 10% of the Eco-Design Score. + TTFB measures the latency between a client request and the first byte received from the server. It is commonly used as a proxy for server-side processing time. Higher TTFB values generally indicate longer server execution, which correlates with increased energy consumption at the hosting infrastructure. -- DOM size +- Page Weight - The DOM (Document Object Model) is the hierarchical representation of page HTML elements. While essential for modern websites, a large DOM increases memory usage and processing time on the client device, leading to higher energy consumption. + Page weight represents the total volume of data transferred to the client during a page load or a dynamic context update. Larger payloads require more network resources and increase energy consumption across the delivery chain. - DOM size accounts for 10% of the Eco-Design Score. +- Frontend Execution Time -Once all indicators are measured, a weighting is applied based on each criterion’s environmental importance: + Following content delivery, client devices execute JavaScript and perform rendering tasks locally. Although this processing occurs outside the datacenter and is often not monitored by site operators, it contributes to overall energy usage and associated emissions on end-user devices. -![Image](../assets/digital-sobriety/digital-sobriety-score-6.png) +- Number of HTTP(S) Requests -To convert each sub-indicator into a score (for example: 28 points on the Eco-Design Score for 90 ms TTFB), mapping tables are used. These tables are publicly available so anyone can compute the Digital Sobriety Score end-to-end. Sources for these mapping tables include the [HTTP Archive](https://httparchive.org/) and the [Chrome UX Report](https://developer.chrome.com/docs/crux/). The method uses value quantiles (for instance, to get the full 30 points for TTFB, a site must be within the top 5% fastest sites for that metric). + Each HTTP(S) request introduces additional network overhead and requires processing on both the server and client. A higher number of requests increases data exchange, network energy consumption, and client-side CPU utilization. -## Average Eco-Design Score (Average EDS) +- DOM Size -To compute a site's average Eco-Design Score, there are two cases: + The Document Object Model (DOM) defines the in-memory structure of HTML elements. Larger DOM trees increase memory usage and computational overhead for rendering, layout calculations, and scripting, thereby elevating energy consumption on client devices. -1. Simple audit - For a simple audit, we take the site's 10 most popular pages and compute an Eco-Design Score for each. The average of these 10 scores is the Average EDS. +CXM calculates a number from 0 to 100 by calculating the EDS from these indicators, combining it with the CFPC and then gives the corresponding letter grade: -2. Full audit - - In this case, the Average EDS considers all pages viewed on the site and weights them by their share of total traffic, providing a more precise measure. A low-scoring page with little traffic will have minimal impact on the overall score, while a high-traffic low-scoring page will significantly lower the Average EDS. - -## Carbon Footprint (CF) - -A basic indicator for measuring an application's environmental footprint is the carbon footprint of accessing a web page or performing a click. For this evaluation, CXM implements a recognized and transparent algorithm: the [Sustainable Web Design method](https://sustainablewebdesign.org/calculating-digital-emissions/). - -This method estimates a page’s carbon impact based on its weight and the carbon intensity of the electricity used by the hosting platform. - -Thanks to this method, the same web page accessed in France, Ireland, or the USA will have different impacts due to differences in electricity generation. To account for a host country’s electricity mix, CXM relies on the [Ember Climate](https://ember-climate.org/insights/research/global-electricity-review-2022/) dataset (also used by [Our World In Data](https://ourworldindata.org/grapher/carbon-intensity-electricity)). - -The resulting calculation, expressed in CO2eq, also allows distinguishing contributions from different scopes (datacenter, network, and end-user devices). - -![Image](../assets/digital-sobriety/digital-sobriety-score-7.png) - -### Average Carbon Footprint Per Click (Average CFPC) - -Average carbon footprint per click accounts for 50% of the Digital Sobriety Score. It represents the environmental footprint per page view or click-triggered context change in the web application. - -Why measure clicks instead of only page views? - -We use "clicks" because Single Page Applications (SPAs) are increasingly common. In an SPA, a click may change the current view without triggering a full page navigation. Each interaction still has an ecological cost and should be included in the environmental assessment. - -> Version 1.1 of the Digital Sobriety Score focuses on carbon emissions, the most commonly used metric for corporate environmental management. Other impact criteria (water use, abiotic resource depletion, primary energy consumption) are also relevant and may be incorporated in future versions of the methodology. - -To calculate Average CFPC, there are two cases: - -1. Simple audit - - For a simple audit, take the site's 10 most popular pages and compute the carbon footprint (CF) for each. The average of these 10 measures gives the Average CFPC. - -2. Full audit - - For a full audit, Average CFPC accounts for all pages viewed on the site, weighted by their share of total traffic, producing a more accurate measure. A high CF on a low-traffic page will have little overall effect, but if that page receives more traffic, its weighted CF will increase the site’s Average CFPC accordingly. - -Although full audits weight pages by traffic, the Average CFPC is intended to express the footprint of a single page view or click independent of overall traffic, enabling month-to-month comparability despite traffic variations. - -For example, comparing November and December, if December traffic spikes due to holidays, Average CFPC accounts for this variation and still allows teams to track the average footprint per click month over month. This view helps responsible digital teams maintain a reliable gauge of eco-design efforts, independent of marketing-driven traffic changes. - -## Global Carbon Footprint of the site (Global CF) - -To compute the global carbon footprint of a site, consider two main factors: - -- the Average CFPC for a given period -- the number of page views during that same period - -There are two cases: - -1. Simple audit - - Multiply Average CFPC by the number of page views to get a good estimate of the site's traffic-related footprint. - -2. Full audit - - Weight each page’s carbon footprint by its individual view count. Since CXM’s RUM tag tracks all page views in real time, CXM can perform these calculations for high precision. - -In both cases, you obtain the site's global carbon footprint for the selected period. - -## The Digital Sobriety Score - -The overall Numeric Digital Sobriety Score (out of 100) combines the two main sub-indicators: - -- Average carbon footprint per click (Average CFPC) -- Average Eco-Design Score (Average EDS) - -Each sub-indicator is weighted at 50% to balance low carbon footprints per click with good eco-design practices: - -![Image](../assets/digital-sobriety/digital-sobriety-score-8.png) - -Note: While calculation methods and weightings are the same for simple and full audits, the simple audit considers only the site’s 10 main pages for Average EDS and Average CFPC. See the section "How is the Digital Sobriety Score calculated?" for more information. - -**Conditions for obtaining the CXM label** - -CXM can issue a certified Digital Sobriety Score with a summary visual suitable for use on the site or in communications. This certificate is accompanied by a detailed report containing the measurements behind the overall score. - -![Image](../assets/digital-sobriety/digital-sobriety-score-4.png) - -The report both proves the origin of the measurement and guides digital and responsible teams on optimizations to improve the score. - -To obtain a certified score: - -- a CXM Digital Sobriety license must be connected to the target site with Real User Monitoring enabled. The Digital Sobriety Score is then calculated in real time. -- an expert analysis is carried out to produce the full report. - -The first certificate for a given site can be based on the previous 30 days of data. It is valid for one year and will be renewed with a certificate based on the following 12 months. From the second year onward, the certificate will reflect the site's full-year traffic and may include the change in score versus the previous year. - -## Optional indicator: Carbon Footprint per € of turnover (CFPT) - -Not included in the Digital Sobriety Score, the carbon footprint per euro of turnover is an optional metric that relates the site’s carbon footprint to one euro of online revenue. It can be useful to compare the environmental efficiency of e-commerce sites of different sizes. - -To compute CFPT, consider: - -- the site’s global carbon footprint (Global CF) for a period -- the site’s revenue (€) for that same period. - -Like Average CFPC, CFPT enables comparisons between sites of different scales, such as comparing different brand sites, competitors, or regionalized versions of the same site hosted in multiple countries. +| Digital Sobriety Score | Letter grade | +| ---------------------- | ------------ | +| 0 to 45 | E | +| 45 to 60 | D | +| 60 to 75 | C | +| 75 to 90 | B | +| 90 to 100 | A | -## Further reading +## Obtaining a Digital Sobriety Score Certificate -More information on calculations mentioned in this document: +Centreon Experience Monitoring can issue a certificate for the site's DSS. The certificate comes with detailed information on the website's measurments that can be suitable for presentations, communication or in-site use. -- Calculating Digital Emissions [Sustainable Web Design](https://sustainablewebdesign.org/calculating-digital-emissions/) -- Lean ICT - Pour une sobriété numérique ([The Shift Project](https://theshiftproject.org/wp-content/uploads/2018/05/2018-05-17_Rapport-interm%C3%A9diaire_Lean-ICT-Pour-une-sobri%C3%A9t%C3%A9-num%C3%A9rique.pdf)) -- **Calculate the Digital Sobriety Score for free (simple audit) on [quanta.green](http://quanta.green)** -- Electricity carbon intensity: [electricity maps](https://app.electricitymaps.com/map) +### Certification requirements -## License +A CXM Digital Sobriety license connected to the site, with Real User Monitoring enabled +An expert review to produce the full report -The algorithm, calculation method, and quantiles used to produce the Digital Sobriety Score are published transparently and freely to serve the public without requiring CXM services. The license is [Creative Commons Attribution-NonCommercial-NoDerivatives 2.0 France (CC BY-NC-ND 2.0 FR)](https://creativecommons.org/licenses/by-nc-nd/2.0/fr/), which permits use by individuals, associations, and companies as long as it is not resold. +The score is calculated in real time. -## Appendix - Quantiles used +### Certification validity -To convert each measured value on a website into a score, **mapping tables are required**. So that anyone can calculate their own Digital Sobriety Score outside of [quanta.green](http://quanta.green) or CXM's services, the complete mapping tables are available on request via [hello@quanta.io](mailto:hello@quanta.io). +Initial certification: based on the previous 30 days of data; valid for one year +Renewal: based on the following 12 months of data +From the second year onward: based on a full year of traffic, with optional year-over-year comparison diff --git a/cxm/digital-sobriety/improve-dss.md b/cxm/digital-sobriety/improve-dss.md new file mode 100644 index 000000000000..bc8862b6bca0 --- /dev/null +++ b/cxm/digital-sobriety/improve-dss.md @@ -0,0 +1,40 @@ +--- +id: improve-dss +title: Improving your Digital Sobriety Score +--- + +The Digital Sobriety Score (DSS) is a calculation of your site's carbon emissions [taking diverse factors into account](digital-sobriety-score.md). In addition to calculating it, Centreon Experience Monitoring can offer advice on how to improve. + +Details on your DSS and how to improve it are accessed from the corresponding widget located in the **Global View** page. + +![Image](../assets/digital-sobriety/digital-sobriety-details.png) + +Click the **More details** button. + +### How can I know what to improve? + +The graph at the top shows information of your overall DSS. This is calculated using the combined data from all your **User Journeys**. +Improving your DSS is done by improving aspects of individual user journeys. To learn about possible improvements, click the **More Details** button on a user journey, a graph of that user journey's DSS appears. +A Graph with details of the steps of that user journey is displayed below. Click the binoculars icon to the right of this second graph. + +You are now on the page of **Last recommendations** for the selected user journey, here you can see a timeline showing how much time it takes for each step to load. + +Below this is the **Diagnostic**, a list of recommendations to improve your score. They are separated in 3 groups according to their impact: +- The most impactful ones are have a red triangle. +- Followed by those with a yellow square +- The least impactful recommendations have a grey circle. + +You can click on each individual recommendation to get more details on how to enact them. + + +> After modifying a user journey, you must relaunch the probe to update the displayed data. + +### How do I know my changes made a difference? + +In the **Last recommendations** page, scroll to the bottom of the page and click the **Compare with** button. You will be taken to the **Recommendations comparator**. +The most recent audit will already be opened in the first slot of the comparator. +Click the **Choose another recommendation audit** button to select an audit performed before your changes and click **Compare**. + +You will be shown a timeline of the two journeys, the second one shows a more detailed comparison, displaying by how much your user journey has improved or worsened. + +The list of recommendations below the timelines displays the recommendations for your current audit and the ones that were given for the previous one. This allows you to see which recommendations have been taken care of. \ No newline at end of file diff --git a/cxm/getting-started/real-user-monitoring.md b/cxm/getting-started/real-user-monitoring.md index d2d2259ef70a..6bf79215620c 100644 --- a/cxm/getting-started/real-user-monitoring.md +++ b/cxm/getting-started/real-user-monitoring.md @@ -3,25 +3,14 @@ id: real-user-monitoring title: Real User Monitoring (RUM) --- -Called “RUM” among insiders, Real User Monitoring consists of observing and analyzing the experience perceived by real users, directly from their browsers, regardless which one they use. +Real User Monitoring (RUM) is a performance monitoring technique that captures and analyzes how actual users experience your website or application in real time. ![image](../assets/getting-started/rum-1.png) -It's important to note that: +## RUM vs STM -- this feature requires adding an **external tag** to the page, which is designed to be loaded **asynchronously** and to be **extremely lightweight** so it doesn't slow the user's browsing on the site. -- the type of data sent by the browser via the CXM tag and the way CXM stores these elements in its database ensure **the CXM tag is excluded from the scope of GDPR**. Indeed, the figures sent through the tag are purely technical and **not personally identifiable**. The CXM dashboard allows observing site behavior for different browser types (Chrome, Mobile Safari, EDGE, ...) but without any possibility to identify a unique user. +Unlike synthetic monitoring (which uses bots to simulate visits on a schedule), RUM captures real conditions - actual devices, browsers, network speeds, and usage patterns. This means you see the performance your users actually experience, not lab results. -Once this tag is in place, CXM can record the experience perceived by all users **with or without sampling**, which provides a very precise view of key performance metrics (e.g., TTFB, Speed Index, full page load time, etc.). +## How it works -The **key benefits** provided by RUM are: - -- an **objective** view of performance because it is measured **by the users themselves**. Example: if the site is mostly visited by users on Safari and the site's code runs particularly poorly on that browser, it will be immediately visible that a problem **on that specific browser** impacts a large portion of the site's traffic. - -![image](../assets/getting-started/rum-2.png) - -- an **exhaustive** view of performance for **all pages** visited by users. This is a major difference compared to [Synthetic Monitoring](./synthetic-monitoring.md), which measures certain reference pages or journeys. Conversely, the RUM data collector will record performance metrics (TTFB, Speed Index, etc.) **every time a click is made** on the site. The result is the construction of a cross-cutting, real-time view of the most visited pages with their respective performance scores: - -![image](../assets/getting-started/rum-3.png) - -> Next: how to [Install Real User Monitoring](../installation/real-user-monitoring-installation.md). +RUM works by injecting a small JavaScript snippet into your web pages. This snippet runs in the user's browser and collects data about their actual session — then sends that data back to Centreon Experience Monitoring for analysis. The snippet is unintrusive and has no impact on Google Analytics for instance. diff --git a/cxm/how-to-articles/faq.md b/cxm/how-to-articles/faq.md index e471d0870693..02c0e4eb6537 100644 --- a/cxm/how-to-articles/faq.md +++ b/cxm/how-to-articles/faq.md @@ -1,9 +1,9 @@ --- id: faq -title: FAQ +title: Agent FAQ --- -## Which firewall ports should be opened for the CXM agent? +## Which firewall ports should be opened for the Experience Monitoring agent? To ensure the agent works, outgoing HTTPS connections [to our IP addresses](../installation/cxm-ip-addresses.md) must be allowed. @@ -11,21 +11,6 @@ For package installation, your server must also be allowed to connect via HTTP t You can also set up an HTTP proxy if your server does not have direct internet access. Add your proxy URL in the agent configuration (**/etc/quanta/agent.yml**) by adding a line like `proxy_url: http://user:password@1.2.3.4` under the "server" category. -## I don't see data coming in, where can I find information to troubleshoot? - -The agent uses syslog for logging; you will generally find logs in **/var/log/daemon.log** or **/var/log/syslog**. If you can't find the source of the error, please contact us. - -You can send logs to another file by changing the **file** variable under the **logger** section in **/etc/quanta/agent.yml** (make sure to set up log rotation). - -## I have Varnish on my server and installed the Varnish module but see no data, how can I fix this? - -It's likely that your Varnish instance is not the default one, meaning you use the -n `name` flag to start Varnish and for admin commands. -If so, just add the following configuration in **/etc/quanta/modules.d/varnish.yml**: - -*varnish:* - -*instance: your_instance_name* - ## I have multiple Redis, Memcached, or Varnish instances, can I monitor them all? Yes, from agent version 1.1.0. @@ -64,7 +49,7 @@ For Varnish, the "instance" parameter is also used as the Varnish instance name, We recommend installing the agent on all servers in your infrastructure. However, if you can't on some servers (e.g., on a database) and still want to monitor MySQL, you can change the **host** parameter in the agent configuration (**/etc/quanta/modules.d/service.yml**). -## My server is shared between several sites, each with a CXM subscription. How can data be visible on both sites? +## My server is shared between several sites, each with an Experience Monitoring subscription. How can data be visible on both sites? To link a server to multiple sites, you can specify several tokens (one per site) in **/etc/quanta/agent.yml**, separated by commas, e.g., "quanta_token: tokensite1,tokensite2". @@ -72,54 +57,48 @@ The server will be created on both sites and system data will be sent to both. There are some limitations if both sites use the PHP module: -- Magento events will be sent to both sites, regardless of which site generated them. -- Information in the Magento section of the CXM interface will be from one site or the other (and may not be correct). - -## I already installed the Magento module, how does the update work? - -The update is automatic; when we receive the first metrics from the new PHP extension, we stop querying the old Magento module. When a scenario uses the new PHP module, you will see a "new module" flag in your scenario configuration. - -We recommend uninstalling the old module once the new one is installed. +- PHP events will be sent to both sites, regardless of which site generated them. +- Information in the PHP section of the Experience Monitoring interface will be from one site or the other (and may not be correct). -## Do I need to create my server in CXM? +## Do I need to create my server in Experience Monitoring? -No, creation is automatic the first time we receive data. If your server already existed in CXM, its configuration will be updated automatically. +No, creation is automatic the first time we receive data. If your server already existed in Experience Monitoring, its configuration will be updated automatically. -You must manually delete the server in CXM if you remove it from your infrastructure. +You must manually delete the server in Experience Monitoring if you remove it from your infrastructure. -# I'm concerned about my server's security, can you explain how the CXM agent and PHP module work? +## I'm concerned about my server's security, can you explain how the Experience Monitoring agent and PHP module work? We care as much as you do about the security of our tools. Here is a technical description: All packages we provide are signed with a GPG key you must install in your package system to verify their origin. -### CXM agent +### Experience Monitoring agent -The CXM agent is a background service (daemon) on your server that performs several operations: +The Experience Monitoring agent is a background service (daemon) on your server that performs several operations: - It collects system data by reading files in **/proc**. - It collects data on active services (Apache, Nginx, Varnish, Memcached, Redis, MySQL), usually via a service connection. No privileged user is ever needed for the agent to access this data. - It receives data from the PHP module via a Unix socket (permissions are configurable). -- It sends collected data to CXM via secure HTTPS (using a proxy is possible). +- It sends collected data to Experience Monitoring via secure HTTPS (using a proxy is possible). -All CXM agent modules can be disabled independently. +All Experience Monitoring agent modules can be disabled independently. The agent starts as root for initialization (socket opening, config loading, etc.) but switches to a standard user for all collection operations (user and group are configurable). -Data collected by the agent is stored in memory before being sent to CXM and is never stored elsewhere. +Data collected by the agent is stored in memory before being sent to Experience Monitoring and is never stored elsewhere. -### PHP module +### PHP profiler -The PHP module is a PHP extension (dynamic library) loaded by PHP during execution. +The PHP profiler is a PHP extension (dynamic library) loaded by PHP during execution. It collects data only: - When you perform actions in your back office - During requests made by our probes (identified by a specific header). -The module does not alter application behavior; it only collects profiling information about Magento. +The module does not alter application behavior; it only collects profiling information about PHP. -The module also has an "xhprof" mode (full execution profiling), which works similarly but is never activated by CXM without user action. +The module also has an "xhprof" mode (full execution profiling), which works similarly but is never activated by Experience Monitoring without user action. Data is sent to the agent via the designated Unix socket and is never stored or sent elsewhere. diff --git a/cxm/how-to-articles/rum-blocked-by-csp.md b/cxm/how-to-articles/rum-blocked-by-csp.md index 43518b6ad8fb..7198f3f541ff 100644 --- a/cxm/how-to-articles/rum-blocked-by-csp.md +++ b/cxm/how-to-articles/rum-blocked-by-csp.md @@ -1,11 +1,13 @@ --- id: rum-blocked-by-csp -title: A strict Content Security Policy (CSP) blocks the RUM data collection +title: Troubleshooting RUM --- +## A strict Content Security Policy (CSP) blocks the RUM data collection + In certain web environments with an enforced security policy ([Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP)), the Centreon Real User Monitoring (RUM) tag may require additional configuration. The issue is rare, but can prevent RUM data from being transmitted until the Quanta domains are correctly authorized. -## Symptom - RUM data is not being transmitted +### Symptom - RUM data is not being transmitted If you have installed the Quanta RUM tag via GTM or Axeptio and you observe that: - the Quanta script loads correctly, @@ -14,7 +16,7 @@ If you have installed the Quanta RUM tag via GTM or Axeptio and you observe that Your site uses a CSP that requires an update. This behavior is completely normal in environments where the security policy is strict (banking, advanced retail, sites under WAF/CDN, etc.). -## Issue - The RUM tag is blocked by a CSP +### Issue - The RUM tag is blocked by a CSP CXM uses a script loaded from ``https://appstatic.quanta.io``, and then sends its performance metrics to ``https://rum-metrics.quanta.io``. On the large majority of sites, this works automatically, including when the tag is installed via GTM, Axeptio or another manager. However, some sites implement an advanced Content Security Policy (CSP). @@ -28,7 +30,7 @@ This is a security mechanism that precisely defines: > In Chrome DevTools, this appears as ``blocked:csp`` on the ``beacon.gif`` type request. -## Solution - Add authorizations +### Solution - Add authorizations To allow the RUM module to work while strictly respecting your security rules, simply add the two Quanta domains to the appropriate directives. @@ -49,7 +51,7 @@ Even if the current beacon passes through ``img-src``, this addition ensures com - future optimizations of the RUM API, - enforced security environments. -## CSP adjustment example +### CSP adjustment example Here is a schematic example (to be adapted to your existing configuration): diff --git a/cxm/installation/cxm-ip-addresses.md b/cxm/installation/cxm-ip-addresses.md index d082b7de6c10..c02bcbe2d60e 100644 --- a/cxm/installation/cxm-ip-addresses.md +++ b/cxm/installation/cxm-ip-addresses.md @@ -40,13 +40,3 @@ If that's the case, here is the list of IP addresses you should whitelist to all - 99.81.201.50 - 176.34.232.22 - 185.48.122.159 - -## Endpoint addresses for server agents - -If you use server agents (the “System” section in CXM), each of your servers regularly sends data (once per minute) to the CXM service. - -This is outbound HTTPS traffic (port 443) and is often allowed by default. However, if your firewall rules are strict and you need to allow specific destinations for CXM, list the following destination IP addresses: - -- 52.215.166.110 -- 52.215.179.235 -- 52.215.180.115 diff --git a/cxm/installation/installation-checklist.md b/cxm/installation/installation-checklist.md index a0e3ef5e31b9..c8622f65bffb 100644 --- a/cxm/installation/installation-checklist.md +++ b/cxm/installation/installation-checklist.md @@ -1,49 +1,54 @@ --- id: installation-checklist -title: CXM Installation checklist +title: Experience Monitoring installation checklist --- -This list covers the requirements to ensure proper operation of CXM's different modules for a given site. +This list shows the requirements needed for Centreon Experience Monitoring's features to run properly on a given site. (Bear in mind that some features may not be included in your license.) -## User journeys +## User journeys/Synthetic monitoring (STM) -There is **nothing to install** because CXM connects to your application just like any regular user. +There is nothing to install because CXM connects to your application just like any regular user. -However, depending on the security level on your site, you may need to allow our IP addresses so that your anti-bot system does not block our probes. If that's the case, you'll find the procedure here: +However, depending on the security level on your site, you may need to allow our IP addresses so that your anti-bot system does not block our probes. If that's the case, you'll [find the procedure here](./cxm-ip-addresses.md). -[CXM IP addresses](./cxm-ip-addresses.md) +## Real User Monitoring (RUM) -## Real User Monitoring +Real User Monitoring installs like any marketing tag: by inserting a JavaScript tag into your site's HEAD element. For the full procedure and installation instructions, see [Setting up RUM](./real-user-monitoring-installation.md). -Real User Monitoring installs like any marketing tag: by inserting a JavaScript tag. For the full procedure and installation instructions, see: +## Digital sobriety -[Install Real User Monitoring](./real-user-monitoring-installation.md) +Digital sobriety scores are calculated from STM and RUM data. If STM and RUM are properly installed and configured, no additional installation is required. -## System agent +## Analyze a site's business data (Google Analytics/Matomo) -CXM's system functionality requires at minimum the installation of system agents, then adding modules depending on the level of detail required or allowed by your license. +To correlate your business data with other Experience Monitoring data, you need to [link your Google Analytics or Matomo account to Experience Monitoring](../configuration/configure-google-analytics.md). -### Minimal installation +In the **Business data** page: -To install the system agents, follow the detailed procedure here: +* The **Journey and revenues** tab contains data only if you have configured a [user journey](#user-journeyssynthetic-monitoring-stm). -[Install system agents](./servers/install-system-agents.md) +* The **Infratructure cost/click** contains data only if you have configured an agent collecting [system data](#system-data-monitor-the-health-of-your-host-server). -### Installation for advanced metrics +## System data: monitor the health of your host server -After the agent is installed, you can install additional modules: +To monitor the health of your host server, you need to install a system agent on it. Additional modules can be added depending on the level of detail you need or your license allows. -- Application agents for Apache, MySQL, Varnish, … to obtain information specific to those services: - - [Add advanced metrics](./servers/add-advanced-metrics.md) - -- The profiler, compatible with any PHP application such as Magento or OroCommerce: - - [Install the PHP / Magento / OroCommerce profiler](./servers/install-php-magento-orocommerce-profiler.md) - +* [Install the system agent](./servers/install-system-agents.md) to retrieve basic information about your server. +* After the agent is installed, you can install additional modules: -## Automatic events + * If your application runs on Apache, MySQL, Varnish (...), [install a dedicated agent](./servers/add-advanced-metrics.md) to collect data from those services. + * If you are using a PHP application (e.g. Magento or OroCommerce), [install the PHP profiler](./servers/install-php-magento-orocommerce-profiler.md). -You can add events manually in the UI, or automatically via the API. **This is especially useful when you deploy a new version of your site.** We recommend setting this up so changes are recorded in CXM. +## Check a site's network performance -[Automatically track production deployment events](./monitor-production-events.md) +You don't need to do anything - data appears automatically on the **Network data** page. + +## Run a load test + +You don't need to install anything to be able to run load tests. You just need to configure a user journey. + + \ No newline at end of file diff --git a/cxm/installation/real-user-monitoring-installation.md b/cxm/installation/real-user-monitoring-installation.md index ab543b294c6c..411a64628061 100644 --- a/cxm/installation/real-user-monitoring-installation.md +++ b/cxm/installation/real-user-monitoring-installation.md @@ -1,56 +1,52 @@ --- id: real-user-monitoring-installation -title: Install Real User Monitoring +title: Setting up RUM --- -## GDPR considerations - -Although CXM uses a cookie, **no consent is required.** +Real User Monitoring (RUM) requires inserting a JavaScript tag into your site's pages. -The CNIL (French data protection authority) exempts certain cookies from requiring consent under these conditions: - -- they have a limited purpose such as measuring performance, detecting navigation issues, optimizing technical performance or usability... -- they produce only anonymous statistics -- they are not cross-referenced with other datasets -- they are not transmitted to third parties -- they do not enable tracking a user's browsing across other websites. +## Procedure -**CXM meets these conditions.** +1. To retrieve your application's RUM tag, go to **Configuration > Integrations**: -You can find CNIL's recommendations on [this page](https://www.cnil.fr/fr/cookies-et-autres-traceurs/regles/cookies-solutions-pour-les-outils-de-mesure-daudience). + ![image](../assets/installation/install-rum-1.png) -## Find the tag to insert on my site + The tag is displayed on the screen with a copy button. -Real User Monitoring (RUM) requires installing a JavaScript tag. The tag is available in the application. To retrieve it, go to **Configuration > Integrations**: + ![image](../assets/installation/install-rum-2.png) -![image](../assets/installation/install-rum-1.png) +2. Insert the tag into your site's HEAD section. The operation can be done manually by a developer, or alternatively it can be added to a tag manager such as GTM by following the procedure below. -You will then find the tag on that screen with a button to copy it easily: +3. Go to **Real User Monitoring**. You should see data appear in a matter of minutes. -![image](../assets/installation/install-rum-2.png) +### Using GTM to add a Centreon RUM tag to your pages -This tag should be inserted into the site's HEAD section. The operation can be done manually by a developer, or alternatively **it can be added to a tag manager such as GTM by following the procedure below**. +1. Create a new tag: sign in to your GTM account and select the container for your website. Click **Add a new tag**. -### Using GTM to add a CXM tag to your pages +2. Configure the tag: -**1 — Create a new tag** + 1. Select **Custom HTML Tag** as the tag type. + 2. Paste the script provided into the HTML field. + 3. Ensure the script type is correctly set to **JavaScript** if required. GTM usually handles this automatically, but it's good to check. -Sign in to your GTM account and select the container for your website. Click "Add a new tag." +3. Set triggers: choose when you want the script to execute. You can apply it to all pages or to specific pages depending on your needs. Triggers allow precise control over when the script runs. -**2 — Configure the tag** +4. Save and test the tag: after configuring the tag and its triggers, save it and use GTM's preview feature to test whether the script works as expected on your site. This lets you see changes in real time without affecting real visitors. -Select "Custom HTML Tag" as the tag type. -Paste the script provided into the HTML field. -Ensure the script type is correctly set to "JavaScript" if required. GTM usually handles this automatically, but it's good to check. +5. Publish the changes: once you've checked everything works correctly, remember to publish the changes in GTM so the script is active on your live site. -**3 — Set triggers** +## GDPR considerations -Choose when you want the script to execute. You can apply it to all pages or to specific pages depending on your needs. Triggers allow precise control over when the script runs. +Although Experience Monitoring uses a cookie, **no consent is required.** -**4 — Save and test the tag** +The CNIL (French data protection authority) exempts certain cookies from requiring consent under these conditions: -After configuring the tag and its triggers, save it and use GTM's preview feature to test whether the script works as expected on your site. This lets you see changes in real time without affecting real visitors. +- they have a limited purpose such as measuring performance, detecting navigation issues, optimizing technical performance or usability... +- they produce only anonymous statistics +- they are not cross-referenced with other datasets +- they are not transmitted to third parties +- they do not enable tracking a user's browsing across other websites. -**5 — Publish the changes** +**Experience Monitoring meets these conditions.** -Once you've checked everything works correctly, remember to publish the changes in GTM so the script is active on your live site. +You can find CNIL's recommendations on [this page](https://www.cnil.fr/fr/cookies-et-autres-traceurs/regles/cookies-solutions-pour-les-outils-de-mesure-daudience). diff --git a/cxm/installation/servers/add-advanced-metrics.md b/cxm/installation/servers/add-advanced-metrics.md index f8cda729f087..70cf15e182ad 100644 --- a/cxm/installation/servers/add-advanced-metrics.md +++ b/cxm/installation/servers/add-advanced-metrics.md @@ -1,122 +1,162 @@ --- id: add-advanced-metrics -title: Add Advanced Metrics +title: Install application agents --- -The CXM agent includes modules (or application agents) that allow you to collect system data from various components of your infrastructure, such as Apache, MySQL, Redis, Varnish, PostgreSQL, and more. +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -> These application agents must be installed **after** installing the system agent. [Refer to the dedicated page to install the agent](./install-system-agents.md) +Application agents allow you to collect system data from various components of your infrastructure, such as Apache, MySQL, Redis, Varnish, PostgreSQL, and more. The collected data will appear in dedicated tabs on the **System data** page. + +## Prerequisites + +> Before installing application agents, you must install the [system agent](./install-system-agents.md). ## Apache 1. Install the package. -*On Debian* + + ```bash apt-get install quanta-agent-apache ``` - *On CentOS* + + ```bash yum install quanta-agent-apache ``` -2. Verify that the status module (*mod_status* of Apache) is correctly configured on your server with the following command: + + - ``` +2. Verify that the status module (**mod_status** module of Apache) is correctly configured on your server with the following command: + + ```shell curl http://127.0.0.1/server-status ``` 3. If not, you will need to [enable the **mod_status** module in Apache](https://httpd.apache.org/docs/current/en/mod/mod_status.htmll) -4. If you want to modify the URL used by our module, you can edit the following file: **/etc/quanta/modules.d/apache.yml**. +4. If you want to modify the URL used by our module, you can edit the following file: + + ```shell + /etc/quanta/modules.d/apache.yml + ``` + 5. Restart the agent: ```bash systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see an **Apache** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. ## MySQL 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-mysql ``` - *On CentOS* + + ```bash yum install quanta-agent-mysql ``` + + + 2. We recommend creating a dedicated MySQL user for our probe, although it is not mandatory. For example, use the command below: ```bash - echo "CREATE USER quanta@localhost IDENTIFIED BY 'supersecret'; " | mysql -u root -p + echo "CREATE USER quanta@localhost IDENTIFIED BY 'XXXXX'; " | mysql -u root -p + ``` + +3. Enter the username and password you chose in the following file: + + ```shell + /etc/quanta/modules.d/mysqlstat.yml ``` -3. Enter the username and password you chose in the following file: **/etc/quanta/modules.d/mysqlstat.yml**. 4. Restart the agent: ```bash systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see a **MySQL** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. ## PostgreSQL 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-postgresql ``` - *On CentOS* + + ```bash yum install quanta-agent-postgresql ``` + + + 2. We recommend creating a dedicated PostgreSQL user for our probe, although it is not mandatory. For example, use the command below: ```bash - echo "CREATE ROLE quanta LOGIN password 'supersecret';" | sudo -u postgres psql postgres + echo "CREATE ROLE quanta LOGIN password 'XXXXX';" | sudo -u postgres psql postgres ``` -3. Enter the username and password you chose in the following file: **/etc/quanta/modules.d/postgresql.yml**. +3. Enter the username and password you chose in the following file: + + ```shell + /etc/quanta/modules.d/postgresql.yml. + ``` + 4. Restart the agent: ```bash systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see a **PostgreSQL** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. ## Nginx 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-nginx ``` - *On CentOS* + + ```bash yum install quanta-agent-nginx ``` + + + 2. Check that the status module is correctly configured on your server with the following command: ```bash @@ -124,32 +164,43 @@ You should see metrics appear in CXM within a few minutes. ``` 3. If not, you will need to set up the correct configuration as [described here](http://nginx.org/en/docs/http/ngx_http_stub_status_module.html). -4. If you want to modify the URL used by our module, you can edit the following file: **/etc/quanta/modules.d/nginx.yml**. + +4. If you want to modify the URL used by our module, you can edit the following file: + + ```shell + /etc/quanta/modules.d/nginx.yml + ``` + 5. Restart the agent: ```bash systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see an **Nginx** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. ## Varnish 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-varnish ``` - *On CentOS* + + ```bash yum install quanta-agent-varnish ``` -2. If you are using multiple Varnish instances, specify which instance you want to send data to Quanta by adding the following lines at the end of the following file **/etc/quanta/modules.d/varnish.yml**: + + + +2. If you are using multiple Varnish instances, specify which instance you want to send data to Quanta by adding the following lines at the end of the following file: **/etc/quanta/modules.d/varnish.yml**: ```bash varnish: @@ -162,32 +213,54 @@ You should see metrics appear in CXM within a few minutes. systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see a **Varnish** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command, and see the troubleshooting information below. + +### Troubleshooting Varnish + +**I have Varnish on my server and installed the Varnish module but see no data, how can I fix this?** + +It's likely that your Varnish instance is not the default one, meaning you use the -n `name` flag to start Varnish and for admin commands. +If so, just add the following configuration in **/etc/quanta/modules.d/varnish.yml**: + +```shell +varnish: +instance: your_instance_name +``` ## Redis 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-redis ``` - *On CentOS* + + ```bash yum install quanta-agent-redis ``` -2. If you are not using the default port (6379), edit the following file: **/etc/quanta/modules.d/redis.yml**. + + + +2. If you are not using the default port (6379), edit the following file: + + ```shell + **/etc/quanta/modules.d/redis.yml**. + ``` + 3. If you are using Redis authentication, uncomment the line and enter the password in the **/etc/quanta/modules.d/redis.yml** file: ```bash auth: password ``` -4. If you are using multiple Redis instances, specify which instance you want to send data to Quanta by adding the following lines at the end of the **/etc/quanta/modules.d/redis.yml** file: +4. If you are using multiple Redis instances, specify which instance you want to send data to Experience Monitoring by adding the following lines at the end of the **/etc/quanta/modules.d/redis.yml** file: ```bash instance: your_instance_name @@ -199,31 +272,49 @@ You should see metrics appear in CXM within a few minutes. systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see a **Redis** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. ## Memcached 1. Install the package: -*On Debian* + + ```bash apt-get install quanta-agent-memcached ``` - *On CentOS* + + ```bash yum install quanta-agent-memcached ``` -2. If you are not using the default port (11211), edit the following file: **/etc/quanta/modules.d/memcached.yml**. + + + +2. If you are not using the default port (11211), edit the following file: + + ```shell + /etc/quanta/modules.d/memcached.yml + ``` + 3. Restart the agent: ```bash systemctl restart quanta-agent ``` -You should see metrics appear in CXM within a few minutes. + You should see a **Memcached** tab with metrics appear in the **System data** page within a few minutes. If not, check the logs using the **journalctl** command. + +## Adaptation for managed/cloud services + +Some cloud providers offer managed services - for example AWS provides RDS and ElastiCache for managed databases and caching. These managed services are typically provided as a black box and do not allow you to install packages on their instances. + +To work around this, install an agent on another instance you control (for example a front) and have it monitor the remote managed service by pointing it at the service's IP and port. + +For example, for RDS you can deploy the `quanta-agent-mysql` agent (see the standard guide) and edit the `/etc/quanta/modules.d/mysqlstat.yml` agent configuration file to specify the host and port of the managed service (IP and port). -> The PHP profiler must be installed separately. Refer to the dedicated page, [**Install the PHP / Magento / OroCommerce Profiler**](./install-php-magento-orocommerce-profiler.md) +If you use multiple ElastiCache instances or equivalents (multiple cache types and session stores), you can configure the Redis (or Memcached) agent to target the different backends. diff --git a/cxm/installation/servers/cloud-configuration-of-agents.md b/cxm/installation/servers/cloud-configuration-of-agents.md index 7300d6338532..4bdc607f38c5 100644 --- a/cxm/installation/servers/cloud-configuration-of-agents.md +++ b/cxm/installation/servers/cloud-configuration-of-agents.md @@ -1,40 +1,34 @@ --- id: cloud-configuration-of-agents -title: Configuring our agents for the cloud +title: Install the agent in autoscaling environments --- -With the rise of cloud, managed services, IaaS and PaaS, our packages are no longer sufficient by themselves and each infrastructure uses its own orchestration processes for deploying new servers (VMs or containers). +This page applies if your application or site is hosted on Docker or in an autoscaling environment. -If this applies to you, this article explains how to configure our agents using your orchestrators. +With the rise of cloud, managed services, IaaS and PaaS, each infrastructure uses its own orchestration processes for deploying new servers (VMs or containers). Autoscaling environments are dynamic: machines are constantly being created and destroyed. You will need to deploy the system agent and application agents on each machine. -## Standard installation procedure +## How the hostid works -To understand the following steps, you can find the standard installation guide for our agent here: +The use of the Experience Monitoring agent is fully compatible with containerized infrastructures, but it requires a slight variation in the installation process. -[Install system agents](./install-system-agents.md) +### Explanation -And the installation guide for our PHP module (if you use that technology) here: +The **hostid** is an internal parameter that allows Experience Monitoring to uniquely identify a server. Each server must have a unique **hostid**, which is automatically configured by the installation script (using the MAC address of the first network interface without `:` characters). -[Install the PHP / Magento / OroCommerce profiler](./install-php-magento-orocommerce-profiler.md) +However, in the case of Docker containers, the configuration prevents the installation script from finding this value. In autoscaling systems (like AWS ASG or Azure Scale Set), the image copy also duplicates the **hostid**. -## Cloud-specific considerations +### Workaround -When instances (VMs or containers) are deployed automatically or semi-automatically, some configuration fields must be modified or replicated for each newly created instance: - -- **Token**: The identification token must be the same for all CXM agents that belong to the same license and site. It is stored in the `/etc/quanta/agent.yml` configuration file. The token tells the agent which site the monitored data belongs to. -- **Hostid**: Also located in `/etc/quanta/agent.yml`. The hostid is a unique identifier used by CXM to uniquely identify an instance: - - In most cases the hostid must be different for each new instance, so your new instance `front-nginx-3` won't overwrite the data sent by `front-nginx-2`. - - In auto-scaling scenarios you may need to preserve a stable identifier when an instance is removed and later recreated. For example, if you add a fourth front each evening at 19:00 to handle peak traffic and remove it at 21:00, you probably want to avoid seeing a new chart created every day in CXM (and a rapidly growing list of charts). In that case you should use a unique identifier each time you remove and recreate that front so its data always appears in the same chart. -- **Hostname**: Also in `/etc/quanta/agent.yml`, this setting lets you assign a label to your instance. Unlike hostid, hostname is just a human-friendly name to make charts easier to read (for example `VM prod 006 - Varnish - 3`). You can also change it from the CXM UI. - -## Adaptation for managed/cloud services +To have a unique **hostid**, you can configure it in the **/etc/quanta/agent.yml** file via a script at container or VM startup (**bootstrap script**). You can specify a unique identifier generated at runtime (e.g., using AWS metadata or Docker environment variables) or use a unique element like the UUID value from **/proc/sys/kernel/random/uuid**. -Some cloud providers offer managed services - for example AWS provides RDS and ElastiCache for managed databases and caching. These managed services are typically provided as a black box and do not allow you to install packages on their instances. +## Adapting the standard procedure -To work around this, install an agent on another instance you control (for example a front) and have it monitor the remote managed service by pointing it at the service's IP and port. +To [install the system agent, you must follow the basic procedure](./install-system-agents.md), but make sure you manage the following parameters correctly. -For example, for RDS you can deploy the `quanta-agent-mysql` agent (see the standard guide) and edit the `/etc/quanta/modules.d/mysqlstat.yml` agent configuration file to specify the host and port of the managed service (IP and port). - -If you use multiple ElastiCache instances or equivalents (multiple cache types and session stores), you can configure the Redis (or Varnish or Memcached) agent to target the different backends. The guide for this is here: +When instances (VMs or containers) are deployed automatically or semi-automatically, some configuration fields must be modified or replicated for each newly created instance: -[Add advanced metrics](./add-advanced-metrics.md) +- **Token**: The identification token must be the same for all Experience Monitoring agents that belong to the same license and site. It is stored in the `/etc/quanta/agent.yml` configuration file. The token tells the agent which site the monitored data belongs to. +- **Hostid**: Also located in `/etc/quanta/agent.yml`. The hostid is a unique identifier used by Experience Monitoring to uniquely identify an instance: + - For static servers, the hostid must be different for each new instance, so your new instance `front-nginx-3` won't overwrite the data sent by `front-nginx-2`. + - In auto-scaling scenarios, you may need to preserve a stable identifier when an instance is removed and later recreated. For example, if you add a fourth front each evening at 19:00 to handle peak traffic and remove it at 21:00, you probably want to avoid seeing a new chart created every day in Experience Monitoring (and a rapidly growing list of charts). In that case you should reuse a hostid in a pool of unique identifiers each time you remove and recreate that front so its data always appears in the same chart. +- **Hostname**: Also in `/etc/quanta/agent.yml`, this setting lets you assign a label to your instance. Unlike hostid, hostname is just a human-friendly name to make charts easier to read (for example `VM prod 006 - Varnish - 3`). You can also change it from the Experience Monitoring UI. diff --git a/cxm/installation/servers/install-php-magento-orocommerce-profiler.md b/cxm/installation/servers/install-php-magento-orocommerce-profiler.md index e8a04da6e3fe..e275fd832a95 100644 --- a/cxm/installation/servers/install-php-magento-orocommerce-profiler.md +++ b/cxm/installation/servers/install-php-magento-orocommerce-profiler.md @@ -1,17 +1,22 @@ --- id: install-php-magento-orocommerce-profiler -title: Install the PHP / Magento / OroCommerce Profiler +title: Install the PHP profiler --- -The CXM PHP module comes as a PHP extension that allows you to collect detailed information about the execution time of each part of your CMS. +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> This module will be deprecated soon. + +The PHP profiler allows you to collect detailed information about the execution time of each part of a PHP application (e.g. Magento, Orocommerce...). The collected data will appear in a dedicated tab on the **System data** page. ## Prerequisites -> The profiler requires the installation of the system agent. [Refer to the dedicated page to install the agent](./install-system-agents.md). +> Before installing the PHP profiler, you must install the [system agent](./install-system-agents.md). ## Compatibility -| Distribution | OS Version | PHP Version | CXM PHP Module | +| Distribution | OS Version | PHP Version | Experience Monitoring PHP Module | |--------------|------------|-------------|-------------------| | Debian | Buster (10) | 7.3/7.4/8.0/8.1/8.2/8.3 | 1.3.4 | | Debian | Bullseye (11) | 7.3/7.4/8.0/8.1/8.2/8.3 | 1.3.4 | @@ -25,9 +30,12 @@ The CXM PHP module comes as a PHP extension that allows you to collect detailed > The PHP module must be installed on every server running your PHP application. -### Install the CXM PHP Module for Debian / Ubuntu +### Step 1: install the package + + + -You must have added the CXM repositories, which you should already have done during the system agent installation. +You must have added the Experience Monitoring repositories, which you should already have done during the system agent installation. Depending on your PHP version, install the corresponding package. Here are a few examples: @@ -67,9 +75,10 @@ Then, enable the extension with the following command: phpenmod quanta_mon ``` -### Install the CXM PHP Module for CentOS / RedHat + + -You must have added the CXM repositories, which you should already have done during the system agent installation. +You must have added the Experience Monitoring repositories, which you should already have done during the system agent installation. Depending on your PHP version, install the corresponding package, for example: @@ -97,13 +106,17 @@ Then, enable the extension with the following command: phpenmod quanta_mon ``` -### Install the PHP Module for Other OSs + + We do not officially support packages for other operating systems. However, you can compile the module yourself, as the source code is [available on GitHub](https://github.com/quanta-computing/quanta-php-module). -## Configure Your Backoffice URL if You Use Magento + + -If you use Magento and a custom URL is used to access the Magento backoffice (i.e., a URL that does **not** start with **"/admin/"**), you must modify the module configuration so that Magento-type events are correctly reported in CXM. +### Step 2 (optional): Configure your Magento backoffice URL + +If you use Magento and a custom URL is used to access the Magento backoffice (i.e., a URL that does **not** start with **"/admin/"**), you must modify the module configuration so that Magento-type events are correctly reported in Experience Monitoring. This file is usually located here for Debian/Ubuntu: @@ -125,7 +138,7 @@ For example, if your backoffice URL is "http://admin.mysite.com/admin_123456/", quanta_mon.admin_url="/admin_123456/" ``` -## Restarting the Web Server +### Setp 3: Restart the web server After installing the module, you must restart your web service so that the PHP extension is loaded and activated. @@ -141,12 +154,10 @@ After installing the module, you must restart your web service so that the PHP e systemctl restart php8.2-fpm ``` -## Checking That Everything Works +## Check that everything works -Once everything is installed **and the web scenario has been created in CXM**, go to the Web Scenario menu, then click “+ details” in the legend of one of the pages requiring PHP execution (for example: a Cart page, which is usually never cached). +Once everything is installed **and the web scenario has been created in Experience Monitoring**, go to the Web Scenario menu, then click “+ details” in the legend of one of the pages requiring PHP execution (for example: a Cart page, which is usually never cached). You should then see an “Application” tab (otherwise this tab is grayed out) with information about the time spent in PHP. In the case of a Magento (v1 or 2) CMS or the OroCommerce platform, the color coding differs: it is orange for Magento and yellow for OroCommerce. - -> Advanced metrics (Apache, MySQL, Redis, etc.) must be installed separately. [Refer to the dedicated page](./add-advanced-metrics.md). diff --git a/cxm/installation/servers/install-system-agents.md b/cxm/installation/servers/install-system-agents.md index c0ed1c22e1ef..d8d11702b9fc 100644 --- a/cxm/installation/servers/install-system-agents.md +++ b/cxm/installation/servers/install-system-agents.md @@ -1,57 +1,67 @@ --- id: install-system-agents -title: Install System Agents +title: Install the agent on a static server --- -To add, modify, or delete a server in CXM, you must have “Admin” or “Owner” permissions on your Organization. Ask your administrator or CXM support to grant you the correct rights ([support@quanta.io](mailto:support@quanta.io)). +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -At this time, it is not possible to link a server to multiple sites, whether within the same Organization or not. +Sending information to Experience Monitoring requires installing the Experience Monitoring agent on all servers you wish to monitor. -Sending information to the CXM application requires installing the CXM agent on all servers you wish to monitor. +* The agent is only compatible with Linux. +* This procedure can be used directly if your application or site is hosted on a static server. For autoscaling environments (including Docker), it must be adapted to manage the **hostid** correctly. See [Install the agent in autoscaling environments](cloud-configuration-of-agents.md). -> System agents must be able to communicate with our infrastructure. You may need to whitelist our [IP addresses](../cxm-ip-addresses.md). +At this time, it is not possible to link a server to multiple sites, whether within the same organization or not. -## Get the Token +## Compatibility -To install CXM System Agents, you will need your **auto-registration token**. It is available in *Configuration > System.* + -See where to find the token in this video: + -[Find the token for system agents](https://www.loom.com/share/8e1958d64017451a8a0b7a63ab5c8185) +## Prerequisites -## Proceed with Installation +* To install the Experience Monitoring agent, you will need an **auto-registration token**. Each site has its own token. To retrieve a token, in the site you want, go to **Settings > System**. The token is displayed in a green box. (See a [video tutorial](https://www.loom.com/share/8e1958d64017451a8a0b7a63ab5c8185).) -> If you are using Docker containers or autoscaling systems (AWS ASG, Azure Scale Set, or others), refer to the **Installation for Docker and Autoscaling Systems** section before installing on the OS. +* System agents must be able to communicate with our infrastructure. You may need to whitelist our [IP addresses](#endpoint-addresses-for-server-agents). -### Installation for Debian +* To add, modify, or delete a server in Experience Monitoring, you must have **Admin** or **Owner** permissions on your organization. Ask your administrator or support to grant you the correct rights. -To install the CXM agent: +## Installation procedure + + + 1. Add the following line to the **/etc/apt/sources.list.d/quanta.list** file. - -*For Buster (versions 10.*)* + + + ```bash deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] http://apt.quanta.io/debian buster main ``` - *For Bullseye (versions 11.*)* + + ```bash deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/debian bullseye main ``` - *For Bookworm (versions 12.*)* + + ```bash deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/debian bookworm main ``` - If unsure of your version, you can read the **/etc/debian_version** file. - - ### `BETA` Version + + -> To use the **BETA** version, simply replace `main` at the end of the line with `beta`. + If unsure of your version of Debian, you can read the **/etc/debian_version** file. 2. Download and add the **GPG** key for our repository: @@ -71,35 +81,38 @@ To install the CXM agent: apt install quanta-agent ``` -You will be prompted for the token during installation, and system data should appear in CXM within a minute. + You will be prompted for the token during installation, and system data should appear in Experience Monitoring within a minute. You can then install [application agents](./add-advanced-metrics.md) or [the PHP profiler](install-php-magento-orocommerce-profiler.md) if you need them. -### Installation for Ubuntu + + -To install the CXM agent: +To install the Experience Monitoring agent: 1. Add the following line to the **/etc/apt/sources.list.d/quanta.list** file. -*For Jammy* - - ```bash - deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu jammy main - ``` + + - *For Kinetic* + ```bash + deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu jammy main + ``` - ```bash - deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu kinetic main - ``` + + - *For Lunar* + ```bash + deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu kinetic main + ``` - ```bash - deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu lunar main - ``` + + - ### `BETA` Version + ```bash + deb [signed-by=/usr/share/keyrings/quanta-archive-keyring.pgp] https://apt.quanta.io/ubuntu lunar main + ``` -> To use the **BETA** version, simply replace `main` at the end of the line with `beta`. + + 2. Download and add the **GPG** key for our repository: @@ -119,84 +132,77 @@ To install the CXM agent: apt install quanta-agent ``` -You will be prompted for the token during installation, and system data should appear in CXM within a minute. + You will be prompted for the token during installation, and system data should appear in Experience Monitoring within a minute. You can then install [application agents](./add-advanced-metrics.md) or [the PHP profiler](install-php-magento-orocommerce-profiler.md) if you need them. -### Installation for CentOS / RHEL + + **Supported Versions:** - Centos 7 - Centos 8 Stream -To install the CXM agent: +To install the Experience Monitoring agent: 1. Create the repository configuration file **/etc/yum.repos.d/quanta.repo**. You can download the configuration file available here: [https://rpm.quanta.io/quanta-centos-repo.txt](https://rpm.quanta.io/quanta-centos-repo.txt) - > To use the **BETA** version, simply replace the line `baseurl=http://rpm.quanta.io/centos/$releasever/main` with `baseurl=http://rpm.quanta.io/centos/$releasever/beta`. - 2. Install the **GPG** key for our repository: - ``` + ```shell curl https://rpm.quanta.io/quanta-repo-key.gpg -o /tmp/quanta.key && rpm --import /tmp/quanta.key && rm -f /tmp/quanta.key ``` 3. Update the package list: - ``` + ```shell yum makecache ``` 4. Install the agent: - ``` + ```shell yum install quanta-agent ``` -5. Edit the file **/etc/quanta/agent.yml** and replace *with your previously obtained **auto-registration token***: +5. Edit the file **/etc/quanta/agent.yml** and replace __YOUR_QUANTA_TOKEN__ with [your **auto-registration token**](#prerequisites): - ``` + ```shell __YOUR_QUANTA_TOKEN__ ``` 6. Start the agent: - ``` + ```shell systemctl start quanta-agent ``` 7. Enable the agent to start automatically on boot: - ``` + ```shell systemctl enable quanta-agent ``` -You should see system data appear in CXM within a minute. - -### Installation for Docker and Autoscaling Systems + You should see system data appear in Experience Monitoring within a minute. You can then install [application agents](./add-advanced-metrics.md) or [the PHP profiler](install-php-magento-orocommerce-profiler.md) if you need them. -The use of the CXM agent is fully compatible with containerized infrastructures, but **it requires a slight variation in the installation process**. + + -[Configuration of our agents for the cloud](cloud-configuration-of-agents.md) - -#### Explanation - -The **hostid** is an internal parameter that allows CXM to uniquely identify a server. Each server must have a unique **hostid**, which is automatically configured by the installation script (using the MAC address of the first network interface without `:` characters). - -However, in the case of Docker containers, the configuration prevents the installation script from finding this value. In autoscaling systems (like AWS ASG or Azure Scale Set), the image copy also duplicates the **hostid**. +We do not provide packages for other OSs, but [the source code is publicly available on GitHub and can be compiled](https://github.com/quanta-computing/quanta-agent). -#### Workaround + + -To have a unique **hostid**, you can configure it in the **/etc/quanta/agent.yml** file via a script at container or VM startup (**bootstrap script**). You can specify a unique identifier generated at runtime (e.g., using AWS metadata or Docker environment variables) or use a unique element like the UUID value from **/proc/sys/kernel/random/uuid**. +## Troubleshooting agent installation -### Installation on Other OSs +**I don't see data coming in, where can I find information to troubleshoot?** -We do not provide packages for other OSs, but [the source code is publicly available on GitHub and can be compiled](https://github.com/quanta-computing/quanta-agent). +The agent uses syslog for logging; you will generally find logs in **/var/log/daemon.log** or **/var/log/syslog**. If you can't find the source of the error, please contact us. -The agent is **only compatible with Linux**. +You can send logs to another file by changing the **file** variable under the **logger** section in **/etc/quanta/agent.yml** (make sure to set up log rotation). ## Modifying an Existing Installation -If you want to modify the configuration of a CXM agent **already installed** on one of your servers, you will find its configuration in the **/etc/quanta/agent.yml** file. It contains the main connection information, including the CXM token corresponding to the relevant site. Access to this file can be useful if you monitor multiple sites with the same CXM account and wish to specify the correct token to associate each server with its hosted site (e.g., for separate production and pre-production servers). +If you want to modify the configuration of an Experience Monitoring agent that is already installed on one of your servers, you will find its configuration in the **/etc/quanta/agent.yml** file. It contains the main connection information, including the Experience Monitoring token corresponding to the relevant site. Access to this file can be useful if you monitor multiple sites with the same Experience Monitoring account and wish to specify the correct token to associate each server with its hosted site (e.g., for separate production and pre-production servers). Here is an excerpt from the **/etc/quanta/agent.yml** file: @@ -219,8 +225,12 @@ quanta_token: [...] <- insert here the token corresponding to your site [...] ``` -## To Go Further +## Endpoint addresses for server agents + +If you use the Experience Monitoring agent, each of your servers regularly sends data (once per minute) to the Experience Monitoring service. -You can now install application modules to get metrics on your Apache, Nginx, MySQL, Varnish, Magento systems, etc. +This is outbound HTTPS traffic (port 443) and is often allowed by default. However, if your firewall rules are strict and you need to allow specific destinations for Experience Monitoring, list the following destination IP addresses: -If in doubt, refer to the [installation checklist](../installation-checklist.md). +- 52.215.166.110 +- 52.215.179.235 +- 52.215.180. diff --git a/cxm/performance-analysis/basic-actions/how-alerts-work.md b/cxm/performance-analysis/basic-actions/how-alerts-work.md index 6ff054794e9f..18efb5b2b6b8 100644 --- a/cxm/performance-analysis/basic-actions/how-alerts-work.md +++ b/cxm/performance-analysis/basic-actions/how-alerts-work.md @@ -52,25 +52,3 @@ Examples: You can also trigger an alert when a scenario exceeds a fixed duration you set. By default, these alerts are sent when the deviation occurs at least 15 times within a 25-minute window. They are marked as resolved once the deviation stops for at least 20 out of those 25 minutes. - -## Business data alerts - -> Available by default on Business and Full licenses; optional on other plans. - -Scenarios help detect many site issues, but it's difficult to cover every possible anomaly with a scenario. Business alerting monitors the impact (for example drops in traffic or conversion) rather than a predefined list of causes. - -Business alerts detect abnormal drops in traffic or conversion and let you analyze precisely when those drops occurred. - -Because this data comes from Google Analytics, it is processed with a default 4-hour delay (GA data is refined over time). - -### Conversion rate alerts - -This checks whether your conversion rate average over a given period (2 hours by default) is lower compared to the same period historically (daily, weekly, or monthly baselines). - -By default this alert triggers when the conversion rate drops by 30% compared to the usual value. A resolution notification is sent when the metric returns to 75% of the usual conversion rate. - -You can also set a fixed conversion-rate threshold below which you want to be alerted. - -### Page view alerts - -This works the same way as conversion-rate alerts but is applied to page views per minute. diff --git a/cxm/performance-analysis/system-tab-indicators.md b/cxm/performance-analysis/system-tab-indicators.md index e4341355d52a..794ef4c895ec 100644 --- a/cxm/performance-analysis/system-tab-indicators.md +++ b/cxm/performance-analysis/system-tab-indicators.md @@ -16,3 +16,7 @@ Memory stores short-term information. For example, it is the resource that cause The disk stores long-term information; this is where assets such as images are kept. Like memory, disk usage should not vary dramatically over time and is not typically a factor that would cause large increases in load times or make your site unavailable. + +## Correlate system data and business data + +If you have configured [Business data](../getting-started/business-view.md), in the **Business data** page, the **Infrastructure cost/click** tab correlates your system data and your business data. diff --git a/cxm/rum/rum-improve.md b/cxm/rum/rum-improve.md new file mode 100644 index 000000000000..838e3a7ed80a --- /dev/null +++ b/cxm/rum/rum-improve.md @@ -0,0 +1,18 @@ +--- +id: rum-improve +title: Improving RUM results +--- + +Centreon Experience Monitoring provides detailed audits of how to improve the performance of your site. + +To access audit pages, click the **Last recommendations** icon in the tables on the **URLs** tab (that includes the detailed page for a specific URL when you click this URL in the treemap on the **Summary & Live** tab). + +![image](../assets/audit.png) + +The module displays optimization recommendations for URLs, with the following limitation: + +* Recommendations are generated only for the top 10 pages (by traffic). Beyond the Top 10, gaps appear in the recommendations. +* If you expand to the Top 20 or Top 50, pages lower in the rankings only receive recommendations if they were ever in the Top 10 during the selected period. +* The Top 10 changes daily, which explains why, over a long period, the gaps are not in the same places. + +Alternative: To obtain recommendations for pages outside the Top 10, you must [set up a scenario (User Journey)](../configuration/user-journey/create-a-scenario.md) on the relevant URL. Use the shortcut on the right to access the corresponding page. diff --git a/cxm/rum/rum-intro.md b/cxm/rum/rum-intro.md new file mode 100644 index 000000000000..44d317b4b3ff --- /dev/null +++ b/cxm/rum/rum-intro.md @@ -0,0 +1,29 @@ +--- +id: rum-intro +title: What is Real User Monitoring? +--- + +RUM lets you analyze the actual experience of users on your site in real time. RUM data captures 100% of real traffic to a site - meaning every time any user loads a page or clicks a link, a performance data point is recorded. + +This is what makes it fundamentally different from [Synthetic Monitoring](../getting-started/synthetic-monitoring.md), which only tests a predefined set of pages or user journeys on a fixed schedule. With RUM, you don't choose what to measure in advance - the data naturally covers every page that users actually visit, weighted by how often they visit it. + +![image](../assets/getting-started/rum-1.png) + +## How does it work? + +RUM works via [a lightweight, asynchronous tag added to the page](../installation/real-user-monitoring-installation.md), which send data back to Experience Monitoring. + +* It doesn't slow the user's browsing on the site. +* The data collected is purely technical (no personal identifiers), making it GDPR-compliant, and allows segmentation by browser type without tracking individual users. + +## What are the main benefits? + +* Objective performance measurement: since it's measured from real users' browsers, issues specific to certain browsers or devices (e.g., poor performance on Safari) are immediately visible and quantifiable by traffic impact. + + ![image](../assets/getting-started/rum-2.png) + +* Exhaustive page coverage: unlike [Synthetic Monitoring](../getting-started/synthetic-monitoring.md) which only tests predefined pages or journeys, RUM automatically captures performance metrics (TTFB, Speed Index, full page load time, etc.) on every single page visit, building a real-time, comprehensive view of performance across the entire site. + + ![image](../assets/getting-started/rum-3.png) + +In short, RUM doesn't require you to anticipate what to monitor - it automatically builds a performance picture of your entire site, driven by what your users actually do. diff --git a/cxm/rum/rum-results.md b/cxm/rum/rum-results.md new file mode 100644 index 000000000000..59a7cf1a80e0 --- /dev/null +++ b/cxm/rum/rum-results.md @@ -0,0 +1,40 @@ +--- +id: rum-results +title: Understanding RUM results +--- + +Once RUM is [configured](../installation/real-user-monitoring-installation.md), click **Real User Monitoring** in the navigation bar at the top of the screen. Click the tabs under the navigation bar to view the data you want. + +## What RUM can tell you + +[Experience monitoring metrics](../performance-analysis/metrics/overview-of-metrics.md) and digital sobriety data(../digital-sobriety/) are detailed in each tab, and presented as visuals, graphs or tables - aggregated according to different criteria. + +* An overview of the situation over the last 30 minutes is shown in the **LIVE** section. Typical use case: A colleague or customer service reports that the site is slow. Go to the **Live** view to immediately check if the data differs from normal. + + > Warning: Only the **Live** section displays the last 30 minutes. All other data on the page is set to the time period defined in the filter (blue box in the top-right corner). If the user doesyou do not pay attention to the selected time period, you may end up looking at aggregated data that does not match what you are looking for. + +* **Most visited pages**: + * In the **Summary & Live** tab, a treemap shows a graphical view of your most visited pages. Clicking a URL in the treemap displays detailed data for this URL (under the table), in the **URLs** tab. + * For a detailed table of all URLs, use the **URLs** tab. + * On the **URLs** tab, check the box on the left to display charts for a specific URL or to compare data for several URLs (click the **Compare** button below the table). +* **Geographic data**: + * In the **Summary & Live** tab, you can see a map of where your users are located. Click a country to see detailed data for that country. + * Check the **Countries** and **Cities** tabs to see more detailed aggregated data. +* **Digital sobriety data**: aggregated eco-design scores and CO2 emissions are included in all tabs. +* **System data**: view information about your users' browsers and operating systems in the **Browser** and **OS** tabs. The **Global view** tab shows a donut chart of total browser usage. + + + +## Filtering RUM data + +By default, RUM data is presented as averages. You can use percentiles to focus on specific segments of the data. + +![image](../assets/percentiles.png) + +Percentiles from 10ile to 95ile show the distribution from "fast/low" to "slow/high" values: + +* 10ile = only display best-case experiences +* 50ile = display typical user experience (median) +* 95ile = only display slowest experiences. + +> The 75th percentile is the most important. It is the percentile that Google uses to evaluate website speed in its own global Real User Monitoring program. Google's entire evaluation of a website's performance is based on the 75th percentile. diff --git a/cxm/rum/rum.md b/cxm/rum/rum.md new file mode 100644 index 000000000000..cddcaf912a45 --- /dev/null +++ b/cxm/rum/rum.md @@ -0,0 +1,10 @@ +--- +id: rum +title: Real User Monitoring (RUM) +--- + +RUM provides an overview of real user experience by collecting and analyzing actual usage data gathered through the RUM tag embedded in your application. + +import DocCardList from '@theme/DocCardList'; + + diff --git a/cxm/sidebarsCxm.js b/cxm/sidebarsCxm.js index 0d29deed93de..63bd3e068ea8 100644 --- a/cxm/sidebarsCxm.js +++ b/cxm/sidebarsCxm.js @@ -2,170 +2,200 @@ module.exports = { cxm: [ { type: 'category', - label: 'Getting started with Centreon Experience Monitoring', + label: 'What can I do with Centreon Experience Monitoring?', link: { type: "doc", id: "getting-started/welcome" }, items: [ - { type: 'doc', id: 'getting-started/cxm-solution' }, - { type: 'doc', id: 'getting-started/contact-support' }, + { type: 'doc', id: 'getting-started/cxm-solution' }, { type: 'doc', id: 'getting-started/synthetic-monitoring' }, { type: 'doc', id: 'getting-started/real-user-monitoring' }, { type: 'doc', id: 'getting-started/system-view' }, { type: 'doc', id: 'getting-started/business-view' }, { type: 'doc', id: 'getting-started/load-tests' }, - { type: 'doc', id: 'getting-started/dashboards' }, ], }, { type: 'category', - label: 'Installation', + label: 'Setting up Experience Monitoring', link: { type: 'generated-index', }, items: [ { type: 'doc', id: 'installation/installation-checklist' }, - { type: 'doc', id: 'installation/cxm-ip-addresses' }, - { type: 'doc', id: 'installation/real-user-monitoring-installation' }, - { type: 'doc', id: 'installation/monitor-production-events' }, - { - collapsed: true, - type: 'category', - label: 'Servers and middleware', - link: { - type: 'generated-index', - }, - items: [ - { type: 'doc', id: 'installation/servers/install-system-agents' }, - { type: 'doc', id: 'installation/servers/cloud-configuration-of-agents' }, - { type: 'doc', id: 'installation/servers/add-advanced-metrics' }, - { type: 'doc', id: 'installation/servers/install-php-magento-orocommerce-profiler' }, - ], - }, + ], }, { type: 'category', - label: 'Configuration', + label: 'Getting to know Experience Monitoring', link: { type: 'generated-index', }, items: [ - { type: 'doc', id: 'configuration/configuration-checklist' }, - { type: 'doc', id: 'configuration/manage-users-and-rights' }, - { type: 'doc', id: 'configuration/configure-digital-sobriety' }, - { type: 'doc', id: 'configuration/configure-google-analytics' }, - { type: 'doc', id: 'configuration/receive-and-configure-alerts' }, - { + { collapsed: true, type: 'category', - label: 'User journey', + label: 'Understanding metric concepts', link: { - type: 'generated-index', + type: 'doc', + id: 'performance-analysis/metrics/overview-of-metrics', }, items: [ - { type: 'doc', id: 'configuration/user-journey/create-a-scenario' }, - { type: 'doc', id: 'configuration/user-journey/user-journey-best-practices' }, - { type: 'doc', id: 'configuration/user-journey/stm-zones' }, + { type: 'doc', id: 'performance-analysis/metrics/hero-time' }, + { type: 'doc', id: 'performance-analysis/metrics/time-to-first-byte' }, + { type: 'doc', id: 'performance-analysis/metrics/speed-index' }, + { type: 'doc', id: 'performance-analysis/metrics/on-load' }, + { type: 'doc', id: 'performance-analysis/metrics/largest-contentful-paint' }, + { type: 'doc', id: 'performance-analysis/metrics/total-blocking-time' }, + { type: 'doc', id: 'performance-analysis/metrics/cumulative-layout-shift' }, ], }, + { type: 'doc', id: 'performance-analysis/basic-actions/navigate-in-cxm' }, { collapsed: true, type: 'category', - label: 'Advanced configuration', + label: 'Understanding graphs', link: { - type: 'generated-index', + type: 'generated-index', }, items: [ - { - type: 'doc', - id: 'configuration/advanced-configuration/enable-disable-scenario-or-alert-via-api', - }, - ], - }, + { type: 'doc', id: 'how-to-articles/using-charts' }, + { type: 'doc', id: 'installation/monitor-production-events' }, + ], }, + ], + }, { + collapsed: true, type: 'category', - label: 'Performance analysis', + label: 'Real User Monitoring (RUM)', + link: { + type: "doc", + id: "rum/rum" + }, + items: [ + { type: 'doc', id: 'rum/rum-intro' }, + { type: 'doc', id: 'installation/real-user-monitoring-installation' }, + { type: 'doc', id: 'rum/rum-results' }, + { type: 'doc', id: 'rum/rum-improve' }, + { type: 'doc', id: 'how-to-articles/rum-blocked-by-csp' }, + ], + }, + { + collapsed: true, + type: 'category', + label: "Evaluate a site's digital sobriety", + link: { + type: 'generated-index', + }, + items: [ + { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, + { type: 'doc', id: 'digital-sobriety/digital-sobriety-score' }, + { type: 'doc', id: 'digital-sobriety/differences-with-eco-index' }, + ], + }, + { + collapsed: true, + type: 'category', + label: "Analyze a site's business data (Google Analytics/Matomo)", + link: { + type: 'generated-index', + }, + items: [ + { type: 'doc', id: 'configuration/configure-google-analytics' }, + { type: 'doc', id: 'business-data/business-data-results' }, + { type: 'doc', id: 'business-data/business-alerts' }, + ], + }, + { + collapsed: true, + type: 'category', + label: 'Monitor the health of my host server', link: { type: 'generated-index', }, items: [ - { type: 'doc', id: 'performance-analysis/network-tab-indicators' }, - { type: 'doc', id: 'performance-analysis/system-tab-indicators' }, - { type: 'doc', id: 'performance-analysis/speed-up-website-with-applications-or-server-configuration' }, - { type: 'doc', id: 'performance-analysis/errors-and-unavailability-front-end' }, { - collapsed: true, type: 'category', - label: 'Metric overview', - link: { - type: 'doc', - id: 'performance-analysis/metrics/overview-of-metrics', - }, - items: [ - { type: 'doc', id: 'performance-analysis/metrics/hero-time' }, - { type: 'doc', id: 'performance-analysis/metrics/time-to-first-byte' }, - { type: 'doc', id: 'performance-analysis/metrics/speed-index' }, - { type: 'doc', id: 'performance-analysis/metrics/on-load' }, - { type: 'doc', id: 'performance-analysis/metrics/largest-contentful-paint' }, - { type: 'doc', id: 'performance-analysis/metrics/total-blocking-time' }, - { type: 'doc', id: 'performance-analysis/metrics/cumulative-layout-shift' }, - ], - }, - { + label: 'Installation', collapsed: true, - type: 'category', - label: 'Basic actions', - link: { - type: 'generated-index', - }, items: [ - { type: 'doc', id: 'performance-analysis/basic-actions/navigate-in-cxm' }, - { type: 'doc', id: 'performance-analysis/basic-actions/how-alerts-work' }, - { type: 'doc', id: 'performance-analysis/basic-actions/gray-areas-on-charts' }, - { type: 'doc', id: 'performance-analysis/basic-actions/event-tracking' }, + { type: 'doc', id: 'installation/servers/install-system-agents' }, + { type: 'doc', id: 'installation/servers/cloud-configuration-of-agents' }, + { type: 'doc', id: 'installation/servers/add-advanced-metrics' }, + { type: 'doc', id: 'installation/servers/install-php-magento-orocommerce-profiler' }, + { type: 'doc', id: 'how-to-articles/faq' }, ], }, + { type: 'doc', id: 'performance-analysis/system-tab-indicators' }, ], + }, { collapsed: true, type: 'category', - label: 'Digital sobriety', + label: "Check a site’s network performance", link: { type: 'generated-index', }, items: [ { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, - { type: 'doc', id: 'digital-sobriety/digital-sobriety-score' }, - { type: 'doc', id: 'digital-sobriety/differences-with-eco-index' }, + ], }, { collapsed: true, type: 'category', - label: 'How-to articles', + label: 'Run a load test', link: { type: 'generated-index', }, items: [ - { type: 'doc', id: 'how-to-articles/unable-to-connect' }, - { type: 'doc', id: 'how-to-articles/meaning-of-colors-in-graphs' }, - { type: 'doc', id: 'how-to-articles/seo-module' }, - { type: 'doc', id: 'how-to-articles/measurement-interval' }, - { type: 'doc', id: 'how-to-articles/cxm-probes-in-google-analytics' }, - { type: 'doc', id: 'how-to-articles/faq' }, - { type: 'doc', id: 'how-to-articles/password-reset' }, - { type: 'doc', id: 'how-to-articles/using-charts' }, - { type: 'doc', id: 'how-to-articles/user-journey-screen' }, - { type: 'doc', id: 'how-to-articles/rum-blocked-by-csp' }, + { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, + + ], + }, + { + collapsed: true, + type: 'category', + label: 'Dashboards and exports', + link: { + type: 'generated-index', + }, + items: [ + { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, + + ], + }, + { + collapsed: true, + type: 'category', + label: 'Troubleshooting', + link: { + type: 'generated-index', + }, + items: [ + { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, + ], }, { type: 'doc', id: 'release-notes' - } + }, + { + collapsed: true, + type: 'category', + label: 'Resources', + link: { + type: 'generated-index', + }, + items: [ + { type: 'doc', id: 'digital-sobriety/carbon-footprint-evaluation-and-digital-sobriety' }, + + ], + }, ], };