专栏首页阿dai_linuxgrafana安装使用及与zabbix集成 原

grafana安装使用及与zabbix集成 原

grafana简介

Grafana是一个完全开源的度量分析与可视化平台,可对来自各种各种数据源的数据进行查询、分析、可视化处理以及配置告警。

  • Grafana支持的数据源:
    • 官方:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,MySQL等;
    • 插件:open-falcon、zabbix...

Centos 7.3 安装Grafana 6.0

yum安装

$ yum install -y https://dl.grafana.com/oss/release/grafana-6.0.2-1.x86_64.rpm

启动Grafana

$ systemctl start grafana-server
$ systemctl enable grafana-server

启动后可以直接在浏览器访问:http://ip:3000

Grafana文件结构

  • 日志文件:/var/log/grafana
  • 数据文件:/var/lib/grafana/grafana.db 默认为sqlite3数据库,也可以使用mysql、postgres,配置方法 (Tips:升级前要备份数据文件)
  • 配置文件: /etc/grafana/grafana.ini

配置Grafana

Note: 更改Grafana配置文件后需要重启Grafana服务生效。

配置文件中以 ; 开头的行为注释行。

paths

# default_section
instance_name = TEST_ENV  # 实例名称,默认为主机名

[paths]
;data = /var/lib/grafana  # 数据文件存放位置
;temp_data_lifetime = 24h  # 临时数据保存时间,默认为24小时
;logs = /var/log/grafana  # 日志文件存放位置
;plugins = /var/lib/grafana/plugins  # Grafana默认查找插件的位置
;provisioning = conf/provisioning  # Grafana启动时依赖的配置文件存放位置

server

[server]
;protocol = http  # 网络协议,如http、https、socket
;http_addr = localhost  # 绑定的ip,留空表示绑定所有网卡ip
;http_port = 3000  # 访问端口
;domain = localhost  # 这个设置是root_url的一部分,当你通过浏览器访问grafana时的公开的domian名称,默认是localhost
;enforce_domain = false  # 如果主机的header不匹配domian,则跳转到一个正确的domain上,默认是false。防止dns重写攻击
;root_url = http://localhost:3000  # 这是一个web上访问grafana的全路径url,默认是%(protocol)s://%(domain)s:%(http_port)s/
;router_logging = false  # 是否记录web请求日志,默认是false
;static_root_path = public  # 前端文件(HTML,JS和CSS文件)的目录路径。 默认为public
;enable_gzip = false
;cert_file =  # 如果使用https则需要设置
;cert_key =  # 如果使用https则需要设置
;socket = /tmp/grafana.sock  # socket文件位置

database

[database]
;type = sqlite3  # 数据库可以是mysql、postgres、sqlite3,默认是sqlite3
;host = 127.0.0.1:3306  # 只是mysql、postgres需要,默认是127.0.0.1:3306
;name = grafana  # grafana的数据库名称,默认是grafana 
;user = root  # 数据库用户名
;password =  # 数据库密码
;url =  # 使用URL配置数据库
;ssl_mode = disable  # mysql、postgres使用
;path = grafana.db  # 只是sqlite3需要,定义sqlite3的存储路径

session

[session]
;provider = file  # 默认是file,值还可以是memory、mysql、postgres、redis、memcache
;provider_config = sessions  #  这个值的配置由provider的设置来确定,可参考官网配置用例
;cookie_name = grafana_sess  # grafana的cookie名称
;cookie_secure = false  # 如果设置为true,则grafana依赖https,默认是false
;session_life_time = 86400  # session过期时间,默认是86400秒,24小时

log

[log]
;mode = console file  # 可以是console、file、syslog,默认是console、file
;level = info  # 日志级别
;filters =  # 可选设置为特定的记录设置不同的级别
[log.console]
;level =  # 日志级别
;format = console  # 日志格式,支持console、text、json
[log.file]
;level =  # 日志级别
;format = text  # 日志格式,支持console、text、json
;log_rotate = true  # 是否开启自动轮转
;max_lines = 1000000  # 单个日志文件的最大行数,默认是1000000
;max_size_shift = 28  # 单个日志文件的最大大小,默认是28,表示256MB
;daily_rotate = true  # 每天是否进行日志轮转,默认是true
;max_days = 7  # 日志过期时间,默认是7,7天后删除

security

[security]
;admin_user = admin    # 管理员用户,启动时创建
;admin_password = admin    # 管理员密码,首次启动前可更改或在配置文件设定
;secret_key = SW2YcwTIb9zpOOhoPsMm    # 加密
;disable_gravatar = false    # 禁用gravatar图片文件
;data_source_proxy_whitelist =    # 数据源代理白名单,ip_or_domain:port ,多个用空格分隔
;disable_brute_force_login_protection = false    # 禁止暴力破解
;cookie_secure = false    # 如果使用https,设置为true,默认为false
# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none"
;cookie_samesite = lax    # 设置同意站点cookie相同,防止跨域攻击,可以设置为"lax", "strict" and "none"

dashboards

;versions_to_keep = 20    # 可保持会话个数

users

[users]
;allow_sign_up = true  # 是否允许普通用户登录,如果设置为false,则禁止用户登录,默认是true,则admin可以创建用户,并登录grafana
;allow_org_create = true  # 如果设置为false,则禁止用户创建新组织,默认是true
;auto_assign_org = true  # 当设置为true的时候,会自动的把新增用户增加到id为1的组织中,当设置为false的时候,新建用户的时候会新增一个组织 
;auto_assign_org_role = Viewer  # 新建用户附加的规则,默认是Viewer
;login_hint = email or username  # 首页user框中的背景文字
;default_theme = dark  # 默认页面的背景
[auth]
;disable_login_form = false  # true隐藏登陆框,默认false

auth

[auth]
;login_cookie_name = grafana_session    # session名称
;login_maximum_inactive_lifetime_days = 7    # session保持时间
;login_maximum_lifetime_days = 30    # session保持最长时间
;token_rotation_interval_minutes = 10    # 登陆状态,用户认证token更新频率,默认为10分钟

[auth.anonymous]
;enabled = false    # 禁止匿名登陆

auth.basic

[auth.basic]
;enabled = true  # 当设置为true,则http api开启基本认证

auth.proxy

[auth.proxy]  # 允许你在一个HTTP反向代理上进行认证设置
;enabled = false
;header_name = X-WEBAUTH-USER
;header_property = username
;auto_sign_up = true  # 默认是true。开启自动注册,如果用户在grafana DB中不存在
;ldap_sync_ttl = 60
;whitelist = 192.168.1.1, 192.168.2.1  # 白名单

auth.ldap

[auth.ldap]
;enabled = false    # 开启ldap用户认证
;config_file = /etc/grafana/ldap.toml    # ldap认证相关配置文件
;allow_sign_up = true    # 允许登陆

alerting

[alerting]
enabled = true  # 设置为false以禁用警报引擎,并从UI中隐藏警报
execute_alerts = true  # 是否执行报警规则

analytics

[analytics]
reporting_enabled = true  # 如果设置为true,则会发送匿名使用分析到stats.grafana.org,主要用于跟踪允许实例、版本、dashboard、错误统计。默认是true
check_for_updates = true  # 更新检查设置
google_analytics_ua_id =  # 使用GA进行分析,填写你的GA ID即可 

smtp

[smtp]
;enabled = false  # 是否开启
;host = localhost:25  # ip和端口
;user =
;password =
;cert_file =
;key_file =
;skip_verify = false
;from_address = admin@grafana.localhost  # 发送邮箱名
;from_name = Grafana  # 发送人

Grafana用mysql做数据源

  • 创建数据库及账号 mysql> create database grafana DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL ON grafana.* TO 'grafana'@'127.0.0.1' IDENTIFIED BY 'grafana';
  • 修改database配置文件 [database] type = mysql host = 127.0.0.1:3306 name = grafana user = grafana password = grafana
  • 确保session表存在 mysql> show tables like 'session%'; mysql> desc session; +--------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+----------+------+-----+---------+-------+ | key | char(16) | NO | PRI | NULL | | | data | blob | NO | | NULL | | | expiry | int(255) | NO | | NULL | | +--------+----------+------+-----+---------+-------+ 3 rows in set (0.01 sec) # 如果session表不存在,需要手动创建 mysql> CREATE TABLE `session` (     `key`       CHAR(16) NOT NULL,     `data`      BLOB,     `expiry`    INT(255) UNSIGNED NOT NULL,     PRIMARY KEY (`key`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  • 修改session配置 [session] provider = mysql provider_config = grafana:grafana@tcp(127.0.0.1:3306)/grafana cookie_name = grafana_sess cookie_secure = false session_life_time = 8640

使用Grafana

完成上述配置后登陆Grafana,默认管理员用户——admin,默认管理员密码——admin,首次登陆需要更改管理员密码!

添加数据源

以MySQL为例添加数据源,Configuration——DataSource——Add data source——MySQL。注意,只对数据源用户授权select权限,且保证最小授权原则,eg:

mysql> CREATE USER 'grafanaReader'@'localhost' IDENTIFIED BY 'grafana';
mysql> GRANT SELECT ON grafana.* TO 'grafanaReader';

配置参考:http://docs.grafana.org/features/datasources/mysql/

grafana+zabbix插件

安装插件:Configuration——Plugins——"Find More Plugins on Grafana.com"——zabbix

查看远程可用插件

$ grafana-cli plugins list-remote
id: abhisant-druid-datasource version: 0.0.5
id: agenty-flowcharting-panel version: 0.2.0
id: akumuli-datasource version: 1.2.8
id: alexanderzobnin-zabbix-app version: 3.10.1
...

安装插件

$ grafana-cli plugins install alexanderzobnin-zabbix-app

查看已安装的插件

$ grafana-cli plugins ls
installed plugins:
alexanderzobnin-zabbix-app @ 3.10.1 

Restart grafana after installing plugins . <service grafana-server restart>

安装完成后需要重启Grafana服务使生效:

$ systemctl restart grafana-server

登陆web管理界面后需要启用插件,Configuration——Plugins——zabbix——Enable。

添加zabbix DataSource

Configuration——DataSource——Add DataSource——zabbix——dashboard——import数据

官方文档

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LNMP环境安装dedecms 原

    就如Windows中软件安装包一样,Linux中软件也有指导安装的文件,解压完成后找到readme.txt文件,查看其内容,其实安装方法就在这里。

    阿dai学长
  • Prometheus2.8简介 原

    Prometheus(普罗米修斯)是一套最初在SoundCloud上构建的开源监视和告警系统 。

    阿dai学长
  • 数据库监控——mymon 原

    安装和配置(前提是已经安装Open-falcon监控系统): https://github.com/open-falcon/mymon#installatio...

    阿dai学长
  • Prometheus监控学习笔记之容器监控Grafana模块

    Grafana 是一个开源的,可以用于大规模指标数据的可视化项目,甚至还能对指标进行报警。基于友好的 Apache License 2.0 开源协议,目前是pr...

    Jetpropelledsnake21
  • 机器学习与数据挖掘网上资源搜罗——良心推荐

    作者: 左飞 著有《算法之美——隐匿在数据结构背后的原理(C++版)》 原文 http://blog.csdn.net/baimafujinji/articl...

    机器学习AI算法工程
  • Spring @Enable模块驱动原理及使用实例

    发现该注解中引入的 DelegatingWebMvcConfiguration.class

    砸漏
  • 记一次偷懒实践

    通常在 vue-cli 脚手架 src 目录下,有一个 api 文件夹,用来存放被抽离出的 API 请求,如下图所示:

    三毛
  • JDK 14的新特性:更加好用的NullPointerExceptions

    让99%的java程序员都头痛的异常就是NullPointerExceptions了。

    程序那些事
  • 五、垃圾收集算法

    算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的...

    大数据程序猿
  • Jmeter接口测试之参数化(十)

    在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目...

    无涯WuYa

扫码关注云+社区

领取腾讯云代金券