szaydel
5/30/2017 - 6:35 PM

[Influxdb query strings] cURL strings for influxdb interrogation #tags: influxdb, curl, cli, command line

[Influxdb query strings] cURL strings for influxdb interrogation #tags: influxdb, curl, cli, command line

// Create retention policy, but do not set as default.
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode 'q=CREATE RETENTION POLICY "rp1" ON "local" DURATION 1d REPLICATION 1' \
    --data-urlencode 'db=local'
    
// Create retention policy named "rp1" with a 365day duration on database "cold", 
// setting it as the default retention ploicy on this database.
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode 'q=CREATE RETENTION POLICY "rp1" ON "cold" DURATION 365d REPLICATION 1 DEFAULT' \
    --data-urlencode 'db=cold'
    
// Create a continuous query named "cq_10m" on "local" database, running every 10 minutes, grouping
// data averaged into 10 minute intervals.
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode 'q=CREATE CONTINUOUS QUERY "cq_10m" ON "local" BEGIN SELECT mean(*) INTO "lowres_arc.efficiency" FROM "arc.efficiency" GROUP BY time(10m) END' \
    --data-urlencode 'db=local'

// Fully qualify database name and retention policy name from which to query data. By default only the data
// stored under default retention policy is retrieved.
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode \
    'q=SELECT mean(*) FROM "local"."one_week"./.*/ where time < now() - 1h GROUP BY time(1h)'
    
// Copy data from "local" database retention policy "one_week" into "local" database retention policy "default"
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode \
    'q=SELECT * INTO "local"."default".:MEASUREMENT FROM "local"."one_week"./.*/ WHERE time < now() - 1h'
    
// Bulk downsample and load all measurements older than 30 days from "local" database into 
// alternate measurement in database named "cold", with retention policy named "rp1".
curl -k -v --cacert /etc/racktop/certs/influxd.pem \
    'https://localhost:8086/query?u=user&p=pass' \
    --data-urlencode \
    'q=SELECT mean(*) INTO "cold"."rp1".:MEASUREMENT FROM /.*/ where time < now() - 30d GROUP BY time(1h)' \
    --data-urlencode 'db=local'