OpenTelemetry Bot d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 rok pred
..
internal 91643ba261 [mdatagen] allow adding resource_attribute warnings (#27257) 1 rok pred
testdata cd91fb4789 [chore][golden] Normal timestamps in golden metric files (#23002) 1 rok pred
Makefile e7b5ac7aa7 [receiver/saphanareceiver] New SAP HANA metrics receiver (#9234) 2 rokov pred
README.md 562dc48d10 Link component issue badges to the respective issue page (#24642) 1 rok pred
client.go f4c44858b5 [all][chore] Moved from interface{} to any for all go code (#29072) 1 rok pred
client_test.go f4c44858b5 [all][chore] Moved from interface{} to any for all go code (#29072) 1 rok pred
config.go 7be2b3a52f [receiver/saphana] Change the type of `Config.Password` to be `configopaque.String` (#24063) 1 rok pred
config_test.go 91643ba261 [mdatagen] allow adding resource_attribute warnings (#27257) 1 rok pred
doc.go 5133f4ccd6 [chore] use license shortform (#22052) 1 rok pred
documentation.md af4a343658 [chore] use metadata.Type in saphanareceiver (#22130) 1 rok pred
factory.go 9161ab2e93 [chore] more linting fixes (#22979) 1 rok pred
factory_test.go 4a0ea8e961 [chore] Improving life cycle tests reporting (#23145) 1 rok pred
go.mod d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 rok pred
go.sum 40b485f08a Update core for v0.90.0 release (#29539) 1 rok pred
metadata.yaml 326d0261f9 [cmd/mdatagen] Rename aggregation to aggregation_temporality for sum metrics (#24808) 1 rok pred
queries.go 5133f4ccd6 [chore] use license shortform (#22052) 1 rok pred
scraper.go 29ea5a964d [cmd/mdatagen] Avoid reusing the same ResourceBuilder instance (#24762) 1 rok pred
scraper_test.go cd92432fd2 [pkg/golden] internal/coreinternal/golden -> pkg/golden (#28636) 1 rok pred

README.md

SAP HANA Receiver

Status
Stability development: metrics
Distributions contrib, observiq, sumo
Issues Open issues Closed issues
Code Owners @dehaansa

This receiver can fetch stats from a SAP HANA instance. It leverages the driver written by SAP for connecting to SAP HANA with the golang sql module to execute several monitoring queries.

Prerequisites

The receiver is intended to support SAP HANA version 2, older versions have not been tested.

A monitoring user requires SELECT access to the relevant monitoring views. The following sql script should create a monitoring role and apply it to a monitoring user if executed by a user with sufficient permissions connected to the SAP HANA instance.

--Create the user
CREATE RESTRICTED USER otel_monitoring_user PASSWORD <password>;

--Enable user login
ALTER USER otel_monitoring_user ENABLE CLIENT CONNECT;

--Create the monitoring role
CREATE ROLE OTEL_MONITORING;

--Grant permissions to the relevant views
GRANT CATALOG READ TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_BACKUP_CATALOG TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_BLOCKED_TRANSACTIONS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CONNECTIONS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CS_ALL_COLUMNS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CS_TABLES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_DATABASE TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_DISKS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_HOST_RESOURCE_UTILIZATION TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_LICENSES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_RS_TABLES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_COMPONENT_MEMORY TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_MEMORY TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_REPLICATION TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_STATISTICS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_THREADS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_VOLUME_IO_TOTAL_STATISTICS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_WORKLOAD TO OTEL_MONITORING;
GRANT SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS TO OTEL_MONITORING;

--Add the OTEL_MONITOR role to the monitoring user
GRANT OTEL_MONITORING TO otel_monitoring_user;

Configuration

:information_source: This receiver is in beta and configuration fields are subject to change.

The following settings are required:

  • endpoint (default: localhost:33015): The hostname/IP address and port of the SAP HANA instance
  • username
  • password

The following settings are optional:

  • collection_interval (default = 60s): This receiver runs on an interval. Each time it runs, it queries memcached, creates metrics, and sends them to the next consumer. The collection_interval configuration option tells this receiver the duration between runs. This value must be a string readable by Golang's ParseDuration function (example: 1h30m). Valid time units are ns, us (or µs), ms, s, m, h.
  • initial_delay (default = 1s): defines how long this receiver waits before starting.
  • tls:
    • insecure (default = true): whether to disable client transport security for the exporter's connection.
    • ca_file: path to the CA cert. For a client this verifies the server certificate. Should only be used if insecure is set to false.
    • cert_file: path to the TLS cert to use for TLS required connections. Should only be used if insecure is set to false.
    • key_file: path to the TLS key to use for TLS required connections. Should only be used if insecure is set to false.

Example:

receivers:
  saphana:
    endpoint: "localhost:33015"
    collection_interval: 60s
    metrics:
      saphana.cpu.used:
        enabled: false

The full list of settings exposed for this receiver are documented here with detailed sample configurations here.

Metrics

Details about the metrics produced by this receiver can be found in metadata.yaml. Further details of the monitoring queries used to collect them may be found in queries.go.

If all of the metrics collected by a given monitoring query are marked as enabled: false in the receiver configration, the monitoring query will not be executed.