使用granfana调用zabbix-api实现监控
1.概述
Grafana是一个开源指标分析和可视化套件,它最常用于可视化基础设施性能数据和应用程序分析的时间系列数据。
Grafana也应用于其他领域,包括工业传感器,家庭自动化,天气和控制过程。
当然作为IT工程师来讲,无非最关注的是如何把数据聚合后进行展示,例如:服务器性能数据,应用程序数据分析,
elasticsearch,大数据分析数据等,那此时选择Grafana就是一个极好的选择,因为它支持多种数据来源,我们使用开源监控系统zabbix,但是后来发现,如果要把监控数据和日志分析系统统一进行展示和分析时,
就需要开发一套系统对接,现在有了grafana过后变得相当EASY。
2.安装
grafana支持在多种环境下安装,包括windows、centos、ubuntu、mac、docker等环境。我将grafana安装在centos环境下。下面是安装方法。
支持以下安装方式
1.在线下载grafana
2.yum 远程安装稳定版本
yum install https://grafanarel.s3.amazonaws.com/builds/grafana-4.1.2-1486989747.x86_64.rpm
3.使用yum仓库方式
保存以下信息到/etc/yum.repos.d/grafana.repo
[grafana]
name=grafana baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
使用yum install grafana -y
安装包的基本细节
二进制文件安装到 /usr/sbin/grafana-server
启动脚本复制到 /etc/init.d/grafana-server
环境变量文件 /etc/sysconfig/grafana-server
配置文件 /etc/grafana/grafana.ini
systemd服务名 grafana-server.service
默认日志文件 /var/log/grafana/grafana.log
默认数据库文件 /var/lib/grafana/grafana.db
启动服务
centos 6:
/etc/init.d/grafana-server start
centos 7:
systemctl enable grafana-server systemctl start grafana-server
3.基础介绍
登录:http://x.x.x.x:3000 grafana默认启动端口为3000,可以在配置文件的[server]配置中修改grafana的相关配置信息
默认用户名和密码: admin admin
4.配置文件
grafana默认配置文件/etc/grafana/grafana.ini,那下面我们就来看一下grafana的基础配置。
以下配置文件中,“;”注释的配置项表示默认值,如果需要修改请把“;”去除修改配置即可。
以下为主要配置文件:
##################### Grafana Configuration Example #####################
#
# Everything has defaults so you only need to uncomment things you want to
# change
# possible values : production, development
; app_mode = production
#实例名称,如要HOSTNAME 变量为空,默认就为主机名
; instance_name = ${HOSTNAME}
#################################### Paths #########################
[paths]
# 默认数据存储目录如,db,session等
#
;data = /var/lib/grafana
#
#日志存储目录
#
;logs = /var/log/grafana
#
#插件安装目录,Grafana会自动扫描并查找插件
#
;plugins = /var/lib/grafana/plugins
[server]
# 协议 (http or https)
;protocol = http
# 绑定的IP地址,为空将在所有接口上绑定
;http_addr =
# 默认端口
;http_port = 3000
# 对外的域名
;domain = localhost
# 如果主机头与域不匹配,则重定向到正确的域
#防止DNS重新绑定攻击
;enforce_domain = false
# 在浏览器中使用的完全公开的网址,用于重定向和电子邮件
# 如果使用反向代理和子路径指定完整url(带子路径)
;root_url = http://localhost:3000
# web 请求日志
;router_logging = false
#相对路径
;static_root_path = public
# gzip压缩
;enable_gzip = false
# https证书
;cert_file =
;cert_key =
#################################### Database #############
[database]
# 默认数据库配置
# as seperate properties or as on string using the url propertie.
# Either "mysql", "postgres" or "sqlite3", it's your choice ;type = sqlite3
;host = 127.0.0.1:3306
;name = grafana
;user = root
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
;password =
# 使用URL或以前的字段来配置数据库
# Example: mysql://user:secret@host:port/database
;url =
# For "postgres" only, either "disable", "require" or "verify-full"
;ssl_mode = disable
# 仅适用于sqlite3数据库。将存储数据库的文件路径
;path = grafana.db
#################################### Security ############
[security]
# 系统默认用户为admin,在启动时创建
;admin_user = admin
# 默认admin密码,可以在第一次启动grafana之前更改,或在配置文件中设置
;admin_password = admin
# used for signing
;secret_key = SW2YcwTIb9zpOOhoPsMm
# 自动登录记住天数
;login_remember_days = 7
;cookie_username = grafana_user
;cookie_remember_name = grafana_remember
# 禁用用户头像
;disable_gravatar = false
# 数据源代理白名单(ip_or_domain:端口以空格分隔)
;data_source_proxy_whitelist =
#################################### Users ########
[users]
# 禁用用户注册
allow_sign_up = false
# 允许非管理员创建组织
;allow_org_create = true
# 如果为true,将自动将新用户分配到 (id为1)的组织
;auto_assign_org = true
# 新用户默认角色
;auto_assign_org_role = Viewer
# 登录页面的html字段说明
;login_hint = email or username
# 默认UI主题 ("dark" or "light")
;default_theme = dark
[auth]
# 可禁用登录表单,如果使用OAuth登录时非常有用
;disable_login_form = false
#################################### SMTP / Emailing ############
[smtp] ;enabled = false
;host = localhost:25 ;user =
;password = ;cert_file = ;key_file = ;skip_verify = false
;from_address = admin@grafana.localhost
[emails]
;welcome_email_on_sign_up = false
#################################### Alerting ##################
[alerting]
# Makes it possible to turn off alert rule execution. ;execute_alerts = true
5.数据源
Grafana支持以时间序列存储数据的相关数据源,每个数据源都有一个特定的查询编辑器,该编辑器针对特定数据源公开的功能进行自定义。
当前grafana支持以下数据源:Graphite、InfluxDB、OpenTSDB、Promethenus、Elasticsearch、CloudWatch。每个数据源的查询语言和功能是不同的,
Grafana可以将不同尖的数据合并到单个Dashboard中。但每个面板都要与属于特定组织的数据源相关联。换句话说就是每个panel只能使用属于当前组织的数据源。
由于我这里使用的是zabbix作为数据源,所以暂且不介绍其他的数据源
安装Grafana-Zabbix
cd /var/lib/grafana/plugins
git clone https://github.com/alexanderzobnin/grafana-zabbix-app
然后重新启动grafana服务器。使用这种方式,您可以轻松升级插件
cd /var/lib/grafana/plugins/grafana-zabbix-app git pull service grafana-server restart
zabbix图形要显示在前端用granfa 调用zabbix 接口
打开Grafana界面 3000端口,更新Zabbix插件
添加zabbix数据源
按如下配置
【注意1】Zabbix的API地址为“http://172.30.1.208/zabbix/api_jsonrpc.PHP”,其中IP的安装zabbix-server的服务器IP
【注意2】Zabbix的API账号密码就是Zabbix的Web端登录账号和密码,账号:admin, 密码zabbix
查看数据源,Zabbix已经添加成功
查看Zabbix中的数据
zabbix server主机信息
查看Zabbix中监控的主机
自行配制监控的详情
修改数据刷新时间
然后在这里在修改为1s即可
查看
想要添加grafana中默认没有的,但是zabbix中自定义好的监控项图形(这里/home使用空间这块是我刚加的,下面展示下怎么去添加)
点击+ADD ROW