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数据
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Cloud Native 与12-Factor
12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则。Cloud Native架构中使用12-Factor作为设计准则。 12-Factor 的目标在于: 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入项目中。 和底层操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展。 12-Factor 可以适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序,自然也适用于 Cloud Native。在构建 Cloud Native 应用时,也需要考虑这十二个方面的内容。 1 基准代码 代码是程序的根本,有什么样的代码最终会表现为怎么样的程序软件。从源码到产品发布中间会经历多个环节,比如开发、编译、测试、构建、部署等,这些环节可能都有自己的不同的部署环境,而不同的环境相应的责任人关注于产品的不同阶段。比如,测试人员主要关注于测...
- 下一篇
Android 整体设计及背后意义
阿里妹导读:现实工作中经常可以听到这样的说法:框架的升级带来协议性能的提升、编程模式的变革带来业务的飞跃...... 姑且不论这些表述是否有问题,实际上如果系统地看待事物整体,可能会有不一样的发现。以LINUX为例,尽管其内核大获成功,但如果不是遵循POSIX、并成为一个开源、精简的UNIX实现,很难想象其最终会有何种发展。因此,对事物进行全局和一定深入的探究有时会有更多启发。 今天,阿里高级无线开发专家所为将结合自己多年的经验,为你深入阐述整个 Android 技术域及移动研发生态,期待与大家共同探讨。 1. Android设计的现实意义 架构的工程意义在于:定义并解决一类问题,为需求到实现的平稳过渡提供保障。传统意义的Android架构(图1)已被人熟知,但不同角色的视角不同,例如认为Runtime和框架是其核心、或者将Android看做是一种特异性JVM平台、还有从嵌入式出发将其看做是Linux…… 实际上,Android是极少数几个用设计来解决自身发展问题的系统,其核心在于通过硬件抽象、组件化、接口层三种能力来为发展提供基础,并为诸多变数预留大量可操作、斡旋的空间。 图1. A...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路