# Observability

---

## Overview

Comprehensive observability of your JFrog Platform is essential for maintaining optimal performance, reliability, and security. While this can be achieved in both self-hosted and SaaS, JFrog SaaS significantly simplifies this critical operational aspect.

### JFrog SaaS Observability

When using JFrog SaaS, observability is built-in through the JFrog Platform APIs and UI and also through the [MyJFrog portal](https://docs.jfrog.com/administration/docs/myjfrog-for-cloud).

#### JFrog Observability Features

Key monitoring features
* [Platform services status](https://docs.jfrog.com/administration/docs/monitoring-service-statuses) (Self hosted only)
* [Storage status and allocation](https://docs.jfrog.com/administration/docs/monitoring-storage)
* [SaaS logs streaming](https://docs.jfrog.com/administration/docs/jfrog-cloud-log-streaming) (SaaS only)
* [Readiness](https://docs.jfrog.com/administration/reference/getreadinessprobe) and [Liveness](https://docs.jfrog.com/administration/reference/getlivenessprobe) probes

See more in the [Monitoring and Logging](https://docs.jfrog.com/administration/docs/monitoring-and-logging) help page.

#### MyJFrog Portal

Some of the key features of the MyJFrog portal include:
* Real-time service health monitoring
* Resource utilization metrics
* Automated alerts and notifications
* Usage trends and statistics
* Security status and compliance reports
* Audit logs and access control

The MyJFrog portal serves as your centralized observability dashboard, eliminating the need for complex monitoring setup and maintenance.

### Self-Hosted Observability Requirements

If running a self-hosted JFrog Platform, you'll need to implement and manage:

#### Infrastructure Monitoring

* Kubernetes cluster system and application health
* Node resources (CPU, memory, disk) monitoring
* Network connectivity
* Storage providers
* Database health

#### Platform Availability

* [Readiness](https://docs.jfrog.com/administration/reference/getreadinessprobe) and [Liveness](https://docs.jfrog.com/administration/reference/getlivenessprobe) probes
* System logs configuration
* Log analytics setup

#### Application Metrics & Integration Tools

To achieve comprehensive observability in a self-hosted JFrog Platform deployments, you'll need to collect application metrics, integrate monitoring tools, and configure alerting and retention policies. Typical observability requirements include:

* Metrics collection (using OpenMetrics format)
* Integration with monitoring tools such as Prometheus and Grafana
* Log aggregation using solutions like Loki, Fluentd or Filebeat
* Alert configuration and automated notifications
* Data visualization and dashboard setup
* Historical data retention and policy management
* Additional monitoring services as needed

A popular example combines [Prometheus](https://prometheus.io/) for metrics collection, [Loki](https://grafana.com/oss/loki/) for log aggregation, and [Grafana](https://grafana.com/oss/grafana/) for dashboards—in Kubernetes deployments, see the [log-analytics-prometheus](https://github.com/jfrog/log-analytics-prometheus) example for a ready-to-use setup.


## Best Practices

### JFrog SaaS

* Regularly review MyJFrog dashboards
* Configure notification preferences
* Monitor usage patterns and trends
* Track security compliance

### Self-Hosted

* Implement comprehensive monitoring
* Set up proactive alerts
* Configure log aggregation
* Maintain historical metrics
* Define retention policies
