使用granfana調用zabbix-api實現監控

 

 

 

 

 

 

1.概述php

  Grafana是一個開源指標分析和可視化套件,它最經常使用於可視化基礎設施性能數據和應用程序分析的時間系列數據。html

Grafana也應用於其餘領域,包括工業傳感器,家庭自動化,天氣和控制過程。前端

  固然做爲IT工程師來說,無非最關注的是如何把數據聚合後進行展現,例如:服務器性能數據,應用程序數據分析,mysql

elasticsearch,大數據分析數據等,那此時選擇Grafana就是一個極好的選擇,由於它支持多種數據來源,咱們使用開源監控系統zabbix,可是後來發現,若是要把監控數據和日誌分析系通通一進行展現和分析時,git

就須要開發一套系統對接,如今有了grafana事後變得至關EASY。github

 

2.安裝web

  

  grafana支持在多種環境下安裝,包括windows、centos、ubuntu、mac、docker等環境。我將grafana安裝在centos環境下。下面是安裝方法。sql

 支持如下安裝方式docker

 

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

 

 

 

相關文章
相關標籤/搜索