grafana配置MySQL持久化存储并配置HTTPS

2023-11-01

Grafana 配置 MySQL 数据持久化存储

一、mysql8.0.30 安装

1.1、解压并初始化 MySQL8.0.30

查询是否存在 MariaDB MySQL ,存在需要删除后进行安装
rpm -qa|grep MariaDB
rpm -qa|grep MySQL
解压 & 赋权
tar zxvf mysql-8.0.30-el7-x86_64.tar.gz -C /usr/local/
mv mysql-8.0.30-el7-x86_64 mysql
chmod 755 -R /usr/local/mysql
mkdir /usr/local/mysql/data
创建 MySQL 用户和用户组
groupadd mysql
useradd -g mysql mysql
chown -R mysql. /usr/local/mysql
初始化
./mysqld
--user=mysql
--lower-case-table-names=1
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data/ --initialize
# 记录初始密码
添加系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql
vim /etc/profile
...
export PATH=$PATH:/usr/local/mysql/bin/

1.2、创建配置文件并启动 MySQL 服务

vim /etc/my.cnf
[mysqld]
port=3306
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
max_connect_errors=100
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names = 1
interactive_timeout = 1800
wait_timeout = 1800
lock_wait_timeout = 3600
tmp_table_size = 64M
max_heap_table_size = 64M
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
启动 MySQL 服务
service mysql start
修改 root 初始密码
# mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

1.3、创建 grafana 数据库

CREATE DATABASE IF NOT EXISTS grafana default charset utf8 COLLATE utf8_general_ci;

1.4、创建 grafana 用户及赋权访问 grafana 数据库

create user grafana identified by 'grafana';
grant all on grafana.* to 'grafana'@'%';
flush privileges;

二、grafana 安装

2.1、解压 grafana 并修改配置文件

tar xvf grafana-enterprise-9.0.3.linux-amd64.tar-C /usr/local
mv /usr/local/grafana-enterprise-9.0.3.linux-amd64 /usr/local/grafana
chmod 755 -R /usr/local/grafana
vim /usr/local/grafana/conf/defaults.ini
...
[database]
type = mysql
host = 127.0.0.1:3306
name = grafana
user = grafana
password = grafana
url = mysql://grafana:grafana@10.10.10.130:3306/grafana
...

2.2、启动 grafana

/usr/local/grafana/bin/grafana-server &

Grafana配置HTTPS

1、生成私有认证文件

# mkdir /etc/grafana/ssl
# mkdir /etc/nginx/ssl
# openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
# ls
生成 ca.crt ca.key 文件

2、将生成的crtkey文件导入到系统证书位置和grafananginx 对应的 ssl 证书位置并更新

# cp ca.key /etc/pki/ca-trust/source/anchors/
# cp ca.crt /etc/pki/ca-trust/source/anchors/
# update-ca-trust extract
# update-ca-trust enable
#cp ca.key /etc/grafana/ssl
#cp ca.crt /etc/grafana/ssl
#cp ca.key /etc/nginx/ssl
#cp ca.crt /etc/nginx/ssl

3、修改 grafana 配置文件,配置 https 协议和 ssl 证书位

# vim default.ini
[server]
protocol = https
domain = umct.ocsd.com
root_url = %(protocol)s://%(domain)s:%(http_port)s/ grafana
serve_from_sub_path = true
cert_file = /etc/grafana/ssl/www.surrender.com.crt
cert_key = /etc/grafana/ssl/www.surrender.com.key

4Nginx 配置

# vim /etc/nginx/conf/grafana.conf server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/ca.crt; # 证书位置
ssl_certificate_key /etc/nginx/ssl/ca.key; # 证书 key 位置
location / {
root
html;
index index.html index.htm;
}
location /grafana/ {
root html;
index index.html index.htm;
proxy_pass https://10.10.10.130:3000; #grafana 地址
proxy_redirect default;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
}

5、启动 grafananginx

# ./grafana-server &
# nginx -s reload

6、验证

https://10.10.10.130/grafana

额外:配置匿名登陆注意:

[auth]
# 跳过登陆页面
disable_login_form = true
[auth.anonymous]
# 开启匿名登陆
enabled = true
注意:修改 https 访问后,匿名登陆也需要使用 https 访问,否则页面报错。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

grafana配置MySQL持久化存储并配置HTTPS 的相关文章

  • 使用 mysql2 gem 获取最后插入的 id

    我有这样的代码 require mysql2 db query insert into clients Name values client 我可以通过 1 个查询返回最后插入的 ID 吗 您可以使用last id客户端实例的方法 clie
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 如何使用 PHP 从 MySQL 查询中按升序对值进行排序?

    我使用以下 PHP 脚本从 MySQL 表中获取和更改数据 并将结果打印在 HTML 表中 我希望按升序对数据进行排序 utilization percentage变量 它是由创建的 total client time total avai
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • #1045 - 用户“root”@“localhost”的访问被拒绝(使用密码:YES)

    这可能看起来多余 但我无法找到正确的解决方案 我无法使用 mysql 控制台登录 mysql 它要求输入密码 但我不知道我实际输入的内容 有办法获取密码或更改密码吗 这就是我的 config inc 的样子 当我尝试打开 phpmyadmi
  • 我必须做什么才能使通过 HTTPS 提供的图像等内容缓存在客户端?

    我使用 Tomcat 作为服务器 使用 Internet Explorer 6 作为浏览器 我们应用程序中的网页大约有 75 张图像 我们正在使用 SSL 加载所有内容似乎非常慢 如何配置 Tomcat 以便 IE 缓存图像 如果您通过 h
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • 通过将行旋转为动态数量的列来在 MySQL 中创建摘要视图

    我在 MySQL 中有一个表 其中包含以下字段 id company name year state 同一客户和年份有多行 以下是数据示例 id company name year state 1 companyA 2008 1 2 com
  • 使用 MySQLdb 在 Python 中执行 .sql 文件

    我有一个 sql 文件 其中包含一堆 SQL 查询 每个查询跨越多行 我想通过 Python 在 MySQL 中执行这些查询MySQLdb sqlite3为此目的有一个 非标准快捷方式 称为executescript http docs p
  • MYSql 前 10 名及其他总计

    我的查询运行良好 但我只需要前 10 个供应商 然后我需要将所有剩余的总计放在 所有其他 行中 如果没有单独的查询 我该如何做到这一点LIMIT 10 18446744073709551615 SELECT VENDOR fullname
  • 消除 JPA 标准中子查询产生的冗余连接

    我只需要使用 JPA 标准执行以下 MySQL 查询 获取状态列表 来自state table 基于给定的国家名称 在country SELECT state id state name country id FROM state tabl
  • 创建rest api url以连接mysql数据库

    我想学习如何创建一个rest api url 以便我可以使用该url获取信息并将信息发布到我的mysql数据库中 谷歌搜索了很多并阅读了各种文章 但没有找到任何精确的内容可以学习 所有内容均以 about api 开头 以已创建的其余 ur
  • mysql:返回右侧第一个出现的子字符串? (子字符串?!)

    有没有办法返回sql中字符串右侧第一次出现的空格 我想你正在寻找类似的东西SUBSTRING INDEX http dev mysql com doc refman 5 0 en string functions html function
  • MySQL 和 MariaDB 数据库有什么区别?

    我已经使用 XAMPP 很长时间了 很惊讶 XAMPP 已经从 MySQL 切换到了 MariaDB https www apachefriends org index html https www apachefriends org in
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp

随机推荐

  • 伴随矩阵的特征值和特征向量

    结 论 伴 随 矩 阵 的 特
  • winsock

    今天上午学习了 winsock的使用的过程 现将学习的收获总结如下 Winsock的属性 1 Localport 设定本机的端口号 端口号从0 65536 其中1024一下一般为专用的端口 如21为ftp默认端口 80为http默认端口 2
  • 关于对CSDN这些技术博客类网站的一些个人看法

    今天这篇文章其实是自己的一个分享与感悟 分享一下自己从技术小白到有点小实力的这个过程中对自己帮助的一些技术博客类网站的看法 关于我为什么会想写这么一篇文章呢 起因是我有一次查CSDN网站时候 看到了一篇文章 第一眼看到这篇文章的时候我觉得首
  • Java多线程 - - -线程安全问题

    Java 多线程学习笔记 二 线程安全问题的出现 当一个进程中的多个线程共享资源或数据的时候 就会出现安全隐患 例如 三个售票窗口同时售票 如果没有进行线程安全的处理 则会出现重票 错票等线程安全问题 package com fff 实现R
  • Modbus协议介绍

    Modbus协议介绍 简介 Modbus是一种串行通信协议 是Modicon公司 现在的施耐德电气Schneider Electric 于 1979年为使用可编程逻辑控制器 PLC 通信而发表 Modbus 已经成为工业领域通信协议的业界标
  • JDBC数据库驱动的下载、安装与连接

    1 常用的数据库驱动下载 使用JDBC操作数据库 需要使用数据库厂商提供的驱动程序 通过驱动程序可以与数据库进行交互 1 1 常用的数据库厂商驱动下载地址 1 1 1 MySQL数据库 https dev mysql com downloa
  • Pytorch基于DDPM+InceptionNext+数据增强的图像分类(一)

    项目简介 本项目旨在通过使用深度学习技术实现对图像进行分类 我采用了DDPM Deep Dynamic Probabilistic Modeling 和InceptionNext两个模型的结合 以提高图像分类的准确性和性能 同时 我还使用了
  • 拷贝构造函数和赋值构造函数声明为私有的作用

    转载 http blog csdn net rabbit729 article details 4000500 每个类只有一个赋值函数 由于并非所有的对象都会使用拷贝构造函数和赋值函数 程序员可能对这两个函数有些轻视 请先记住以下的警告 在
  • dom-to-image 将vue中未显示的组件转成图片, 并上传

    目录 一 dom to image基本使用 二 注意点 三 生成的图片上传至服务器 1 base64 转 File 格式 2 blob 转 File 格式 3 在页面展示生成的图片 4 最终dom转图片函数 5 上传图片 6 问题未解决 四
  • word自带公式编辑

    快捷键 公式编辑 alt 上标 x i 空格 下标 x i 空格 实数R doubleR 空格 偏微分算子 partial 极限 limit 按空格后会显示一串很长的式子 再空格就变成了数学公式 积分 int 二重积分 iint 三重积分
  • python的smtplib发送带附件邮件

    usr bin python coding UTF 8 author import smtplib logging 加载smtplib模块 from email mime text import MIMEText from email ut
  • 如何使用chatGPT生成小红书种草文案

    如何使用chatGPT生成小红书种草文案 小红书拥有超千万的日活用户 为商家提供了广阔的变现空间和机会 成为商家选择在小红书上推广的原因之一 小红书种草文案 例如具有影响力的热门话题 产品使用方法等内容可以让消费者迅速了解产品为品牌带来更多
  • nginx转发后如何获取真实的ip地址

    前言 最近做一个团队的打卡系统 需要通过连接实验室WiFi来判是否人在实验室 网上千篇一律的获取主机ip的方法由于我使用了nginx反向代理 导致获取到的ip地址为127 0 0 1 这肯定是不符合我们验证标准的 还有就是失去了校验的意义了
  • 人工智能笔记

    第一章 绪论 1956年正式提出人工智能 artificial intelligence AI 这个术语并把它作为一门新兴科学的名称 20世纪三大科学技术成就 空间技术 原子能技术 人工智能 智能是知识与智力的总和 知识是一切智能行为的基础
  • Flutter 在MAC环境下jenkins+fastlane+gitlab实现自动打包部署(看这一篇就够了,小而精)

    实现办公局域网下的jenkins服务 Flutter配置 文档 jenkins安装 通过homebrew安装 1 安装homebrew bin bash c curl fsSL https raw githubusercontent com
  • 谷歌播客Google PodCasts解析脚本

    解析某个频道 全部的结果 import json import requests feed url https podcasts google com feed aHR0cHM6Ly93d3cueGltYWxheWEuY29tL2FsYnV
  • 我的LLVM学习笔记——OLLVM混淆研究之FLA篇

    因为要做代码保护 所以抽时间研究了下OLLVM中的三种保护方案 BCF Bogus Control Flow 中文名虚假控制流 FLA Control Flow Flattening 中文名控制流平坦化 SUB Instructions S
  • vue使用wangEditor

    vue版本2 0 editor5 1 23版本 editor for vue 1 0 2版本 api文档入口 效果图 点击查看如何封装 安装步骤入口 npm install wangeditor editor save npm instal
  • 多路选择器MUX总结-IC学习笔记(八)

    多路复用器是一种组合电路 它从许多输入信号中选择一个作为输出 本文先介绍两个MUX的简单应用 主要关于如何将verilog与物理实现对应 第二当MUX作为时钟切换电路时如何避免毛刺 glitch 文章目录 1 1 MUX code与物理实现
  • grafana配置MySQL持久化存储并配置HTTPS

    Grafana 配置 MySQL 数据持久化存储 一 mysql8 0 30 安装 1 1 解压并初始化 MySQL8 0 30 查询是否存在 MariaDB 和 MySQL 存在需要删除后进行安装 rpm qa grep MariaDB