-
Notifications
You must be signed in to change notification settings - Fork 94
Documentation update #1095
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
Merged
Merged
Documentation update #1095
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| { | ||
| "label": "Observability", | ||
| "position": 4, | ||
| "link": { | ||
| "type": "generated-index", | ||
| "description": "Oracle Backend for Microservices and AI provides built-in platform services to collect and visualize metrics, logs and traces from system and application workloads." | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| title: Access SigNoz | ||
| sidebar_position: 2 | ||
| --- | ||
| ## How to access SigNoz | ||
|
|
||
| 1. Get the _admin_ email and password for SigNoz | ||
|
|
||
| ```shell | ||
| kubectl -n observability get secret signoz-authn -o jsonpath='{.data.email}' | base64 -d | ||
| kubectl -n observability get secret signoz-authn -o jsonpath='{.data.password}' | base64 -d | ||
| ``` | ||
|
|
||
| 1. Expose the SigNoz user interface (UI) using this command: | ||
|
|
||
| ```shell | ||
| kubectl -n observability port-forward svc/obaas-signoz-frontend 3301:3301 | ||
| ``` | ||
|
|
||
| 1. Open [SigNoz Login](http://localhost:3301/login) in a browser and login with the _admin_ email and the _password_ you have retrieved. | ||
|
|
||
|  |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,207 @@ | ||
| --- | ||
| title: Configure Applications for SigNoz | ||
| sidebar_position: 5 | ||
| --- | ||
| ## Configure applications for SigNoz Observability | ||
|
|
||
| In order for SigNoz to be able to collect logs, metrics and traces from applications, some configurations are required to be added. | ||
|
|
||
| ### Configure OpenTelemetry and Micrometer | ||
|
|
||
| [OpenTelemetry zero-code instrumentation](https://opentelemetry.io/docs/zero-code/java/spring-boot-starter/getting-started/) enables adding observability to Spring Boot based applications without changing any code. Similarly [Micrometer](https://docs.micrometer.io/micrometer/reference/observation/projects.html) enables instrumentation of JVM based applications and can be configured using Spring Boot starters. | ||
|
|
||
| :::note | ||
| The versions in the below pom.xml might be outdated. | ||
| ::: | ||
|
|
||
| ```xml | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>io.micrometer</groupId> | ||
| <artifactId>micrometer-core</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.micrometer</groupId> | ||
| <artifactId>micrometer-registry-prometheus</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.micrometer</groupId> | ||
| <artifactId>micrometer-tracing-bridge-otel</artifactId> | ||
| <exclusions> | ||
| <exclusion> | ||
| <groupId>io.opentelemetry.instrumentation</groupId> | ||
| <artifactId>opentelemetry-instrumentation-api-incubator</artifactId> | ||
| </exclusion> | ||
| </exclusions> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.opentelemetry</groupId> | ||
| <artifactId>opentelemetry-exporter-otlp</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.micrometer</groupId> | ||
| <artifactId>micrometer-tracing</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.opentelemetry.instrumentation</groupId> | ||
| <artifactId>opentelemetry-spring-boot-starter</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>net.ttddyy.observation</groupId> | ||
| <artifactId>datasource-micrometer-spring-boot</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>com.oracle.database.spring</groupId> | ||
| <artifactId>oracle-spring-boot-starter-ucp</artifactId> | ||
| <type>pom</type> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.opentelemetry.instrumentation</groupId> | ||
| <artifactId>opentelemetry-oracle-ucp-11.2</artifactId> | ||
| </dependency> | ||
| </dependencies> | ||
|
|
||
| <dependencyManagement> | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>io.opentelemetry.instrumentation</groupId> | ||
| <artifactId>opentelemetry-instrumentation-bom</artifactId> | ||
| <type>pom</type> | ||
| <scope>import</scope> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.micrometer</groupId> | ||
| <artifactId>micrometer-tracing-bom</artifactId> | ||
| <version>${micrometer-tracing.version}</version> | ||
| <type>pom</type> | ||
| <scope>import</scope> | ||
| </dependency> | ||
| </dependencies> | ||
| </dependencyManagement> | ||
| ``` | ||
|
|
||
| ### Configure Datasource Observability | ||
|
|
||
| [datasource-micrometer](https://github.com/jdbc-observations/datasource-micrometer) and [Oracle Universal Connection Pool Instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/oracle-ucp-11.2) can be configured to enable observability for Database connections and queries. | ||
|
|
||
| :::note | ||
| The versions in the below pom.xml might be outdated. | ||
| ::: | ||
|
|
||
| ```xml | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>net.ttddyy.observation</groupId> | ||
| <artifactId>datasource-micrometer-spring-boot</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>io.opentelemetry.instrumentation</groupId> | ||
| <artifactId>opentelemetry-oracle-ucp-11.2</artifactId> | ||
| </dependency> | ||
| </dependencies> | ||
| ``` | ||
|
|
||
| ### Configure Spring Boot Actuator | ||
|
|
||
| When you deploy an application with Oracle Backend for Microservices and AI CLI or Visual Code Extension, provided you included the Spring Actuator in your application, SigNoz will automatically find your application (using the annotations) and start collecting metrics. These metrics will be included in both the Spring Boot Observability dashboard and the Spring Boot Statistic dashboard automatically. | ||
|
|
||
| To include the Actuator in your application, add the following dependencies to your Maven POM or equivalent: | ||
|
|
||
| ```xml | ||
| <dependency> | ||
| <groupId>org.springframework.boot</groupId> | ||
| <artifactId>spring-boot-starter-actuator</artifactId> | ||
| </dependency> | ||
| ``` | ||
|
|
||
| You must also add the configuration similar to one given below, after customizing it for your application, to your Spring `application.yaml` | ||
|
|
||
| ```yaml | ||
| spring: | ||
| threads: | ||
| virtual: | ||
| enabled: true | ||
| jpa: | ||
| hibernate: | ||
| ddl-auto: validate | ||
| properties: | ||
| hibernate: | ||
| dialect: org.hibernate.dialect.OracleDialect | ||
| format_sql: true | ||
| show-sql: true | ||
|
|
||
| eureka: | ||
| instance: | ||
| hostname: ${spring.application.name} | ||
| preferIpAddress: true | ||
| client: | ||
| service-url: | ||
| defaultZone: ${eureka.service-url} | ||
| fetch-registry: true | ||
| register-with-eureka: true | ||
| enabled: true | ||
|
|
||
| management: | ||
| endpoint: | ||
| health: | ||
| show-details: always | ||
| show-components: always | ||
| endpoints: | ||
| web: | ||
| exposure: | ||
| include: "*" | ||
| metrics: | ||
| tags: | ||
| application: ${spring.application.name} | ||
| distribution: | ||
| percentiles[http.server.requests]: 0.5, 0.90, 0.95, 0.99 | ||
| percentiles-histogram[http.server.requests]: true | ||
| slo[http.server.requests]: 100ms, 250ms, 500ms, 1s, 2s, 5s, 10s, 30s | ||
| percentiles[http.client.requests]: 0.5, 0.90, 0.95, 0.99 | ||
| percentiles-histogram[http.client.requests]: true | ||
| slo[http.client.requests]: 100ms, 250ms, 500ms, 1s, 2s, 5s, 10s, 30s | ||
| health: | ||
| probes: | ||
| enabled: true | ||
| tracing: | ||
| sampling: | ||
| probability: 1.0 | ||
| info: | ||
| os: | ||
| enabled: true | ||
| env: | ||
| enabled: true | ||
| java: | ||
| enabled: true | ||
| observations: | ||
| key-values: | ||
| app: ${spring.application.name} | ||
|
|
||
| logging: | ||
| level: | ||
| root: INFO | ||
| com.example: INFO | ||
| org.springframework.web.filter.AbstractRequestLoggingFilter: INFO | ||
|
|
||
| jdbc: | ||
| datasource-proxy: | ||
| query: | ||
| enable-logging: true | ||
| log-level: INFO | ||
| include-parameter-values: true | ||
| ``` | ||
|
|
||
| The Oracle Backend for Microservices and AI platform adds following annotations to your application pods for SigNoz to start scraping the actuator endpoint for metrics. | ||
|
|
||
| ```yaml | ||
| signoz.io/path: /actuator/prometheus | ||
| signoz.io/port: "8080" | ||
| signoz.io/scrape: "true" | ||
| ``` | ||
|
|
||
| It also adds the `OTEL_EXPORTER_OTLP_ENDPOINT` to pod environment variables for the OpenTelemetry instrumentation libraries to access the the OpenTelemtry collector of SigNoz. | ||
|
|
||
| ```yaml | ||
| - name: OTEL_EXPORTER_OTLP_ENDPOINT | ||
| value: http://obaas-signoz-otel-collector.observability:4318 | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| --- | ||
| title: Pre-installed dashboards | ||
| sidebar_position: 4 | ||
| --- | ||
| :::note | ||
| More details can be found in the [SigNoz Documentation](https://signoz.io/docs/introduction/). | ||
| ::: | ||
|
|
||
| ## Pre-installed dashboards | ||
|
|
||
| The following dashboards are pre-installed in SigNoz: | ||
|
|
||
| - [Spring Boot Observability](#spring-boot-observability) | ||
| - [Spring Boot Observability](#spring-boot-observability) | ||
| - [Spring Boot Statistics](#spring-boot-statistics) | ||
| - [Oracle Database Dashboard](#oracle-database-dashboard) | ||
| - [Kube State Metrics Dashboard](#kube-state-metrics-dashboard) | ||
| - [Apache APISIX Dashboard](#apache-apisix-dashboard) | ||
|
|
||
| ### Spring Boot Observability | ||
|
|
||
| This dashboard provides details of one or more Spring Boot applications including the following: | ||
|
|
||
| - The number of HTTP requests received by the application | ||
| - A breakdown of which URL paths requests were received for | ||
| - The average duration of requests by path | ||
| - The number of exceptions encountered by the application | ||
| - Details of 2xx (that is, successful) and 5xx (that is, exceptions) requests | ||
| - The request rate per second over time, by path | ||
| - Log messages from the service | ||
|
|
||
| You may adjust the time period and to drill down into issues, and search the logs for particular messages. This dashboard is designed for Spring Boot 3.x applications. Some features may work for Spring Boot 2.x applications. | ||
|
|
||
| Here is an example of this dashboard displaying data for a simple application: | ||
|
|
||
|  | ||
|
|
||
| ### Spring Boot Statistics | ||
|
|
||
| This dashboard provides more in-depth information about services including the following: | ||
|
|
||
| - JVM statistic like heap and non-heap memory usage, and details of garbage collection | ||
| - Load average and open files | ||
| - Database connection pool statistics (for HikariCP) | ||
| - HTTP request statistics | ||
| - Logging (logback) statistics | ||
|
|
||
| You may adjust the time period and to drill down into issues, and search the logs for particular messages. This dashboard is designed for Spring Boot 3.x applications. Some features may work for Spring Boot 2.x applications. | ||
|
|
||
| Here is an example of this dashboard displaying data for a simple application: | ||
|
|
||
|  | ||
|
|
||
| ### Oracle Database Dashboard | ||
andytael marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| This dashboard provides details about the Oracle Database including: | ||
|
|
||
| - SGA and PGA size | ||
| - Active sessions | ||
| - User commits | ||
| - Execute count | ||
| - CPU count and platform | ||
| - Top SQL | ||
| - Wait time statistics by class | ||
|
|
||
| Here is an example of this dashboard: | ||
|
|
||
|  | ||
|
|
||
| ### Kube State Metrics Dashboard | ||
|
|
||
| This dashboard provides details of the Kubernetes cluster including: | ||
|
|
||
| - Pod capacity and requests for CPU and memory | ||
| - Node availability | ||
| - Deployment, Stateful Set, Pod, Job and Container statistics | ||
| - Details of horizontal pod autoscalers | ||
| - Details of persistent volume claims | ||
|
|
||
| Here is an example of this dashboard: | ||
|
|
||
|  | ||
|
|
||
| ### Apache APISIX Dashboard | ||
|
|
||
| This dashboard provides details of the APISIX API Gateway including: | ||
|
|
||
| - Total Requests | ||
| - NGINX Connection State | ||
| - Etcd modifications | ||
|
|
||
| Here is an example of this dashboard: | ||
|
|
||
|  | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| --- | ||
| title: Oracle Database Metrics Exporter | ||
| sidebar_position: 6 | ||
| --- | ||
| ## Oracle Database Metrics Exporter | ||
|
|
||
| Oracle Database Metrics Exporter aims to provide observability for the Oracle Database so that users can understand performance and diagnose issues easily across applications and database. Oracle Database Metrics Exporter deliver functionality to support both cloud and on-premises databases, including those running in Kubernetes and containers. | ||
|
|
||
| See the [documentation](https://oracle.github.io/oracle-db-appdev-monitoring/) for how to install and configure Oracle Database Metrics Exporter. |
Binary file added
BIN
+148 KB
docs-source/site/docs/observability/images/apache-apisix-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+157 KB
docs-source/site/docs/observability/images/kube-state-metrics-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+30.3 KB
docs-source/site/docs/observability/images/observability-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+220 KB
docs-source/site/docs/observability/images/spring-boot-observability-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+239 KB
docs-source/site/docs/observability/images/spring-boot-stats-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| --- | ||
| title: Metrics, Logs and Traces | ||
| sidebar_position: 3 | ||
| --- | ||
| :::note | ||
| More details can be found in the [SigNoz Documentation](https://signoz.io/docs/introduction/). | ||
| ::: | ||
|
|
||
| ## Metrics | ||
|
|
||
| To access metrics in SigNoz, click on _Services_ in the menu to see the list of applications. | ||
|
|
||
|  | ||
|
|
||
| Click on any of the services, to see its metrics in a dashboard. | ||
|
|
||
|  | ||
|
|
||
| ## Logs | ||
|
|
||
| To access logs in SigNoz, click on _Logs_ in the menu to access the Log Explorer where logs for all the applications and platform services can be accessed. | ||
|
|
||
|  | ||
|
|
||
| Logs can be filtered based on Namespaces, Deployments, Pods etc. Clicking on any log line will show more details regarding a log event. | ||
|
|
||
|  | ||
|
|
||
| ## Traces | ||
|
|
||
| To access Traces in SigNoz, click on _Traces_ in the menu to access the Traces view where all trace events can be accessed. | ||
|
|
||
|  | ||
|
|
||
| Traces can be filtered based on Service, HTTP Routes etc. Click on a trace to see its details. | ||
|
|
||
|  | ||
|
|
||
| Logs for a trace event can directly be accessed using the _Go to related logs_ link. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.