zoukankan      html  css  js  c++  java
  • Grafana最新版本4.3.1安装(后端使用mysql)

    环境

    CentOS release 6.5 (Final) 64bit
    zabbix_server (Zabbix) 3.0.3
    grafana-4.3.1
    mysql-5.6.21

    一、安装grafana

    安装方法有很多,官网有介绍:http://docs.grafana.org/installation/rpm/。我这里采用二进制安装方法。

    1、下载二进制包,安装

    [root@localhost src]# rpm -Uvh grafana-4.3.1-1.x86_64.rpm
    warning: grafana-4.3.1-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
    Preparing... ########################################### [100%]
    1:grafana ########################################### [100%]
    ### NOT starting grafana-server by default on bootup, please execute
    sudo /sbin/chkconfig --add grafana-server
    ### In order to start grafana-server, execute
    sudo service grafana-server start
    POSTTRANS: Running script

    2、修改grafana.ini文件

    参考连接http://docs.grafana.org/installation/configuration/

    因为默认使用sqlite3,我这里把他替换成mysql,因为我对mysql熟悉些,而且考虑到以后备份、异常恢复啥的。
    修改配置:database和session都替换成mysql数据库。

    ############################### Database ####################################
    [database]
    # You can configure the database connection by specifying type, host, name, user and password
    # as seperate properties or as on string using the url propertie.
    # Either "mysql", "postgres" or "sqlite3", it's your choice
    type = mysql
    host = 127.0.0.1:3306
    name = grafana
    user = grafana
    password = grafana
    ################################# Session #################################
    [session]
    provider = mysql
    provider_config = grafana:grafana@tcp(127.0.0.1:3306)/grafana
    cookie_name = grafana_session
    cookie_secure = false
    session_life_time = 86400

    3、建库

    CREATE DATABASE grafana DEFAULT CHARACTER SET utf8;

    GRANT ALL ON grafana.* TO grafana@'localhost' IDENTIFIED BY 'grafana' WITH GRANT OPTION;

    FLUSH PRIVILEGES;

    4、启动服务grafana-server

    启动服务时,出了个小插曲。启动服务的时候,失败了。
    [root@localhost ~]# /etc/init.d/grafana-server restart
    Stopping Grafana Server: ...[FAILED]
    Starting Grafana Server: ... [ OK ]
    FAILED


    解决过程:查log。
    [root@localhost grafana]# tail -f /var/log/grafana/grafana.log
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="create index UQE_user_email - v2"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="copy data_source v1 to v2"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="Drop old table user_v1"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="Add column help_flags1 to user table"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="Update user table charset"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="create temp user table v1-7"
    t=2017-06-22T11:26:03+0800 lvl=info msg="Executing migration" logger=migrator id="create index IDX_temp_user_email - v1-7"
    t=2017-06-22T11:26:03+0800 lvl=eror msg="Executing migration failed" logger=migrator id="create index IDX_temp_user_email - v1-7" error="Error 1071: Specified key was too long; max key length is 767 bytes"
    t=2017-06-22T11:26:03+0800 lvl=eror msg="Exec failed" logger=migrator error="Error 1071: Specified key was too long; max key length is 767 bytes" sql="CREATE INDEX `IDX_temp_user_email` ON `temp_user` (`email`);"
    t=2017-06-22T11:26:03+0800 lvl=eror msg="Fail to initialize orm engine" logger=sqlstore error="Sqlstore::Migration failed err: Error 1071: Specified key was too long; max key length is 767 bytes "
    根据提示,是在创建索引的时候,长度超过了767bytes导致。在mysql官网查看也可以看到:By default, the index key prefix length limit is 767 bytes.
    参考连接https://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html


    解决办法:
    1、修改my.cnf文件,增加如下变量
    my.cnf
    innodb_large_prefix=ON
    innodb_file_format=Barracuda
    innodb_file_format_max=Barracuda
    进入数据库,查看这几个变量的原始值:
    mysql> show variables like 'innodb_file%';
    +--------------------------+----------+
    | Variable_name | Value |
    +--------------------------+----------+
    | innodb_file_format | Antelope |
    | innodb_file_format_check | ON |
    | innodb_file_format_max | Antelope |
    | innodb_file_per_table | ON |
    +--------------------------+----------+
    4 rows in set (0.01 sec)

    mysql> show variables like 'innodb_large%';
    +---------------------+-------+
    | Variable_name | Value |
    +---------------------+-------+
    | innodb_large_prefix | OFF |
    +---------------------+-------+
    1 row in set (0.00 sec)
    修改my.cnf文件后,重启数据库。
    2、修改grafana表的行格式。
    temp_user ALTER TABLE temp_user ROW_FORMAT=DYNAMIC;
    dashboard ALTER TABLE dashboard ROW_FORMAT=DYNAMIC;
    alert ALTER TABLE alert ROW_FORMAT=DYNAMIC;
    修改前:
    mysql> SHOW TABLE STATUS like 'dashboard'G
    *************************** 1. row ***************************
    Name: dashboard
    Engine: InnoDB
    Version: 10
    Row_format: Compact
    Rows: 21
    Avg_row_length: 60074
    Data_length: 1261568
    Max_data_length: 0
    Index_length: 65536
    Data_free: 4194304
    Auto_increment: 44
    Create_time: 2016-07-13 11:07:01
    Update_time: NULL
    Check_time: NULL
    Collation: utf8_general_ci
    Checksum: NULL
    Create_options:
    Comment:
    1 row in set (0.00 sec)

    mysql> ALTER TABLE dashboard ROW_FORMAT=DYNAMIC;
    Query OK, 0 rows affected (0.17 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> ALTER TABLE dashboard ROW_FORMAT=DYNAMIC;
    Query OK, 0 rows affected (0.17 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    修改后:
    mysql> SHOW TABLE STATUS like 'dashboard'G
    *************************** 1. row ***************************
    Name: dashboard
    Engine: InnoDB
    Version: 10
    Row_format: Dynamic
    Rows: 22
    Avg_row_length: 72238
    Data_length: 1589248
    Max_data_length: 0
    Index_length: 65536
    Data_free: 0
    Auto_increment: 44
    Create_time: 2017-05-24 12:01:03
    Update_time: NULL
    Check_time: NULL
    Collation: utf8_general_ci
    Checksum: NULL
    Create_options: row_format=DYNAMIC
    Comment:
    3、重启grafana服务,一切OK。

    t=2017-06-22T11:39:21+0800 lvl=info msg="Starting Grafana" logger=main version=4.3.1 commit=befc15c compiled=2017-05-23T21:50:22+0800
    t=2017-06-22T11:39:21+0800 lvl=info msg="Config loaded from" logger=settings file=/usr/share/grafana/conf/defaults.ini
    t=2017-06-22T11:39:21+0800 lvl=info msg="Config loaded from" logger=settings file=/etc/grafana/grafana.ini
    t=2017-06-22T11:39:21+0800 lvl=info msg="Config overriden from command line" logger=settings arg="default.paths.data=/var/lib/grafana"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Config overriden from command line" logger=settings arg="default.paths.logs=/var/log/grafana"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Config overriden from command line" logger=settings arg="default.paths.plugins=/var/lib/grafana/plugins"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Path Home" logger=settings path=/usr/share/grafana
    t=2017-06-22T11:39:21+0800 lvl=info msg="Path Data" logger=settings path=/var/lib/grafana
    t=2017-06-22T11:39:21+0800 lvl=info msg="Path Logs" logger=settings path=/var/log/grafana
    t=2017-06-22T11:39:21+0800 lvl=info msg="Path Plugins" logger=settings path=/var/lib/grafana/plugins
    t=2017-06-22T11:39:21+0800 lvl=info msg="Initializing DB" logger=sqlstore dbtype=mysql
    t=2017-06-22T11:39:21+0800 lvl=info msg="Starting DB migration" logger=migrator
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="copy data account to org"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Skipping migration condition not fulfilled" logger=migrator id="copy data account to org"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="copy data account_user to org_user"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Skipping migration condition not fulfilled" logger=migrator id="copy data account_user to org_user"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="add index alert state"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="add index alert dashboard_id"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="create alert_notification table v1"
    t=2017-06-22T11:39:21+0800 lvl=info msg="Executing migration" logger=migrator id="Add column is_default"
    t=2017-06-22T11:39:22+0800 lvl=info msg="Executing migration" logger=migrator id="add index alert_notification org_id & name"
    t=2017-06-22T11:39:22+0800 lvl=info msg="Executing migration" logger=migrator id="Update alert table charset"
    t=2017-06-22T11:39:22+0800 lvl=info msg="Executing migration" logger=migrator id="Update alert_notification table charset"
    t=2017-06-22T11:39:22+0800 lvl=info msg="Executing migration" logger=migrator id="Drop old annotation table v4"
    t=2017-06-22T11:39:22+0800 lvl=info msg="Executing migration" logger=migrator id="create annotation table v5"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="add index annotation 0 v3"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="add index annotation 1 v3"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="add index annotation 2 v3"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="add index annotation 3 v3"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="add index annotation 4 v3"
    t=2017-06-22T11:39:23+0800 lvl=info msg="Executing migration" logger=migrator id="Update annotation table charset"
    t=2017-06-22T11:39:24+0800 lvl=info msg="Executing migration" logger=migrator id="Add column region_id to annotation table"
    t=2017-06-22T11:39:24+0800 lvl=info msg="Executing migration" logger=migrator id="create test_data table"
    t=2017-06-22T11:39:25+0800 lvl=info msg="Created default admin user: admin"
    t=2017-06-22T11:39:25+0800 lvl=info msg="Starting plugin search" logger=plugins
    t=2017-06-22T11:39:25+0800 lvl=warn msg="Plugin dir does not exist" logger=plugins dir=/var/lib/grafana/plugins
    t=2017-06-22T11:39:25+0800 lvl=info msg="Plugin dir created" logger=plugins dir=/var/lib/grafana/plugins
    t=2017-06-22T11:39:25+0800 lvl=info msg="Initializing Alerting" logger=alerting.engine
    t=2017-06-22T11:39:25+0800 lvl=info msg="Initializing CleanUpService" logger=cleanup
    t=2017-06-22T11:39:25+0800 lvl=info msg="Initializing Stream Manager"
    t=2017-06-22T11:39:25+0800 lvl=info msg="Initializing HTTP Server" logger=http.server address=0.0.0.0:3000 protocol=http subUrl= socket=

    5、打开主页

    PS:本文纯属记录个人实践经历,如有问题,可随时联系我。QQ505711559

  • 相关阅读:
    Mysql日期函数,时间函数使用的总结
    java与.net比较学习系列(7) 属性
    java与.net比较学习系列(6) 数组
    java与.net比较学习系列(5) 流程控制语句
    java与.net比较学习系列(4) 运算符和表达式
    java与.net比较学习系列(3) 基本数据类型和类型转换
    java与.net比较学习系列(2) 基础语言要素
    java与.net比较学习系列(1) 开发环境和常用调试技巧
    一个简单的数字处理
    SQLSERVER分页存储过程
  • 原文地址:https://www.cnblogs.com/skyflask/p/7065019.html
Copyright © 2011-2022 走看看