date: 2020-08-29title: grafana安装、配置及升级 #标题
tags: grafana #标签
categories: 监控 # 分类
下载安装
$ wget https://dl.grafana.com/oss/release/grafana-7.1.4-1.x86_64.rpm$ yum -y install grafana-7.1.4-1.x86_64.rpm
部分配置解释
$ cat /etc/sysconfig/grafana-server # 查看grafana相关数据存放目录GRAFANA_USER=grafana # 系统用户GRAFANA_GROUP=grafana # 组GRAFANA_HOME=/usr/share/grafana # grafana的家目录,静态资源默认存放位置,升级时建议备份LOG_DIR=/var/log/grafana # 日志目录DATA_DIR=/var/lib/grafana # 数据目录,升级时建议备份MAX_OPEN_FILES=10000 # 最大可打开文件数CONF_DIR=/etc/grafana # 配置文件目录,升级时建议备份CONF_FILE=/etc/grafana/grafana.ini # 配置文件RESTART_ON_UPGRADE=true # 更新时就重启PLUGINS_DIR=/var/lib/grafana/plugins # 插件目录PROVISIONING_CFG_DIR=/etc/grafana/provisioning# 通过读取配置文件的方式来配置datasource和dashboard# 而不是在grafana图形窗口中操作# Only used on systemd systemsPID_FILE_DIR=/var/run/grafana # 进程存放目录$ cat /etc/grafana/grafana.ini # 查看部分重要配置文件# 注意修改数据存储路径后,需要将原来位置数据同步到新的路径下。[paths]data = /data/grafanatemp_data_lifetime = 24hlogs = /var/log/grafanaplugins = /data/grafana/plugins[server]http_port = 8000 # 监听端口# 以下两条在使用nginx反向代理grafana时需要配置,否则无需配置。root_url = %(protocol)s://%(domain)s:%(http_port)s/grafanaserve_from_sub_path = true
注: 修改data或plugins默认存储路径时,除了改grafana.ini,还应该修改/etc/sysconfig/grafana-server和/etc/init.d/grafana-server(可选)使用systemctl restart grafana-server命令读取了/etc/sysconfig/grafana-server中变量;使用/etc/init.d/grafana-server restart重启时,当/etc/sysconfig/grafana-server不存在,则使用/etc/init.d/grafana-server中默认指定的。
调整/etc/sysconfig/grafana-server配置文件
$ grep -v '^$' /etc/sysconfig/grafana-serverGRAFANA_USER=grafanaGRAFANA_GROUP=grafanaGRAFANA_HOME=/usr/share/grafanaLOG_DIR=/var/log/grafanaDATA_DIR=/data/grafana # 修改数据目录MAX_OPEN_FILES=10000CONF_DIR=/etc/grafanaCONF_FILE=/etc/grafana/grafana.iniRESTART_ON_UPGRADE=truePLUGINS_DIR=/data/grafana/plugins # 修改插件目录PROVISIONING_CFG_DIR=/etc/grafana/provisioning# Only used on systemd systemsPID_FILE_DIR=/var/run/grafana
创建所需目录并启动grafana
$ mkdir -p /data/grafana/plugins$ chown -R grafana.grafana /data/grafana$ systemctl start grafana-server$ ss -lnput | grep 8000 # 确定端口在监听tcp LISTEN 0 128 [::]:8000 [::]:* users:(("grafana-server",pid=7557,fd=9))
浏览器访问8000端口(默认用户名/密码为”admin/admin”):

自行根据提示更改密码后,即可看到以下界面:

配置nginx代理grafana
$ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo$ yum -y install nginx$ vim /etc/nginx/nginx.conf # 编辑nginx的server字段如下server {listen 8082;# 此处的location匹配的子目录最好和grafana的root_url 指定的一致# 不一致应该也没关系,下面proxy_pass指定的url后面加 ‘ / ’ 号应该也可以,没试location /grafana {proxy_pass http://192.168.20.2:8000;}
浏览器访问 http://你的IP:8082/grafana,看到如下界面,表示正常:

升级grafana
仅供参考
#升级前要先备份相关目录# cp -rp /var/lib/grafana /var/lib/grafana_$(date +%Y%m%d%H%M)# cp -rp /usr/share/grafana /usr/share/grafana_$(date +%Y%m%d%H%M)# cp -rp /etc/grafana /etc/grafana_$(date +%Y%m%d%H%M)开始升级# yum -y install https://dl.grafana.com/oss/release/grafana-x.x.x-1.x86_64.rpm# 安装成功后,根据实际情况,将数据目录更改为升级之前的目录# 重启,完成升级操作。# systemctl restart grafana-server
忘记admin密码重置命令
$ grafana-cli admin reset-admin-password pwd@123INFO[08-28|23:31:05] Connecting to DB logger=sqlstore dbtype=sqlite3INFO[08-28|23:31:05] Starting DB migration logger=migratorAdmin password changed successfully ✔
grafana-cli 命令使用注意事项
grafana-cli可以用来安装各种插件以及重置admin密码等操作,但grafana-cli这个命令只是一个脚本而已,建议阅读下此脚本,如下:
$ which grafana-cli/usr/sbin/grafana-cli[31::root@lv::~]# >>$ cat /usr/sbin/grafana-cli#! /usr/bin/env bashDEFAULT=/etc/default/grafanaGRAFANA_HOME=/usr/share/grafanaCONF_DIR=/etc/grafanaDATA_DIR=/var/lib/grafanaPLUGINS_DIR=/var/lib/grafana/pluginsLOG_DIR=/var/log/grafanaCONF_FILE=$CONF_DIR/grafana.iniPROVISIONING_CFG_DIR=$CONF_DIR/provisioningEXECUTABLE=$GRAFANA_HOME/bin/grafana-cli............ # 省略部分内容
可以看到此脚本中也指定了不少目录,所以如果要使用此命令,请将命令中指定的数据、插件等目录,改为和配置文件中一致,否则使用此命令安装插件后,插件所在目录,和配置文件中指定的不一致。
安装插件
在线安装(比较慢)
$ grafana-cli plugins list-remote # 列出远端所有可安装插件$ grafana-cli plugins install yeya24-chaosmesh-datasource # 随便安装一个
离线安装(八仙过海,各显神通吧)
访问官方插件地址如下,就是所有插件:

grafana-cli plugins选项
$ grafana-cli plugins --helpNAME:Grafana CLI plugins - Manage plugins for grafanaUSAGE:Grafana CLI plugins command [command options] [arguments...]COMMANDS:install install <plugin id> <plugin version (optional)>list-remote list remote available pluginslist-versions list-versions <plugin id>update, upgrade update <plugin id>update-all, upgrade-all update all your installed pluginsls list all installed pluginsuninstall, remove uninstall <plugin id>help, h Shows a list of commands or help for one commandOPTIONS:--help, -h show help (default: false)--version, -v print the version (default: false)
