Monitor Everything
You Care About

It’s easy to monitor your server at theAi??SystemAi??andAi??App level. With few lines of code, your can also monitor your own code.

It doesnai??i??t matter howAi??you collect, aggregate and send yourAi??metrics to us.Ai??The only requirement is to send it toAi??your InfluxDB. You canAi??send your data directly to InfluxDB through your code or using aggregation tools such asAi??CollectD,Ai??StatsdD,Ai??FluentD,Ai??Riemann,Ai??Shinken,Ai??Nagios or any others.

Be creative! We just need the data in InfluxDB to detect anomalies.

GET STARTED

layers monitoring

Code Monitoring

You can send your metrics directly to InfluxDB
orAi??through aggregation tools such as CollectD, StatsD, Nagios and more.

InfluxDB influxDB = InfluxDBFactory.connect("https://db.anomaly.io:8086", "myLogin", "myPassword");

Serie login = new Serie.Builder("server01.web.signup")
            .columns("success", "timeTaken", "country")
            .values(true, 8013, "FR")
            .build();

Serie pageview = new Serie.Builder("server01.web.pageview")
            .columns("current", "from", "loadTime")
            .values("/product?id=1", "/home", 201)
            .values("/product?id=2", "/home", 342)
            .build();

this.influxDB.write(dbName, TimeUnit.MILLISECONDS, login, pageview);
from influxdb import InfluxDBClient

json_body = [
    {
        "name": "server01.web.signup",
        "timestamp": "2015-05-10T23:00:00Z",
        "fields": {
            "success": true,
            "timeTaken": 8012,
            "country" : "FR"
        }
    },
    {
        "name": "server01.web.pageview",
        "timestamp": "2015-05-10T23:00:00Z",
        "fields": {
            "current": "/product?id=1",
            "from": "/home",
            "loadTime" : 201
        }
    },
    {
        "name": "server01.web.pageview",
        "timestamp": "2015-05-10T23:00:00Z",
        "fields": {
            "current": "/product?id=2",
            "from": "/home",
            "loadTime" : 342
        }
    }
]

client = InfluxDBClient('https://db.anomaly.io', 8086, 'myLogin', 'myPassword', 'myDb')

client.write_points(json_body)
influxdb = new InfluxDB({
  "host" :"https://db.anomaly.io",
  "port" :"8086",
  "username" :"myLogin",
  "password" :"myPassword",
  "database" :"myDb"
});

json_body = [
    {
        name: "server01.web.signup",
        columns: ["success", "timeTaken", "country"],
        points: [true, 8012, "FR"]
    },
    {
        name: "server01.web.pageview",
        columns: ["current", "from", "loadTime"],
        points: [
            ["/product?id=1", "/product?id=2", 201],
            ["/product?id=2", "/home", 342]
        ]
    },
];

influxdb.writeSeries(json_body)
NSString *post = @"{
  'name':'server01.web.signup',
  'columns':['success', 'timeTaken', 'country'],
  'points':[[true, 8013, 'FR']]
}";
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[post length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://db.anomaly.io:8086/db/myDb/series?u=myLogin&p=myPassword"]];

[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
require 'influxdb'
influxdb = InfluxDB::Client.new 'myDb', host: 'db.anomaly.io', :username => 'myLogin', :password => 'myPassword'

signup = {
  :success => true,
  :timeTaken => 8012,
  :country => 'FR'
}
influxdb.write_point('server01.web.signup', signup)

pageview1 = {
  :current => '/product?id=1',
  :from => '/product?id=2',
  :loadTime => 201
}
pageview2 = {
  :current => '/product?id=2',
  :from => '/home',
  :loadTime => 342
}
influxdb.write_point('server01.web.pageview', pageview1)
influxdb.write_point('server01.web.pageview', pageview2)
var client = new InfluxDBClient("db.anomaly.io", 8086, "myLogin", "myPassword", "myDb");

var signup = new Serie { Name = "server01.web.signup", ColumnNames = new[] { "success", "timeTaken", "country" } };
signup.Points.Add(new object[] { true, 8013, "FR" });

var pageview = new Serie { Name = "server01.web.pageview", ColumnNames = new[] { "current", "from", "loadTime" } };
pageview.Points.Add(new object[] { "/product?id=1", "/home", 201 });
pageview.Points.Add(new object[] { "/product?id=2", "/home", 342 });

var series = new List { signup, pageview };
client.Insert(series);

$client = new \crodas\InfluxPHP\Client('db.anomaly.io' ,8086,'myLogin' ,'myPassword' );
$db = $client->myDb;

$db->insert('server01.web.signup', ['success' => true, 'timeTaken' => 8013, 'country' => 'FR']);

$db->insert('server01.web.pageview', ['current' => '/product?id=1', 'from' => '/home', 'loadTime' => 201]);
$db->insert('server01.web.pageview', ['current' => '/product?id=2', 'from' => '/home', 'loadTime' => 201]);
client, err := influxdb.NewClient(&influxdb.ClientConfig{
	Host:     "db.anomaly.io:8086",
	Username: "myLogin",
	Password: "myPassword",
	Database: "myDb",
})

signup := &influxdb.Series{
    Name: "server01.web.signup",
    Columns: []string{"success", "timeTaken", "country"},
    Points: [][]interface{}{
        []interface{}{true, 8013, "FR"},
    },
}

pageview := &influxdb.Series{
    Name: "server01.web.pageview",
    Columns: []string{"current", "from", "loadTime"},
    Points: [][]interface{}{
        []interface{}{ "/product?id=1", "/home", 201 },
        []interface{}{ "/product?id=2", "/home", 342 },
    },
}
client.WriteSeriesWithTimePrecision([]*influxdb.Series{signup, pageview}, "s");
#include <influxdb/influxdb.h>

s_influxdb_client *client = influxdb_client_new("db.anomaly.io:8086", "myLogin", "myPassword", "myDb", 0);

s_influxdb_series *series = influxdb_series_create("server01.web.signup", NULL);

char **signup = malloc(sizeof (char *) * 4);
influxdb_series_add_colums(series, "success");
influxdb_series_add_colums(series, "timeTaken");
influxdb_series_add_colums(series, "country");
signup[0] = strdup("true");
signup[1] = strdup("8013");
signup[2] = strdup("FR");
influxdb_series_add_points(series, signup);

influxdb_write_serie(client, series);
val influxDB = InfluxDBFactory.connect("https://db.anomaly.io:8086", "myLogin", "myPassword");

val login = new Serie.Builder("server01.web.signup")
            .columns("success", "timeTaken", "country")
            .values(true, 8013, "FR")
            .build();

val pageview = new Serie.Builder("server01.web.pageview")
            .columns("current", "from", "loadTime")
            .values("/product?id=1", "/home", 201)
            .values("/product?id=2", "/home", 342)
            .build();

influxDB.write(dbName, TimeUnit.MILLISECONDS, login, pageview);
library(influxdb)

signup <- data.frame(signup=c(true, 8013, "FR"), signupName=c("success","timeTaken","country"))
pageview1 <- data.frame(pageview=c("/product?id=1", "/home", 201), pageviewName=c("current","from", "loadTime"))
pageview2 <- data.frame(pageview=c("/product?id=2", "/home", 342), pageviewName=c("current","from", "loadTime"))
all <- structure(list(signup, pageview1, pageview2), names=c("server01.web.signup", "server01.web.pageview", "server01.web.pageview"))

influxdb_write("db.anomaly.io", 8086, "myLogin", "myPassword", "myDb", all)
use InfluxDB;

my $ix = InfluxDB->new(
    host     => 'db.anomaly.io',
    port     => 8086,
    username => 'myLogin',
    password => 'myPassword',
    database => 'myDb'
);

$ix->write_points(
    data => {
        name    => "server01.web.signup",
        columns => [qw(success timeTaken country)],
        points  => [
            [true, 8013, "FR"]
        ],
    },
);

$ix->write_points(
    data => {
        name    => "server01.web.pageview",
        columns => [qw(current from loadTime)],
        points  => [
            [ "/product?id=1", "/home", 201 ],
            [ "/product?id=2", "/home", 342 ],
        ],
    },
);
curl -X POST -d '[{"name":"server01.web.signup","columns":["success", "timeTaken", "country"],"points":[[true, 8013, "FR"]]}]' 'https://db.anomaly.io:8086/db/myDb/series?u=myLogin&p=myPassword'

curl -X POST -d '[{"name":"server01.web.pageview","columns":["current", "from", "loadTime"],"points":[[ "/product?id=1", "/home", 201 ], [ "/product?id=2", "/home", 342 ],]}]' 'https://db.anomaly.io:8086/db/myDb/series?u=myLogin&p=myPassword'

App Monitoring

Costo toradol fiale

The only requirement is to send your metrics to InfluxDB.
YouAi??can use anyAi??monitoring tools to collect andAi??send the metrics.

System Monitoring

Again, the only requirement is having the metrics in InfluxDB.
YouAi??can use anyAi??monitoring tools to collect andAi??send them.

Detect anomaly and monitor your metrics now.

Sign up for AnomalyAi??today.

GET STARTED