tail -f /var/log/nginx/errors.log
2016/04/15 15:42:46 [warn] 2330#0: *167 using uninitialized variable,
client: 10.0.1.1, server: localhost.dev, request: "POST /auth HTTP/1.1",
host: "localhost"
2016/04/15 15:44:44 [error] 2330#0: *171 FastCGI sent in stderr: "
PHP message: PHP Fatal error: Uncaught exception
'RuntimeException' with message 'All broken)[500]'
in /var/www/my/project.php:237
Stack trace:
#0 /var/www/index.php:45 ObjectService->flush()
#1 [internal function] ->save()
[
{
"name": "log_lines",
"columns": ["time", "line"],
"point": [1400425947368, "here's some useful log info"]
}
]
{
"name": "cpu_percent_use",
"columns": ["value"],
"point": 40
}
If you try to reduce your time series to a timestamp and a value
Complexity doesn't mean better
The time is a perfect shard key
InfluxDB outperformed Elasticsearch in all three tests with 8x greater write throughput, while using 4x less disk space when compared against Elastic’s time series optimized configuration, and delivering 3.5x to 7.5x faster response times for tested queries.InfluxDB markedly Elasticsearch
serialization protocol created to be slim
[key] [fields] [timestamp]
temperature,machine=unit internal=3,external=10 1434055562000000035
Corley\Benchmarks\InfluxDB\AdapterEvent
Method Name Iterations Average Time Ops/second
------------------------ ------------ -------------- -------------
sendDataUsingHttpAdapter: [1,000 ] [0.0026700308323] [374.52751]
sendDataUsingUdpAdapter : [1,000 ] [0.0000436344147] [22,917.69026]
SELECT value
FROM cpu_load_short
WHERE region='us-west'
CREATE CONTINUOUS QUERY minnie ON world
BEGIN SELECT min(mouse) INTO min_mouse
FROM zoo GROUP BY time(30m) END
Telegraf is a plugin-driven server agent for collecting and reporting metrics
[global_tags]
dc = "do-ams-3"
name = "db1"
[agent]
interval = "10s"
[[outputs.influxdb]]
urls = ["http://localhost:8086"]
precision = "s"
[[inputs.cpu]]
percpu = true
totalcpu = true
Kapacitor is a data processing engine. It can process both stream and batch data
Follow your metrics and send notification when one of them has a strange behavior
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 70)
.log('/tmp/alerts.log')
To manage your data
Demo time
https://github.com/gianarb/demo-devops-conf
A series of great tools to monitor your applications and your infrastructure