Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器。Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB。


Grafana 主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源;Graphite 和 InfluxDB 查询编辑器等等。

安装

https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.0-1468321182.x86_64.rpm

[root@Zabbix_serverpackage]#rpm-ivhgrafana-3.1.0-1468321182.x86_64.rpmwarning:grafana-3.1.0-1468321182.x86_64.rpm:HeaderV4RSA/SHA1Signature,keyID3dd18bdd:NOKEYPreparing...###########################################[100%]1:grafana###########################################[100%]###NOTstartinggrafana-serverbydefaultonbootup,pleaseexecutesudo/sbin/chkconfig--addgrafana-server###Inordertostartgrafana-server,executesudoservicegrafana-serverstart[root@Zabbix_serverpackage]#chkconfiggrafana-serveron

2.创建数据库和用户

mysql>CREATEDATABASEgrafanaDEFAULTCHARACTERSETutf8;QueryOK,1rowaffected(0.02sec)mysql>GRANTALLONgrafana.*TO'grafana'@'%'IDENTIFIEDBY'ZabBix2017'WITHGRANTOPTION;QueryOK,0rowsaffected(0.26sec)mysql>FLUSHPRIVILEGES;QueryOK,0rowsaffected(0.02sec)

3.修改配置文件(这里根据自己需求改,我这里修改了监听地址和初始密码)

[root@Zabbix_serverpackage]#vim/etc/grafana/grafana.ini[database]#Either"mysql","postgres"or"sqlite3",it'syourchoicetype=mysqlhost=mysql监听地址:3306name=grafanauser=grafanapassword=ZabBix2017

4.grafana.ini 配置文件详解

app_mode:应用名称,默认是production[path]data:一个grafana用来存储sqlite3、临时文件、回话的地址路径logs:grafana存储logs的路径[server]http_addr:监听的ip地址,,默认是0.0.0.0http_port:监听的端口,默认是3000protocol:http或者https,,默认是httpdomain:这个设置是root_url的一部分,当你通过浏览器访问grafana时的公开的domian名称,默认是localhostenforce_domain:如果主机的header不匹配domian,则跳转到一个正确的domain上,默认是falseroot_url:这是一个web上访问grafana的全路径url,默认是%(protocol)s://%(domain)s:%(http_port)s/router_logging:是否记录web请求日志,默认是falsecert_file:如果使用https则需要设置cert_key:如果使用https则需要设置[database]grafana默认需要使用数据库存储用户和dashboard信息,默认使用sqlite3来存储,你也可以换成其他数据库type:可以是mysql、postgres、sqlite3,默认是sqlite3path:只是sqlite3需要,定义sqlite3的存储路径host:只是mysql、postgres需要,默认是127.0.0.1:3306name:grafana的数据库名称,默认是grafanauser:连接数据库的用户password:数据库用户的密码ssl_mode:只是postgres使用[security]admin_user:grafana默认的admin用户,默认是adminadmin_password:grafanaadmin的默认密码,默认是adminlogin_remember_days:多少天内保持登录状态secret_key:保持登录状态的签名disable_gravatar:[users]allow_sign_up:是否允许普通用户登录,如果设置为false,则禁止用户登录,默认是true,则admin可以创建用户,并登录grafanaallow_org_create:如果设置为false,则禁止用户创建新组织,默认是trueauto_assign_org:当设置为true的时候,会自动的把新增用户增加到id为1的组织中,当设置为false的时候,新建用户的时候会新增一个组织auto_assign_org_role:新建用户附加的规则,默认是Viewer,还可以是Admin、Editor[auth.anonymous]enabled:设置为true,则开启允许匿名访问,默认是falseorg_name:为匿名用户设置组织名称org_role:为匿名用户设置的访问规则,默认是Viewer[auth.github]针对github项目的,很明显,呵呵enabled=falseallow_sign_up=falseclient_id=some_idclient_secret=some_secretscopes=user:emailauth_url=https://github.com/login/oauth/authorizetoken_url=https://github.com/login/oauth/access_tokenapi_url=https://api.github.com/userteam_ids=allowed_domains=allowed_organizations=[auth.google]针对googleapp的,呵呵enabled=falseallow_sign_up=falseclient_id=some_client_idclient_secret=some_client_secretscopes=https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.emailauth_url=https://accounts.google.com/o/oauth3/authtoken_url=https://accounts.google.com/o/oauth3/tokenapi_url=https://www.googleapis.com/oauth3/v1/userinfoallowed_domains=[auth.basic]enabled:当设置为true,则httpapi开启基本认证[auth.ldap]enabled:设置为true则开启LDAP认证,默认是falseconfig_file:如果开启LDAP,指定LDAP的配置文件/etc/grafana/ldap.toml[auth.proxy]允许你在一个HTTP反向代理上进行认证设置enabled:默认是falseheader_name:默认是X-WEBAUTH-USERheader_property:默认是个名称usernameauto_sign_up:默认是true。开启自动注册,如果用户在grafanaDB中不存在[analytics]reporting_enabled:如果设置为true,则会发送匿名使用分析到stats.grafana.org,主要用于跟踪允许实例、版本、dashboard、错误统计。默认是truegoogle_analytics_ua_id:使用GA进行分析,填写你的GAID即可[dashboards.json]如果你有一个系统自动产生json格式的dashboard,则可以开启这个特性试试enabled:默认是falsepath:一个全路径用来包含你的jsondashboard,默认是/var/lib/grafana/dashboards[session]provider:默认是file,值还可以是memory、mysql、postgresprovider_config:这个值的配置由provider的设置来确定,如果provider是file,则是data/xxxx路径类型,如果provider是mysql,则是user:password@tcp(127.0.0.1:3306)/database_name,如果provider是postgres,则是user=apassword=bhost=localhostport=5432dbname=csslmode=disablecookie_name:grafana的cookie名称cookie_secure:如果设置为true,则grafana依赖https,默认是falsesession_life_time:session过期时间,默认是86400秒,24小时以下是官方文档没有,配置文件中有的[smtp]enabled=falsehost=localhost:25user=password=cert_file=key_file=skip_verify=falsefrom_address=admin@grafana.localhost[emails]welcome_email_on_sign_up=falsetemplates_pattern=emails/*.html[log]mode:可以是console、file,默认是console、file,也可以设置多个,用逗号隔开buffer_len:channel的buffer长度,默认是10000level:可以是"Trace","Debug","Info","Warn","Error","Critical",默认是info[log.console]level:设置级别[log.file]level:设置级别log_rotate:是否开启自动轮转max_lines:单个日志文件的最大行数,默认是1000000max_lines_shift:单个日志文件的最大大小,默认是28,表示256MBdaily_rotate:每天是否进行日志轮转,默认是truemax_days:日志过期时间,默认是7,7天后删除


5.安装grafana-zabbix 插件

[root@Zabbix_serverpackage]#grafana-clipluginsinstallalexanderzobnin-zabbix-appinstallingalexanderzobnin-zabbix-app@3.1.2fromurl:https://grafana.net/api/plugins/alexanderzobnin-zabbix-app/versions/3.1.2/downloadinto:/var/lib/grafana/pluginsInstalledalexanderzobnin-zabbix-appsuccessfullyRestartgrafanaafterinstallingplugins.<servicegrafana-serverrestart>

6.重启服务

[root@Zabbix_serverpackage]#servicegrafana-serverrestartOKoppingGrafanaServer...[OK]StartingGrafanaServer:....OK

7.浏览器访问

http://ip:3000