1. 程式人生 > >Centos 7.3 安裝Grafana 6.0

Centos 7.3 安裝Grafana 6.0

config mod chart repo star 實例名 not lob mode

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 =www.honghgjpt.com 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_www.tiaotiaoylzc.com 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 =www.meiwanyule.cn 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 www.yongshi123.cn= 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 = [email protected]  # 發送郵箱名
;from_name = Grafana  # 發送人

Grafana用mysql做數據源

  • 創建數據庫及賬號

    mysql> create database grafana DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql> GRANT ALL ON grafana.* TO www.michenggw.com‘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 www.xycheng178.com‘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 www.dasheng178.com ‘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 www.shengbangyule178.cn 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數據

Centos 7.3 安裝Grafana 6.0