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

  • 相关阅读:
    一些你可能用到的代码
    iOS 键盘下去的方法
    iOS设计模式汇总
    随笔
    Spring cloud config 分布式配置中心 (三) 总结
    Spring cloud config 分布式配置中心(二) 客户端
    Spring cloud config 分布式配置中心(一) 服务端
    jdbcUrl is required with driverClassName spring boot 2.0版本
    JpaRepository接口找不到 spring boot 项目
    解决IntelliJ “Initialization failed for 'https://start.spring.io'
  • 原文地址:https://www.cnblogs.com/skyflask/p/7065019.html
Copyright © 2011-2022 走看看