- Elastic integrations
- Integrations quick reference
- 1Password
- Abnormal Security
- ActiveMQ
- Active Directory Entity Analytics
- Admin By Request EPM integration
- Airflow
- Akamai
- Apache
- API (custom)
- Arbor Peakflow SP Logs
- Arista NG Firewall
- Atlassian
- Auditd
- Auth0
- authentik
- AWS
- Amazon CloudFront
- Amazon DynamoDB
- Amazon EBS
- Amazon EC2
- Amazon ECS
- Amazon EMR
- AWS API Gateway
- Amazon GuardDuty
- AWS Health
- Amazon Kinesis Data Firehose
- Amazon Kinesis Data Stream
- Amazon MQ
- Amazon Managed Streaming for Apache Kafka (MSK)
- Amazon NAT Gateway
- Amazon RDS
- Amazon Redshift
- Amazon S3
- Amazon S3 Storage Lens
- Amazon Security Lake
- Amazon SNS
- Amazon SQS
- Amazon VPC
- Amazon VPN
- AWS Bedrock
- AWS Billing
- AWS CloudTrail
- AWS CloudWatch
- AWS ELB
- AWS Fargate
- AWS Inspector
- AWS Lambda
- AWS Logs (custom)
- AWS Network Firewall
- AWS Route 53
- AWS Security Hub
- AWS Transit Gateway
- AWS Usage
- AWS WAF
- Azure
- Activity logs
- App Service
- Application Gateway
- Application Insights metrics
- Application Insights metrics overview
- Application State Insights metrics
- Azure logs (v2 preview)
- Azure OpenAI
- Billing metrics
- Container instance metrics
- Container registry metrics
- Container service metrics
- Custom Azure Logs
- Custom Blob Storage Input
- Database Account metrics
- Event Hub input
- Firewall logs
- Frontdoor
- Functions
- Microsoft Entra ID
- Monitor metrics
- Network Watcher VNet
- Network Watcher NSG
- Platform logs
- Resource metrics
- Spring Cloud logs
- Storage Account metrics
- Virtual machines metrics
- Virtual machines scaleset metrics
- Barracuda
- BeyondInsight and Password Safe Integration
- BitDefender
- Bitwarden
- blacklens.io
- Blue Coat Director Logs
- BBOT (Bighuge BLS OSINT Tool)
- Box Events
- Bravura Monitor
- Broadcom ProxySG
- Canva
- Cassandra
- CEL Custom API
- Ceph
- Check Point
- Cilium Tetragon
- CISA Known Exploited Vulnerabilities
- Cisco
- Cisco Meraki Metrics
- Citrix
- Claroty CTD
- Cloudflare
- Cloud Asset Inventory
- CockroachDB Metrics
- Common Event Format (CEF)
- Containerd
- CoreDNS
- Corelight
- Couchbase
- CouchDB
- Cribl
- CrowdStrike
- Cyberark
- Cybereason
- CylanceProtect Logs
- Custom Websocket logs
- Darktrace
- Data Exfiltration Detection
- DGA
- Digital Guardian
- Docker
- DomainTools Real Time Unified Feeds
- Elastic APM
- Elastic Fleet Server
- Elastic Security
- Elastic Stack monitoring
- Elasticsearch Service Billing
- Envoy Proxy
- ESET PROTECT
- ESET Threat Intelligence
- etcd
- Falco
- F5
- File Integrity Monitoring
- FireEye Network Security
- First EPSS
- Forcepoint Web Security
- ForgeRock
- Fortinet
- Gigamon
- GitHub
- GitLab
- Golang
- Google Cloud
- Custom GCS Input
- GCP
- GCP Audit logs
- GCP Billing metrics
- GCP Cloud Run metrics
- GCP CloudSQL metrics
- GCP Compute metrics
- GCP Dataproc metrics
- GCP DNS logs
- GCP Firestore metrics
- GCP Firewall logs
- GCP GKE metrics
- GCP Load Balancing metrics
- GCP Metrics Input
- GCP PubSub logs (custom)
- GCP PubSub metrics
- GCP Redis metrics
- GCP Security Command Center
- GCP Storage metrics
- GCP VPC Flow logs
- GCP Vertex AI
- GoFlow2 logs
- Hadoop
- HAProxy
- Hashicorp Vault
- HTTP Endpoint logs (custom)
- IBM MQ
- IIS
- Imperva
- InfluxDb
- Infoblox
- Iptables
- Istio
- Jamf Compliance Reporter
- Jamf Pro
- Jamf Protect
- Jolokia Input
- Journald logs (custom)
- JumpCloud
- Kafka
- Keycloak
- Kubernetes
- LastPass
- Lateral Movement Detection
- Linux Metrics
- Living off the Land Attack Detection
- Logs (custom)
- Lumos
- Lyve Cloud
- Mattermost
- Memcached
- Menlo Security
- Microsoft
- Microsoft 365
- Microsoft Defender for Cloud
- Microsoft Defender for Endpoint
- Microsoft DHCP
- Microsoft DNS Server
- Microsoft Entra ID Entity Analytics
- Microsoft Exchange Online Message Trace
- Microsoft Exchange Server
- Microsoft Graph Activity Logs
- Microsoft M365 Defender
- Microsoft Office 365 Metrics Integration
- Microsoft Sentinel
- Microsoft SQL Server
- Mimecast
- ModSecurity Audit
- MongoDB
- MongoDB Atlas
- MySQL
- Nagios XI
- NATS
- NetFlow Records
- Netskope
- Network Beaconing Identification
- Network Packet Capture
- Nginx
- Okta
- Oracle
- OpenAI
- OpenCanary
- Osquery
- Palo Alto
- pfSense
- PHP-FPM
- PingOne
- PingFederate
- Pleasant Password Server
- PostgreSQL
- Prometheus
- Proofpoint TAP
- Proofpoint On Demand
- Pulse Connect Secure
- Qualys VMDR
- QNAP NAS
- RabbitMQ Logs
- Radware DefensePro Logs
- Rapid7
- Redis
- Rubrik RSC Metrics Integration
- Sailpoint Identity Security Cloud
- Salesforce
- SentinelOne
- ServiceNow
- Slack Logs
- Snort
- Snyk
- SonicWall Firewall
- Sophos
- Spring Boot
- SpyCloud Enterprise Protection
- SQL Input
- Squid Logs
- SRX
- STAN
- Statsd Input
- Sublime Security
- Suricata
- StormShield SNS
- Symantec
- Symantec Endpoint Security
- Sysmon for Linux
- Sysdig
- Syslog Router Integration
- System
- System Audit
- Tanium
- TCP Logs (custom)
- Teleport
- Tenable
- Threat intelligence
- ThreatConnect
- Threat Map
- Thycotic Secret Server
- Tines
- Traefik
- Trellix
- Trend Micro
- TYCHON Agentless
- UDP Logs (custom)
- Universal Profiling
- Vectra Detect
- VMware
- WatchGuard Firebox
- WebSphere Application Server
- Windows
- Wiz
- Zeek
- ZeroFox
- Zero Networks
- ZooKeeper Metrics
- Zoom
- Zscaler
Elastic Package Registry
editElastic Package Registry
editVersion |
0.3.1 [beta] This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. (View all) |
Compatible Kibana version(s) |
8.0.0 or higher |
Supported Serverless project types |
Security |
Subscription level |
Basic |
Level of support |
Elastic |
This Elastic Package Registry integration collects metrics from your Elastic Package Registry service.
For example, you could use the data from this integration to know the status of your services. For instance, how many packages are indexed, what version are running your services, or if there are too many requests with 404 or 500 code status.
Data streams
editThe Elastic Package Registry collects one type of data stream: metrics.
-
metrics: Telemetry data from the
/metrics
endpoint that give you insight into the state of the services. See more details in the Metrics reference.
Requirements
editYou need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.
This integration also requires Elastic Package Registry version >= 1.10.0.
Setup
editIn order to enable this telemetry in your Elastic Package Registry instance, you must set the metrics
address parameter. Or, as an alternative, set the environment variable
EPR_METRICS_ADDRESS
. As an example:
package-registry -metrics-address 0.0.0.0:9000 EPR_METRICS_ADDRESS="0.0.0.0:9000" package-regsitry
Remember to expose the port used in the above setting (e.g. 9000) in your deployments: k8s, docker-compose, etc..
For step-by-step instructions on how to set up an integration, see the Getting started guide.
Metrics reference
editMetrics
editElastic Package Registry can provide Prometheus metrics in the /metrics
endpoint.
You can verify that metrics endpoint is enabled by making an HTTP request to
http://localhost:9000/metrics
on your package registry instance.
Exported fields
Field | Description | Type | Unit | Metric Type |
---|---|---|---|---|
@timestamp |
Event timestamp. |
date |
||
data_stream.dataset |
Data stream dataset. |
constant_keyword |
||
data_stream.namespace |
Data stream namespace. |
constant_keyword |
||
data_stream.type |
Data stream type. |
constant_keyword |
||
ecs.version |
ECS version this event conforms to. |
keyword |
||
error.message |
Error message. |
match_only_text |
||
event.duration |
Duration of the event in nanoseconds. If event.start and event.end are known this value should be the difference between the end and start time. |
long |
||
event.ingested |
Timestamp when an event arrived in the central data store. This is different from |
date |
||
event.kind |
This is one of four ECS Categorization Fields, and indicates the highest level in the ECS category hierarchy. |
keyword |
||
package_registry.http.request_duration_seconds.histogram |
A histogram of latencies for requests to the http server |
histogram |
||
package_registry.http.request_size_bytes.histogram |
A histogram of sizes of requests to the http server |
histogram |
||
package_registry.http.response_size_bytes.histogram |
A histogram of response sizes for requests to the http server |
histogram |
||
package_registry.http_requests_total.counter |
Counter for requests to the http server |
double |
counter |
|
package_registry.in_flight_requests |
Requests currently being served by the http server |
double |
gauge |
|
package_registry.indexer.get_duration_seconds.histogram |
A histogram of latencies for get processes run by the indexer |
histogram |
||
package_registry.labels.code |
HTTP Code |
keyword |
||
package_registry.labels.component |
Component type of the storage (statics, artifacts, signature…) |
keyword |
||
package_registry.labels.indexer |
Indexer type |
keyword |
||
package_registry.labels.instance |
Elastic Package Registry instance |
keyword |
||
package_registry.labels.job |
keyword |
|||
package_registry.labels.location |
Storage location (remote or local) |
keyword |
||
package_registry.labels.method |
HTTP method |
keyword |
||
package_registry.labels.path |
Path of the HTTP request. |
keyword |
||
package_registry.labels.version |
Elastic Package Registry version. |
keyword |
||
package_registry.number_indexed_packages |
Number of indexed packages |
integer |
gauge |
|
package_registry.start_time |
Date where Elastic Package Registry started |
date |
||
package_registry.start_time_seconds |
Start time of the process since unix epoch in seconds |
double |
s |
gauge |
package_registry.storage_indexer.update_index_duration_seconds.histogram |
A histogram of latencies for update index processes run by the storage indexer |
histogram |
||
package_registry.storage_indexer.update_index_error_total.counter |
A counter for all the update index processes that finished with error in the storage indexer |
long |
||
package_registry.storage_indexer.update_index_success_total.counter |
A counter for all the update index processes that finished with success in the storage indexer |
long |
||
package_registry.storage_requests_total.counter |
Counter for requests performed to the storage |
long |
counter |
|
package_registry.uptime |
Elastic Package Registry uptime in seconds |
long |
s |
counter |
service.address |
Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). |
keyword |
||
service.type |
The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, |
keyword |
||
tags |
List of keywords used to tag each event. |
keyword |
Example
An example event for metrics
looks as following:
{ "@timestamp": "2022-07-28T09:54:47.993Z", "agent": { "ephemeral_id": "fb0962b4-3f3f-48d6-81d6-3df63366f744", "id": "97cba3e2-ea7d-4d80-aa69-75752faa1576", "name": "docker-fleet-agent", "type": "metricbeat", "version": "8.0.0" }, "data_stream": { "dataset": "elastic_package_registry.metrics", "namespace": "ep", "type": "metrics" }, "ecs": { "version": "8.3.1" }, "elastic_agent": { "id": "97cba3e2-ea7d-4d80-aa69-75752faa1576", "snapshot": false, "version": "8.0.0" }, "event": { "agent_id_status": "verified", "dataset": "elastic_package_registry.metrics", "duration": 7602509, "ingested": "2022-07-28T09:54:51Z", "kind": "metric", "module": "prometheus" }, "host": { "architecture": "x86_64", "containerized": false, "hostname": "docker-fleet-agent", "ip": [ "172.31.0.7" ], "mac": [ "02:42:ac:1f:00:07" ], "name": "docker-fleet-agent", "os": { "codename": "focal", "family": "debian", "kernel": "5.10.104-linuxkit", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.3 LTS (Focal Fossa)" } }, "metricset": { "name": "collector", "period": 30000 }, "package_registry": { "http": { "request_duration_seconds": { "histogram": { "counts": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "values": [ 0.0025, 0.0075, 0.0175, 0.037500000000000006, 0.07500000000000001, 0.175, 0.375, 0.75, 1.75, 3.75, 7.5, 15 ] } }, "request_size_bytes": { "histogram": { "counts": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "values": [ 8, 24, 48, 96, 192, 384, 768, 33280, 163840, 458752 ] } }, "response_size_bytes": { "histogram": { "counts": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "values": [ 8, 24, 48, 96, 192, 384, 768, 33280, 163840, 458752 ] } } }, "http_requests_total": { "counter": 20 }, "labels": { "code": "200", "instance": "elastic-package-service_elastic_package_registry_1:9110", "job": "prometheus", "method": "get", "path": "/" } }, "service": { "address": "http://elastic-package-service_elastic_package_registry_1:9110/metrics", "type": "elastic_package_registry" } }
Changelog
editChangelog
Version | Details | Kibana version(s) |
---|---|---|
0.3.1 |
Bug fix (View pull request) |
— |
0.3.0 |
Enhancement (View pull request) |
— |
0.2.0 |
Enhancement (View pull request) |
— |
0.1.0 |
Enhancement (View pull request) |
— |
0.0.7 |
Bug fix (View pull request) |
— |
0.0.6 |
Enhancement (View pull request) |
— |
0.0.5 |
Enhancement (View pull request) |
— |
0.0.4 |
Enhancement (View pull request) |
— |
0.0.3 |
Enhancement (View pull request) |
— |
0.0.2 |
Enhancement (View pull request) |
— |
0.0.1 |
Enhancement (View pull request) |
— |