Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Metrics plugin #6916

Merged
Merged
Changes from 33 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
fdbe83c
Update conf.py
amyblais Jan 16, 2024
047ff86
Merge branch 'master' into v9.5-documentation
amyblais Jan 16, 2024
3428299
Merge branch 'master' into v9.5-documentation
amyblais Jan 16, 2024
0167586
Merge branch 'master' into v9.5-documentation
amyblais Jan 16, 2024
e01c0dc
Merge branch 'master' into v9.5-documentation
amyblais Jan 23, 2024
a3bb495
Merge branch 'master' into v9.5-documentation
amyblais Jan 25, 2024
0bd8c9e
Merge branch 'master' into v9.5-documentation
amyblais Jan 26, 2024
8fd2f9b
Merge branch 'master' into v9.5-documentation
amyblais Jan 30, 2024
d949f17
Merge branch 'master' into v9.5-documentation
amyblais Feb 2, 2024
c17c450
Merge branch 'master' into v9.5-documentation
amyblais Feb 5, 2024
047f02c
Merge branch 'master' into v9.5-documentation
amyblais Feb 6, 2024
a64b360
Merge branch 'master' into v9.5-documentation
amyblais Feb 7, 2024
05236bc
Clarified that system roles also control access to related API endpoi…
cwarnermm Feb 7, 2024
ad58680
Merge branch 'master' into v9.5-documentation
amyblais Feb 8, 2024
baac423
Added new error codes page (#6908)
cwarnermm Feb 8, 2024
5b94410
Remove legacy MySQL references (#6896)
cwarnermm Feb 8, 2024
5ed3230
Removed "Sync" to align with product naming (#6898)
cwarnermm Feb 8, 2024
4848226
Clarified Ent/Pro differentiation (#6899)
cwarnermm Feb 8, 2024
5aa0b42
Clarified that bots don't count as active users (#6902)
cwarnermm Feb 8, 2024
fa3dff1
Added interactive demo link (#6905)
cwarnermm Feb 8, 2024
558363a
Added link to Kubernetes YAML docs via mattermost repo (#6906)
cwarnermm Feb 9, 2024
e9114d0
Clarified supported AllowCorsFrom values (#6897)
cwarnermm Feb 9, 2024
b4169a4
Updated legacy E10/E20 label text (#6900)
cwarnermm Feb 12, 2024
54eca69
Added transcription end user docs (#6910)
cwarnermm Feb 12, 2024
2da80c8
Added Metrics plugin
cwarnermm Feb 12, 2024
5973dd6
Update source/scale/performance-monitoring.rst
cwarnermm Feb 12, 2024
2529798
Removed HA modes details
cwarnermm Feb 13, 2024
5d9c048
Merge branch 'master' into performance-metrics-plugin
cwarnermm Feb 14, 2024
ed7eba3
Merge branch 'master' into performance-metrics-plugin
cwarnermm Feb 15, 2024
149f3a8
Merge branch 'master' into performance-metrics-plugin
cwarnermm Feb 27, 2024
d2d47ff
Merge branch 'master' into performance-metrics-plugin
cwarnermm Feb 29, 2024
49affeb
dashboards-how-to (#6935)
isacikgoz Feb 29, 2024
157bc93
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 14, 2024
7a677d3
Split perf monitoring into 3 parts: 3rd party integrations, plugin, &…
cwarnermm Mar 18, 2024
f75a180
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 18, 2024
6551479
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 18, 2024
946d533
Incorporated reviewer feedback
cwarnermm Mar 18, 2024
a27f167
Merge branch 'performance-metrics-plugin' of https://github.com/matte…
cwarnermm Mar 18, 2024
90c7b79
Update source/guides/scale-mattermost.rst
cwarnermm Mar 21, 2024
81a6ffe
Update source/guides/scale-mattermost.rst
cwarnermm Mar 21, 2024
4433fc0
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 21, 2024
bf5ec96
Incorporated reviewer feedback, added redirects, & updated links
cwarnermm Mar 21, 2024
fa8c8f8
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 26, 2024
4f51694
Merge branch 'master' into performance-metrics-plugin
cwarnermm Mar 26, 2024
3955788
Fixed broken link
cwarnermm Mar 26, 2024
01b9dec
Merge branch 'master' into performance-metrics-plugin
cwarnermm Apr 12, 2024
051da5f
Merge branch 'mattermost-supported-integrations' into performance-met…
cwarnermm Apr 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 36 additions & 3 deletions source/scale/performance-monitoring.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,44 @@ Performance monitoring

<p class="mm-label-note">Also available in legacy Mattermost Enterprise Edition E20</p>

Performance monitoring support enables a Mattermost server to track system health for large Enterprise deployments through integrations with `Prometheus <https://prometheus.io/>`__ and `Grafana <https://grafana.org/>`__. These integrations support data collection from several Mattermost servers, which is particularly useful if you're running Mattermost `in high availability mode </scale/high-availability-cluster.html>`__. Once you're tracking system health, you can `set up performance alerts </scale/performance-alerting.html>`__ on your Grafana dashboard.
Performance monitoring support enables admins to track system health for large Enterprise deployments through integrations with `Prometheus <https://prometheus.io/>`__ and `Grafana <https://grafana.org/>`__. These integrations support data collection from several Mattermost servers, which is particularly useful if you're running Mattermost `in high availability mode </scale/high-availability-cluster.html>`__. Once you're tracking system health, you can `set up performance alerts </scale/performance-alerting.html>`__ on your Grafana dashboard.

.. note::
Admins can collect and store various data points from the Mattermost application in an `OpenMetrics <https://openmetrics.io>`__ format by `deploying the Mattermost Metrics plugin <#mattermost-metrics-plugin>`__, or by `deploying Prometheus <#install-prometheus>`__ and `Grafana <#install-grafana>`__.

Mattermost Metrics plugin
cwarnermm marked this conversation as resolved.
Show resolved Hide resolved
-------------------------

The Mattermost Metrics plugin, is an alternative tool to collect application metrics from Mattermost. It can be installed on versions later than v6.3 and collects and stores the `same performance monitoring metrics <#statistics>`__ as Prometheus, without having to deploy these third-party tools. Data is collected every minute and is stored where the plugin is running. The data is synchronized to either a cloud-based or local file store every hour, and retained for 15 days.

Using the Mattermost Metrics plugin, you can download and share the collected data with Mattermost to understand application performance, troubleshoot system stability and performance, as well as inform route cause analysis.

Furthermore, to use the dump file generated by the plugin, you can simply clone the `Dockprom <https://github.com/stefanprodan/dockpromo>`__ repository. Change the Prometheus data volume to point to the dump that you just downloaded. The downloaded file is compressed, so to be able to use it, you need to decompress it first.

The volume configuration for Prometheus should look like the code below in the ``docker-compose.yml`` file:

.. code:: yaml

volumes:
- ./prometheus:/etc/prometheus
- /Path/To/Dump/Directory:/prometheus/data

Once you set this up, run ``docker-compose`` as described in `Dockprom Repository <https://github.com/stefanprodan/dockprom?tab=readme-ov-file#install>`__. You can also use our official performance monitoring dashboard by simply importing it into Grafana. To do so, open Grafana (``<localhost>:3000`` by default) and then log into it. Once you log in, go to the **+** icon on the left sidebar and select **Import**. Enter the dashboard ID (``15582``) in the **Grafana.com Dashboard** field and then select **Load** to fetch the dashboard.

While Prometheus and Grafana may be installed on the same server as Mattermost, we recommend installing these integrations on separate servers, and configure Prometheus to pull all metrics from Mattermost and other connected servers.

Install the Mattermost Metrics plugin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Download the latest version from the `Mattermost release page <https://github.com/mattermost/mattermost-plugin-metrics/releases>`__.
cwarnermm marked this conversation as resolved.
Show resolved Hide resolved
2. In the System Console, go to **Plugins > Plugin Management** to upload the plugin file. Alternatively, you can place the plugin file in the Mattermost server's plugin directory manually.
3. Enable the plugin in the System Console.

Install Prometheus
-------------------

.. note::

While Prometheus and Grafana may be installed on the same server as Mattermost, we recommend installing these integrations on separate servers, and configure Prometheus to pull all metrics from Mattermost and other connected servers.

1. `Download a precompiled binary for Prometheus <https://prometheus.io/download/>`__. Binaries are provided for many popular distributions, including Darwin, Linux, and Windows. For installation instructions, see the `Prometheus install guides <https://prometheus.io/docs/introduction/getting_started/>`__.

2. The following settings are recommended in the Prometheus configuration file named ``prometheus.yml``:
Expand Down Expand Up @@ -77,6 +106,10 @@ Install Prometheus
Install Grafana
----------------

.. note::

While Prometheus and Grafana may be installed on the same server as Mattermost, we recommend installing these integrations on separate servers, and configure Prometheus to pull all metrics from Mattermost and other connected servers.

1. `Download a precompiled binary for Grafana <https://grafana.com/docs/grafana/latest/installation/debian/>`__ on Ubuntu or Debian. Binaries are also available for other distributions, including Redhat, Windows and Mac. For install instructions, see `Grafana install guides <https://grafana.com/docs/grafana/latest/installation/debian/>`__

2. The Grafana package is installed as a service, so it is easy to start the server. See their `install guides <https://grafana.com/docs/grafana/latest/installation/debian/>`__ to learn more.
Expand Down
Loading