1、Grafana简介

1.1 Grafana是什么?

  一个类似Kibana的东西,也是对后端的数据进行实时展示,那么Grafana和Kibana有什么区别?在我看来区别不大,不过在大家的日常使用中Kibana是跟着Logstash、ElasticSearch等组件一起使用做日志展示、索引、分析的,造成了一种假象就是Kibana就只有这种用法了,Kibana也可以接入其他数据源的,不过大家最长用的还是展示日志。
  那么Grafana到底是什么呢?Grafana其实就是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。随着版本的迭代,支持接入的数据源将会更多。
下面看看官方是怎么解释Grafana的:

grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。 grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。 grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。

Grafana官方网站:https://grafana.com/

1.2 如何获取Grafana

访问Grafana下载页面https://grafana.com/grafana/download在这里可获取该软件的全版本。
可以按照使用需求,进行下载相应版本。
Grafana数据可视化 - 图1

2、安装Grafana

2.1 系统环境说明

  1. [root@monitor.clsn.io /root]
  2. #cat /etc/redhat-release
  3. CentOS Linux release 7.5.1804 (Core)
  4. [root@monitor.clsn.io /root]
  5. #uname -r
  6. 3.10.0-862.el7.x86_64
  7. [root@monitor.clsn.io /root]
  8. #systemctl status firewalld.service
  9. firewalld.service - firewalld - dynamic firewall daemon
  10. Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
  11. Active: inactive (dead)
  12. Docs: man:firewalld(1)
  13. [root@monitor.clsn.io /root]
  14. #sestatus
  15. SELinux status: disabled

2.2 安装Grafana

在这次安装中,我们使用的是grafana-5.2.4版本。不同版本之间功能存在着一定的差距。

  1. [root@monitor.clsn.io /root]
  2. #wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm
  3. [root@monitor.clsn.io /root]
  4. #ls
  5. grafana-5.2.4-1.x86_64.rpm
  6. [root@monitor.clsn.io /root]
  7. #sudo yum localinstall grafana-5.2.4-1.x86_64.rpm

2.3 启动Grafana

  1. [root@monitor.clsn.io /root]
  2. #systemctl start grafana-server.service
  3. [root@monitor.clsn.io /root]
  4. #systemctl enable grafana-server.service

2.4 检查监听端口

Grafana默认监听端口为3000,可以通过修改配置文件(/etc/grafana/grafana.ini)对其做定制化配置。

  1. [root@monitor.clsn.io /root]
  2. #netstat -lntup |grep grafana
  3. tcp6 0 0 :::3000 :::* LISTEN 1333/grafana-server

3、Grafana的使用

3.1 访问界面

通过流量器访问 http://ip:3000 即可访问grafana页面,初始用户名与密码均为admin,可在登陆是修改默认密码。
Grafana数据可视化 - 图2
登陆成功之后可以先进行创建第一个数据源,以及第一个展示面板。
Grafana数据可视化 - 图3

3.2 Grafana For Zabbix

使用Zabbix收集数据,Grafana展示图形,许多的公司都是这么做的。Grafana默认没有zabbix作为数据源,我们需要手动给zabbix安装一个插件,然后再添加进Grafana即可。
关于zabbix的安装可以参照以下文章进行配置。
惨绿少年博客:https://www.cnblogs.com/clsn/p/7885990.html
zabbix官方文档:https://www.zabbix.com/documentation/3.4/zh/manual
注:本次使用zabbix版本为3.4.14。

  1. [root@monitor.clsn.io /root]
  2. #zabbix_server -V
  3. zabbix_server (Zabbix) 3.4.14
  4. Revision 84877 14 September 2018, compilation time: Sep 14 2018 08:09:35
  5. Copyright (C) 2018 Zabbix SIA
  6. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
  7. This is free software: you are free to change and redistribute it according to
  8. the license. There is NO WARRANTY, to the extent permitted by law.

3.3 获取grafana for zabbix 插件

通过grafana-cli plugins list-remote命令 可以获取到grafana的插件列表。

  1. [root@monitor.clsn.io /root]
  2. #grafana-cli plugins list-remote |grep zabbix
  3. id: alexanderzobnin-zabbix-app version: 3.9.1

从上可以查询到插件版本为3.9.1
安装插件

  1. [root@monitor.clsn.io /root]
  2. #grafana-cli plugins install alexanderzobnin-zabbix-app
  3. installing alexanderzobnin-zabbix-app @ 3.9.1
  4. from url: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.9.1/download
  5. into: /var/lib/grafana/plugins
  6. Installed alexanderzobnin-zabbix-app successfully
  7. Restart grafana after installing plugins . <service grafana-server restart>

出现√即为安装成功。在安装完成后无比重启grafana使其生效。

  1. [root@monitor.clsn.io /root]
  2. #systemctl restart grafana-server.service

3.4 配置zabbix源

登陆grafana页面,开启zabbix插件。
Grafana数据可视化 - 图4
点击enable开启插件。
Grafana数据可视化 - 图5
添加zabbix数据源
Grafana数据可视化 - 图6
相关配置项目说明:

配置项目 说明
Name 给数据源起一个名字。
Default 选择默认,意味着数据源将预先选定为新的面板。
Type 选择数据源的类型。
Url 这里的Url是http协议,地址和端口是zabbix-web提供的接口。或为zabbix的api地址。
Access 访问代理,这里选择了proxy表示Grfana通过后端访问,还有direct值表示从浏览器直接访问目录。
Username 输入zabbix的用户名,需要进行认证,一般使用管理员。
Password 输入zabbix用户的密码。

  代理(proxy)访问意味着的Grafana后端将从浏览器代理所有请求,并将它们发送到数据源。这样是有用的,因为它可以消除CORS(交叉来源站点资源)的问题,如消除需要传播到数据源到浏览器的身份验证详细信息。但还支持直接(direct)访问,因为在某些情况下可能用来访问直接根据用例和拓扑结构的Grafana、 用户和数据源的数据源。
  以上信息都填写完成之后点击Save & Test,一般只要看见Success就表示成功了,下面就可以去利用zabbix中数据添加图形了。
下面先引入zabbix自带的dashboard,点击import。
Grafana数据可视化 - 图7

3.5 查看zabbix dashboard页面

Grafana数据可视化 - 图8
使用grafana的好处是对图形的自定义更加简便,通过变更不同的json文件,即可在数据源中查找到想要的结果,然后绘制出图。
Grafana数据可视化 - 图9

4、附录

4.1 grafana-cli命令

安装插件最简单的方法是使用与grafana捆绑在一起的CLI工具grafana-cli。在修改插件之后发生任何修改之前,grafana服务器需要重新启动。

Grafana插件安装目录

在Linux系统上,grafana-cli会假定grafana插件目录是/var/lib/grafana/plugins。通过指定-pluginsDir标志可以覆盖grafana-cli将要运行的目录。在Windows系统中,必须为每个呼叫指定此参数

Grafana-cli命令说明

  1. 列出可用的插件
  2. #grafana-cli plugins list-remote
  3. 安装最新版本的插件
  4. #grafana-cli plugins install <plugin-id>
  5. 安装特定版本的插件
  6. #grafana-cli plugins install <plugin-id> <version>
  7. 列出安装的插件
  8. #grafana-cli plugins ls
  9. 更新所有安装的插件
  10. #grafana-cli plugins update-all
  11. 更新一个插件
  12. #grafana-cli plugins update <plugin-id>
  13. 删除一个插件
  14. #grafana-cli plugins remove <plugin-id>

5、参考文献

https://www.cnblogs.com/clsn/p/7885990.html

http://www.ywnds.com/?cat=122

https://github.com/grafana/grafana/

https://grafana.com/grafana/download

https://blog.csdn.net/m0_37814112/article/details/80476364

https://www.cnblogs.com/wdliu/p/9099304.html