很久很久以前部署的一个Prometheus套装里的grafana密码给忘记了,回忆总是很痛苦,因此还是在这里简单的记录一下,下次就不需要满世界反翻找了。

一,

改库重置密码为admin

grafana密码存放在哪里的?

必须说明一下,grafana并不是不需要数据库的,只是它使用的是非常轻量的数据库sqlite

OK,如果不嫌麻烦,可以直接登录该数据库修改该库内的用户数据,直接修改密码,但此方法并不推荐,主要是门槛有点高,很多人并不太会数据库操作

大略流程是根据grafana的配置文件找到sqlite定义的数据库存放地址,使用sqlite 命令登录数据库,直接改表即可,但只能是重置密码为admin/admin

主要是密码在该库内是加密的:

[root@local]# sqlite3 /var/lib/grafana/grafana.db
#查看数据库中包含的表
.tables
 
#查看user表内容
select * from user;
 
#重置admin用户的密码为默认admin
update user set password = '59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a6', salt = 'F3FAxVm33R' where login = 'admin';
 
#退出sqlite3
.exit

此方式比较麻烦,还要使用admin/admin 再登录,在重设密码,不过胜在可靠,必定可以修改掉密码

二,

命令行重置密码

该方法基于 Grafana 4.1 以上,因此使用前需要看看grafana版本够不够哦

比较简单,一条命令即可:

grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpass

这里说明一下,如果--homepath 不知道如何填写,whereis grafana 命令找一下就可以了

三,

api接口重置密码

该方法比较简单,推荐使用!!!!

curl -X PUT -H "Content-Type: application/json" -d '{
  "oldPassword": "admin",
  "newPassword": "newpass",
  "confirmNew": "newpass"
}' http://admin:admin@<your_grafana_host>:3000/api/user/password
11-06 07:34