I'm evaluating app logging solutions, and I'm unclear on stackdriver pricing.
Right now, my logging is node.js apps -> fluentd server -> hosted elasticsearch -> kibana
In my apps, I log events in json, keyed on an eventType field, eg,
{
eventType: 'ARBITRARY_JOB_COMPLETE',
field2: 'etc'
//...
}
Then, in Kibana, it's a trivial matter to make queries on those events to filter/count/etc. and build dashboards. All told, I'm currently counting ~30 different events for dashboards.
I'm trying to translate this to stackdriver's pricing model. According to their current pricing page (italicized emphasis is mine):
Basic Tier: $0.10 per time series/month, and $1.00 per metric descriptor/month.
To understand the allotment and overage charges, you must understand how Stackdriver uses metric descriptors and time series:
A metric descriptor defines a metric type and any associated labels used to parameterize the metric. A single metric descriptor can be responsible for any number of time series. For example, only a single descriptor is needed for time series data from all of your VM instances.
A time series holds time-stamped data for the combination of a metric type, a monitored resource such as a VM instance or database, and values for any labels the metric defines. Data points in a time series expire at the end of their retention period. A logs-based metric is a custom metric descriptor created by Stackdriver Logging. It counts the number of log entries that match a filter.
For example, suppose you have 180 VM instances and you want to write a custom measurement for each of them every minute. You define a custom metric descriptor, custom.googleapis.com/my_measurement. On each VM instance, every minute, you write a data point to this metric, specifying both the metric's name and the name of the VM instance. This will create a separate time series for each VM instance. In the Premium Tier, you have used one time series (out of 500) in each of your 180 chargeable resources, and one metric descriptor (out of 250) in your project. In the Basic Tier, the overage cost for this custom data is $19.00 per month: $1.00 for the metric descriptor, and $18.00 for the 180 time series. If you stop writing data to the metric, all the time series eventually expire and you are left with the $1.00 per month charge for the descriptor, which you can delete.
The example deals with VMs, so it's hard to apply to my use case. I can think of 2 possible interpretations:
- Each
eventTypeI count costs $ 1.10/month ($ 1 for descriptor, $ 0.10 for the resultant time-series). So, 30 events = $ 33.00/mo - Each
eventTypeI count is considered a separatetime series, resulting in $ 1/month for thedescriptor, and $ 0.10 * 30 for eacheventType'stime-series.
Number 2 seems like a reasonable interpretation, given the VM example (i.e., 1 'descriptor' and 180 'series', 1 for each VM), but I'm aware I might just be optimistic in my reading.