Giter Club home page Giter Club logo

growthforecast's Introduction

NAME
    growthforecast.pl - Lightning Fast Graphing/Visualization

SYNOPSIS
      % growthforecast.pl --data-dir=/path/to/dir

DESCRIPTION
    GrowthForecast is graphing/visualization web tool built on RRDtool

INSTALL
    Install dependencies
        To install growthforecast, these libraries are needed.

        *   glib

        *   xml2

        *   pango

        *   cairo

          (CentOS) $ sudo yum groupinstall "Development Tools"
                   $ sudo yum install pkgconfig glib2-devel gettext libxml2-devel pango-devel cairo-devel
  
          (Ubuntu) $ sudo apt-get build-dep rrdtool

    Install GrowthForecast
          $ cpanm GrowthForecast

        It's recommended to using perlbrew

OPTIONS
    --data-dir
        A directory to store rrddata and metadata

    --port
        TCP port listen on. Default is 5125

    --host
        IP address to listen on

    --socket
        File path to UNIX domain socket to bind. If enabled unix domain
        socket, GrowthForecast does not bind any TCP port

    --front-proxy
        IP addresses or CIDR of reverse proxy

    --allow-from
        IP addresses or CIDR to allow access from. Default is empty (allow
        access from any remote ip address)

    --disable-1min-metrics
        don't generate 1min rrddata and graph Default is "1" (enabled)

    --disable-subtract
        Disable gmode `subtract`. Default is "1" (enabled)

    --enable-float-number
        Store numbers of graph data as float rather than integer. Default is
        "0" (disabled)

    --with-mysql
        DB connection setting to store metadata. format like
        dbi:mysql:[dbname];hostname=[hostnaem] Default is no mysql setting.
        GrowthForecast save metadata to SQLite

    --web-max-workers
        Number of web server processes. Default is 4

    --rrdcached
        rrdcached address. format is like either of

           unix:</path/to/unix.sock>
           /<path/to/unix.sock>
           <hostname-or-ip>
           [<hostname-or-ip>]:<port>
           <hostname-or-ipv4>:<port>

        See the manual of rrdcached for more details. Default does not use
        rrdcached.

    --mount
        Provide GrowthForecast with specify url path. Default is empty (
        provide GrowthForecast on root path )

    --time-zone
        Set the system time zone for GrowthForecast. Default is system
        timezone.

    -v --version
        Display version

    -h --help
        Display help

MYSQL Setting
    GrowthForecast uses SQLite as metadata by default. And also supports
    MySQL

    GrowthForecast needs these MySQL privileges.

    *   CREATE

    *   ALTER

    *   DELETE

    *   INSERT

    *   UPDATE

    *   SELECT

    Sample GRANT statement

      mysql> GRANT statement sample> GRANT  CREATE, ALTER, DELETE, INSERT, UPDATE, SELECT \\
               ON growthforecast.* TO 'www'\@'localhost' IDENTIFIED BY foobar;

    Give USERNAME and PASSWORD to GrowthForecast by environment value

      $ MYSQL_USER=www MYSQL_PASSWORD=foobar growthforecast.pl \\
          --data-dir /home/user/growthforecast \\
          -with-mysql dbi:mysql:growthforecast;hostname=localhost

    AUTHOR Masahiro Nagano <kazeburo {at} gmail.com>

    LICENSE This library is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself.

growthforecast's People

Contributors

anoworl avatar avvmoto avatar dayflower avatar haarg avatar hirose31 avatar karahiyo avatar kazeburo avatar kentaro avatar matsuu avatar mikeda avatar nikushi avatar oranie avatar ryuzi avatar sharl avatar shibayu36 avatar soh335 avatar sonots avatar sugyan avatar syohex avatar tagomoris avatar takus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

growthforecast's Issues

SSLプロキシ経由時の挙動

SSLプロキシ(ロードバランサ)経由にて利用した場合も、CSS等やリンクの参照先が非SSLのままとなります。
以下のように出力を変更し、SSLでも、非SSLでも対応出来るように出来ますでしょうか。

・変更前
<a href="http://$domain/$path">○○</a>

・変更後
<a href="/$path">○○</a>

ご検討頂けると幸いです。

[Q] データをインポートできますか?

初めまして佐藤と申します。

GrowthForecast先ほど使い始めました。大変便利でこれから活用したいと思います。

さて本題ですが、諸般の事情で過去のデータを取り込みしたいと思っています。

rrdを直接編集すれば過去のデータが取り込まれますでしょうか?
それともsqliteのテーブルに何かデータを入れる必要がありますでしょうか?

なにかアドバイスをいただければ幸いです。

よろしくお願いします。

MySQL 5.6 can't have TEXT/BLOB column defalut value

GrowthForecastでMySQL5.6を使おうとすると
CREATE TABLE IF NOT EXISTS graphs (
-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> service_name VARCHAR(255) NOT NULL COLLATE utf8_bin,
-> section_name VARCHAR(255) NOT NULL COLLATE utf8_bin,
-> graph_name VARCHAR(255) NOT NULL COLLATE utf8_bin,
-> number BIGINT NOT NULL DEFAULT 0,
-> mode VARCHAR(255) NOT NULL DEFAULT 'gauge',
-> description VARCHAR(255) NOT NULL DEFAULT '',
-> sort INT UNSIGNED NOT NULL DEFAULT 0,
-> gmode VARCHAR(255) NOT NULL DEFAULT 'gauge',
-> color VARCHAR(255) NOT NULL DEFAULT '#00CC00',
-> ulimit BIGINT NOT NULL DEFAULT 1000000000,
-> llimit BIGINT NOT NULL DEFAULT 0,
-> sulimit BIGINT NOT NULL DEFAULT 100000,
-> sllimit BIGINT NOT NULL DEFAULT 0,
-> type VARCHAR(255) NOT NULL DEFAULT 'AREA',
-> stype VARCHAR(255) NOT NULL DEFAULT 'AREA',
-> meta TEXT NOT NULL DEFAULT '',
-> created_at INT UNSIGNED NOT NULL,
-> updated_at INT UNSIGNED NOT NULL,
-> PRIMARY KEY (id),
-> UNIQUE (service_name, section_name, graph_name)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1101 (42000): BLOB/TEXT column 'meta' can't have a default value
という形でエラーになります。
5.6の仕様を確認した結果、 -> meta TEXT NOT NULL DEFAULT '',の箇所でデフォルト値を設定している為エラーになっているようです。
http://dev.mysql.com/doc/refman/5.6/en/blob.html
「BLOB and TEXT columns cannot have DEFAULT values. 」

とりあえずスキーマでデフォルト値を設定しているTEXT型の箇所を修正した物をpull reqします。

Unix Domain SocketのListen

TCPポートの代わりに Unix Domain Socket をサポートする

Fluentd <= keepalive => nginx <= unix domain => GF

を実現して、データ欠損を減らしたい

やりかた

  • growthforecast.plでunix domainをlistenするか、Server::Starter経由するか、Starletで直接unix domain socketサポートするか
  • unix domainの場合のPM::ReverseProxyの扱いも考えないと

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.