Arecibo
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Real-time Monitoring
Overview
--------

1. To build

    mvn clean install

2. Detailed documentation: see https://github.com/ning/Arecibo/wiki


Collector
---------

The collector gathers and stores data sent by the agents to the datastore (MySQL by default). It supports multiple APIs, including REST over HTTP and UDP.

Before starting the collector, you need to create a database first, e.g.:

    ~ > echo 'create database arecibo' | mysql -u root -p
    Enter password:
    ~ > cat collector/src/main/resources/collector.sql | mysql -u root -p arecibo
    Enter password:


To start the collector, assuming MySQL is running locally:

    java \
        -Dcom.sun.management.jmxremote.authenticate=false \
        -Dcom.sun.management.jmxremote.port=8990 \
        -Dcom.sun.management.jmxremote.ssl=false \
        -Darecibo.events.collector.db.url=jdbc:mysql://127.0.0.1:3306/arecibo \
        -Darecibo.events.collector.db.user=root \
        -Darecibo.events.collector.db.password=root
        -jar target/arecibo-collector-*-jar-with-dependencies.jar


To send data via the REST API, send JSON payloads to /xn/rest/1.0/event, e.g. (send 2 data points):

    echo "
    {
        \"timestamp\": $(date +%s)000,
        \"eventType\": \"testEvent\",
        \"sourceUUID\": \"550e8400-e29b-41d4-a716-446655440000\",
        \"min_heapUsed\": $RANDOM.515698888E9,
        \"max_heapUsed\": $RANDOM.835511784E9
    }" | \
    curl -v -H'Content-Type: application/json' -XPOST -d@- http://127.0.0.1:8088/xn/rest/1.0/event


Data is exposed in JSON format, e.g.:

    curl -v http://127.0.0.1:8088/rest/1.0/hosts

See `com.ning.arecibo.collector.resources` for available endpoints.

For convenience, there is a Java library to access the data (see the collector-client-support module).

Dashboard
---------

The dashboard module exposes graphs of collected metrics. It relies on a collector to access the data (using the collector REST api) and can be configured to use the alertmanager (disabled by default).

To start the dashboard, assuming the collector is at `http://127.0.0.1:8088`:

    mvn \
        -Dcom.sun.management.jmxremote.authenticate=false \
        -Dcom.sun.management.jmxremote.port=8989 \
        -Dcom.sun.management.jmxremote.ssl=false \
        -Darecibo.collectorClient.collectorUri=http://127.0.0.1:8088 \
        jetty:run

You can test it by hitting the dashboard's endpoints, e.g.:

    curl -v http://127.0.0.1:8080/rest/1.0/hosts

Note that the output is not JSON, but JSONP, for the dashboard AJAX requests. To get straight JSON, use the collector endpoints instead, e.g.:

    curl -v http://127.0.0.1:8088/rest/1.0/hosts

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。