很久很久以前部署的一个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