Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何监视复制证书和客户端证书的SSL过期?_Mysql_Ssl_Mariadb_Prometheus_Percona - Fatal编程技术网

Mysql 如何监视复制证书和客户端证书的SSL过期?

Mysql 如何监视复制证书和客户端证书的SSL过期?,mysql,ssl,mariadb,prometheus,percona,Mysql,Ssl,Mariadb,Prometheus,Percona,有许多工具可用于监控通过HTTPS提供的服务的SSL过期,例如,当SSL证书在中过期时,我们用于接收警报。目前,没有服务器变量或API函数可用于确定服务器证书的验证期 一个简单的解决方法是(假设未设置secure_file_priv): 已脱机与我共享解决方案,请参阅 MariaDB具有显示SSL过期信息的变量: mysql> show status like 'ssl_server_not%'; +-----------------------+---------------------

有许多工具可用于监控通过HTTPS提供的服务的SSL过期,例如,当SSL证书在中过期时,我们用于接收警报。目前,没有服务器变量或API函数可用于确定服务器证书的验证期

一个简单的解决方法是(假设未设置secure_file_priv):


已脱机与我共享解决方案,请参阅

MariaDB具有显示SSL过期信息的变量:

mysql> show status like 'ssl_server_not%';
+-----------------------+--------------------------+
| Variable_name         | Value                    |
+-----------------------+--------------------------+
| Ssl_server_not_after  | May 24 11:46:23 2020 GMT |
| Ssl_server_not_before | Feb 24 11:46:23 2020 GMT |
+-----------------------+--------------------------+
2 rows in set (0.00 sec)
一旦我找到了解决方法,我将更新此解决方案

  • 通过(打开)将这些作为度量公开
  • 通过以下方式查询变量:

  • 谢谢你的回答,教会了我一些东西。这并不能完全解决问题,例如,这只能确认
    /etc/mysql/server-cert.pem
    文件已经更新(运行Ansible应该可以保证更新),但不能确认mysql实际加载了最新文件中的内容。有趣的是,不存在任何服务器变量或API函数。进一步思考:也许比较正常运行时间和文件的时间戳是一个不错的解决方案?因为问题被标记为mariadb:如果安装了新证书,就不需要重新启动。改用
    FLUSH SSL
    。谢谢Georg,这非常有帮助,我以前没有意识到。这正是我想要的。
    $ mysql -e "SHOW VARIABLES LIKE 'ssl_cert'"
    +---------------+----------------------------+
    | Variable_name | Value                      |
    +---------------+----------------------------+
    | ssl_cert      | /etc/mysql/server-cert.pem |
    +---------------+----------------------------+
    $ mysql  -e "SELECT LOAD_FILE('/etc/mysql/server-cert.pem')\G" > server-cert.pem
    $ openssl x509 -enddate -noout -in ./server-cert.pem
    notAfter=Jan 22 10:11:10 2021 GMT
    
    mysql> show status like 'ssl_server_not%';
    +-----------------------+--------------------------+
    | Variable_name         | Value                    |
    +-----------------------+--------------------------+
    | Ssl_server_not_after  | May 24 11:46:23 2020 GMT |
    | Ssl_server_not_before | Feb 24 11:46:23 2020 GMT |
    +-----------------------+--------------------------+
    2 rows in set (0.00 sec)