Hello,

Metrics are not saved when I put a timestamps with metrics.
I've got through github issue and some of prometheus codes but not yet 
getting the root cause.

I would be happy if I can get why I'm getting below errors.

Errors
*Error 1*
I got below error when executing prometheus with prometheus.yml (v1). 
Please see blow for the prometheus.yml (v1).

prometheus_1  | level=warn ts=2020-05-25T12:29:17.216Z caller=scrape.go:1240 
component="scrape manager" scrape_pool=my-app target=https://<internal 
server address>:443/metrics msg="Error on ingesting samples that are too 
old or are too far into the future" num_dropped=600

*Error2*
I got massive amount of below log when running prometheus with 
prometheus.yml (v2). Please see below for prometheus.yml (v2)

prometheus_1  | level=info ts=2020-05-25T15:57:25.857Z caller=head.go:732 
component=tsdb msg="WAL checkpoint complete" first=1164 last=1165 
duration=2.1818ms
prometheus_1  | level=info ts=2020-05-25T15:57:25.867Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=509.9µs
prometheus_1  | level=info ts=2020-05-25T15:57:25.879Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=549.7µs
prometheus_1  | level=info ts=2020-05-25T15:57:25.882Z caller=head.go:732 
component=tsdb msg="WAL checkpoint complete" first=1166 last=1167 
duration=2.7017ms
prometheus_1  | level=info ts=2020-05-25T15:57:25.892Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=564.7µs
prometheus_1  | level=info ts=2020-05-25T15:57:25.903Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=651.9µs
prometheus_1  | level=info ts=2020-05-25T15:57:25.906Z caller=head.go:732 
component=tsdb msg="WAL checkpoint complete" first=1168 last=1169 
duration=2.8861ms
prometheus_1  | level=info ts=2020-05-25T15:57:25.916Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=562.8µs
prometheus_1  | level=info ts=2020-05-25T15:57:25.925Z caller=head.go:662 
component=tsdb msg="head GC completed" duration=633µs


Background

I'm testing prometheus for custom app.
I've created endpoint which expose metrics in text-based format for the app.

Since metrics are calculated with batch job, I've put a timestamps to 
metrics to show when the metrics was calculated.
The batch job is executed in every 5 min, so the timestamp will not be 
older than 5 min compared to the current timestamp.

Here is an example of exposed data. There are about 600 lines in real data.

#HELP processed_rows_total the total number of processed rows
#TYPE processed_rows_total counter
processed_rows_total{stream_name="a", result="success"} 93163 1590422899
processed_rows_total{stream_name="a", result="error"} 0 1590422899
processed_rows_total{stream_name="b", result="success"} 45695851 1590422899

processed_rows_total{stream_name="b", result="error"} 0 1590422899


Environment

Running with docker.

docker-compose.yml

prometheus:
  image: prom/prometheus:v2.17.2
  entrypoint:
    - "/bin/prometheus"
    - "--log.level=debug"
    - "--config.file=/etc/prometheus/prometheus.yml"
    - "--storage.tsdb.path=/prometheus"
    - "--web.console.libraries=/usr/share/prometheus/console_libraries"
    - "--web.console.templates=/usr/share/prometheus/consoles"
  volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml
  ports:
    - "127.0.0.1:9090:9090"

prometheus.yml (v1)

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. 
Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default 
is every 1 minute.

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries 
scraped from this config.
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'my-app'
    metrics_path: '/metrics'
    scrape_interval: 1m
    scheme: 'https'
    static_configs:
    - targets: ['<internal server address>']

prometheus.yml (v2)

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. 
Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default 
is every 1 minute.

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  - job_name: 'my-app'
    metrics_path: '/metrics'
    scrape_interval: 1m
    scheme: 'https'
    static_configs:
    - targets: ['<internal server address>']

Other notes

With *honor-timestamps: false* configuration in prometheus.yml, metrics are 
saved correctly.

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/64c8a462-5130-4747-a1a5-49e67b975aa3%40googlegroups.com.

Reply via email to