由于Grafana默认使用了sqlite3作为内部配置的存储数据库,而数据实际存放在了本地。如果服务器宕机,数据丢失等,会造成Grafana的所有前端配置丢失。笔者在这批文章中尝试将现有的Grafana配置库从sqlite3迁移至外部MySQL中。 如果没有更改Grafana的default.ini文件,那么grafana.db通常存储在data/目录中,具体在哪个位置看实际的环境配置 这一步不多说,数据迁移前当然要给数据找个新家啦 说实话,实施这一步真不容易。最开始尝试使用转换脚本转换.db文件到.sql文件,然后用source xxx.sql的命令再写入。结果尝试使用过Python脚本在线转换等都不行。主要问题是转换出的SQL语句都存在问题。最后尝试出使用第三方软件迁移数据,终获成功。 在这一步,不建议自己去建表,建议让Grafana自己建。因为MySQL的表结构和sqlite3的有所不同 编辑配置文件 修改[database]这一小节的配置 接下来,重启Grafana 正如我先前所说,这一步相当不容易。最后可行的做法是使用第三方软件SqliteToMysql 选择源数据和目标数据库 查看启动日志中的sqlstore日志: 如果在建表迁移数据时遇到异常,可以用下面的脚本删表删数据目录
前言
环境及工具
开工
找到当前的sqlite3数据文件
MySQL建库
迁移sqlite3数据到MySQL
前言
第一步:在MySQL中建表
由于我在测试环境,所以我直接修改了配置文件,让Grafana自己在启动时候去建表,保证表结构符合Grafana的要求
这种做法相当于Grafana的服务需要停机维护。实际使用中看各自的需求。如果生产环境的不能停机维护,那么建议可以起一个单独的Grafana服务,连接MySQL完成建表后进行接下来的步骤。最后修改生产环境的配置文件,让生产环境最终链接MySQL[root@tv1-build-prometheus-01 grafana-docker]# vim conf/defaults.ini
#################################### Database ############################ [database] # You can configure the database connection by specifying type, host, name, user and password # as separate properties or as on string using the url property. # 第一个关键配置:type type = mysql host = 10.0.1.12:3500 name = 库名 user = 用户名 # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" password = 密码 # Use either URL or the previous fields to configure the database # Example: mysql://user:secret@host:port/database # 这里没有使用url链接 url =
这时候,已经建好表了。第二步:将数据导入MySQL
注意点:
选择Import All Tables
接下来一路next
开始同步数据,结束时能看到,实际只同步了20张表。
点击Back按钮回到第一张图,选择最下面的15张表
迁移完成后,在各个表中都能查到原来在sqlite3中的数据了
第三步:重启Grafana
重启后,系统各功能使用正常,则成功迁移
小贴士
注意:确保你的库中没有有用数据删表脚本
DROP TABLE alert; DROP TABLE alert_notification; DROP TABLE alert_notification_state; DROP TABLE alert_rule_tag; DROP TABLE annotation; DROP TABLE annotation_tag; DROP TABLE api_key; DROP TABLE cache_data; DROP TABLE dashboard; DROP TABLE dashboard_acl; DROP TABLE dashboard_provisioning; DROP TABLE dashboard_snapshot; DROP TABLE dashboard_tag; DROP TABLE dashboard_version; DROP TABLE data_source; DROP TABLE login_attempt; DROP TABLE migration_log; DROP TABLE org; DROP TABLE org_user; DROP TABLE playlist; DROP TABLE playlist_item; DROP TABLE plugin_setting; DROP TABLE preferences; DROP TABLE quota; DROP TABLE server_lock; DROP TABLE session; DROP TABLE star; DROP TABLE tag; DROP TABLE team; DROP TABLE team_member; DROP TABLE temp_user; DROP TABLE test_data; DROP TABLE user; DROP TABLE user_auth; DROP TABLE user_auth_token;
清空表
DELETE FROM alert; DELETE FROM alert_notification; DELETE FROM alert_notification_state; DELETE FROM alert_rule_tag; DELETE FROM annotation; DELETE FROM annotation_tag; DELETE FROM api_key; DELETE FROM cache_data; DELETE FROM dashboard; DELETE FROM dashboard_acl; DELETE FROM dashboard_provisioning; DELETE FROM dashboard_snapshot; DELETE FROM dashboard_tag; DELETE FROM dashboard_version; DELETE FROM data_source; DELETE FROM login_attempt; DELETE FROM migration_log; DELETE FROM org; DELETE FROM org_user; DELETE FROM playlist; DELETE FROM playlist_item; DELETE FROM plugin_setting; DELETE FROM preferences; DELETE FROM quota; DELETE FROM server_lock; DELETE FROM session; DELETE FROM star; DELETE FROM tag; DELETE FROM team; DELETE FROM team_member; DELETE FROM temp_user; DELETE FROM test_data; DELETE FROM user; DELETE FROM user_auth; DELETE FROM user_auth_token;
总结
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算