Skip to content

Grafana部署

1.1grafana单点部署

grafana-6.2.5.tar.gz安装包为例进行安装、启动、停止等操作。

在安装之前,需要将安装包上传到所要安装的主机之上。如图2-1所示

然后使用tar -xf grafana-6.2.5.tar.gz 命令对安装包进行解压。如图2-2所示

解压完成后需要修改conf目录下的default.ini文件的配置项:

第一项是端口(默认端口是3012,如果该端口没有被占用,则无需修改此项,亦或是使用者有自己的端口规划,那么只需要将其改成事先规划好的端口即可),如图2-3所示。

第二项时就是关于开启匿名认证功能的配置项,如图2.4所示,只需要将图中的对应配置项改成与图中一致(严格保持一致)即可。

aries自3.4.9版本开始可将原生grafana界面集成到监控版本中,grafana需要使用8以上的版本,平台提供grafana-8.5.6版本。并且需要调整以下参数:

1、默认主题调整为light,default_theme = light

2、调整是否允许嵌入为true,allow_embedding = true

最后一步就是启动grafanagrafana的启动命令如下:

./grafana-server ../conf/defaults.ini web >/dev/null 2>&1 &

该命令需要在bin目录下进行执行,执行完后,可以通过检测端口是否被占用的命令查看grafana是否启动,如图2-5、2-6所示。检测命令如下:

netstat -an | grep 3012

1.2.grafana高可用部署

1.2.1.使用mysql数据库做持久化(生产推荐)

1.2.1.1.在mysql上创建grafana数据库

mysql
create database grafana DEFAULT CHARACTER SET utf8mb4;
GRANT ALL ON grafana.* TO grafana@'%' IDENTIFIED BY 'grafanap' WITH GRANT OPTION;

1.2.1.2.grafana使用mysql做数据源

properties
[database]
type=mysql  # 数据库可以是mysql、postgres、sqlite3,默认是sqlite3
host=192.168.245.137:3306  # 只是mysql、postgres需要,默认是127.0.0.1:3306
name=grafana  # grafana的数据库名称,默认是grafana 
user=root  # 数据库用户名p
password=grafanap # 数据库密码
url=# 使用URL配置数据库
ssl_mode=disable  # mysql、postgres使用

1.2.2.使用sqlite3数据文件做持久化(默认)

properties
[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=/app/dcits/data/grafana/grafana.db  # 只是sqlite3需要,定义sqlite3的存储路径

注意:对多个grafana节点的/app/dcits/data/grafana/路径做nfs目录挂载,实现多个节点读取相同的数据文件。

1.2.3.nginx配置grafana负载

在nginx上配置多个节点的grafana负载:

nginx
    upstream grafana_servers {  
        server 192.168.164.179:3012;
        server 192.168.164.180:3012;
    }
    server {
        listen 3333; #nginx代理端口
        location / {
          proxy_pass http://grafana_servers;
        }
    }

1.2.4.aries前端配置

nginx对应监控中心的配置文件monitoring.conf中添加如下配置:

nginx
  ##grafana后端地址,只能配置grafana实际的地址,不能通过网关转发
  location /api {
    proxy_pass http://dcits.cbs.nginx.dev1:3333;#配置nginx域名和代理端口
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header Authorization "";
    proxy_connect_timeout 300s;
    proxy_send_timeout 300s;
    proxy_read_timeout 300s;
  }