alertsnitch+grafana_prometheus告警数据持久化到MySQL 的问题

alertsnitch+grafana_prometheus告警数据持久化到MySQL 的问题

参照
https://blog.csdn.net/L_15156024189/article/details/124858301
https://blog.51cto.com/u_13747676/5323538
https://grafana.com/grafana/dashboards/15833-prometheus-alert-history/
安装alertsnitch 安装完毕后
始终报错 db query error: Error 1146: Table 'alertsnitch.alert' doesn't exist,除了这个其他一切正常

img


哪位能指点一下,我装的数据库是mysql5.7和mysql8.0.26都是这个报错,经过测试似乎是 alertsnitch.alert 这个表不存在,还有办法解决吗?谢谢各位

mysql> use alertsnitch;
mysql> show tables;
+-----------------------+
| Tables_in_alertsnitch |
+-----------------------+
| Alert                 |
| AlertAnnotation       |
| AlertGroup            |
| AlertLabel            |
| CommonAnnotation      |
| CommonLabel           |
| GroupLabel            |
| Model                 |
+-----------------------+
8 rows in set (0.00 sec)

mysql> select * from Alert  ;
Empty set (0.00 sec)

mysql> repair table alertsnitch.alert;
+-------------------+--------+----------+-----------------------------------------+
| Table             | Op     | Msg_type | Msg_text                                |
+-------------------+--------+----------+-----------------------------------------+
| alertsnitch.alert | repair | Error    | Table 'alertsnitch.alert' doesn't exist |
| alertsnitch.alert | repair | status   | Operation failed                        |
+-------------------+--------+----------+-----------------------------------------+
2 rows in set (0.01 sec)

原因

1、可能跟MYSQL版本是别的table表名大小写有关
2、可能跟数据库的一些配置有关

解决方法

1、对于前者,
  • 1.1 查看下Mysql的设置,是否区分表明大小写
  • 1.2 修改为不区分大小写,或者修改表名为正确大小写对应的表名

具体操作步骤可以参考:

2、对于后者,

可能跟mysql服务器和配置文件有关

  1. 重新启动 MySQL 服务器– 如果错误是由于服务器关闭不当或 MySQL 服务相关错误而发生的,我们重新启动服务并检查它是否解决了问题。如果服务无法正常启动,我们会进一步调查并修复错误。
  2. 修复表——MySQL 有诸如“myisamchk”之类的工具来修复损坏的数据库和表。
  3. 备份恢复——恢复数据库备份是使表恢复工作状态的最后手段。我们始终将客户服务器中的备份配置和维护为最新,以确保不会因意外崩溃或错误而导致数据丢失或停机。
  4. 复制 ibdata 文件——如果“ibdata”文件丢失,我们从备份中复制它并将其恢复到 MySQL 的数据目录,在丢弃表空间以避免任何损坏或错误之后。
  5. InnoDB 崩溃恢复——如果备份不完整或 ibdata 文件也损坏,我们仍然能够通过我们的专家崩溃恢复方法恢复表。阅读文章https://bobcares.com/blog/how-we-re-built-an-innodb-mysql-database-when-ibdata1-file-was-corrupted/”以了解更多信息。

具体可以参考这个来修复:


如有问题及时沟通

alert这张表数据文件所在磁盘之前可能有非常规卸载,手工挂载,导致文件异常,物理文件已经被删除了,只剩结构文件了
重启服务器试一下呢