CentOS-7部署mysql、clickhouse并通过普罗米修斯、grafna监控告警

本文主要是介绍CentOS-7部署mysql、clickhouse并通过普罗米修斯、grafna监控告警,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、准备工作

1、系统环境

所用镜像:CentOS-7-x86_64-DVD-2009.iso

2、涉及安装包

3、克隆4台虚拟机

用途IP主机名
Prometneus服务器192.168.15.129master
被监控服务器1192.168.15.133node1
mysql、clickhouse、grafana服务器192.168.15.134node2
被监控服务器2192.168.15.136node3

二、通用设置(分别在4台虚拟机设置)

1、在四台服务器上分别配置主机名

hostnamectl set-hostname --static 主机名

2、修改hosts文件

vim /etc/hosts
输入:
192.168.15.129 master
192.168.15.133 node1
192.168.15.134 node2
192.168.15.136 node3

3、 保持服务器之间时间同步

yum install -y  ntpdate && ntpdate time.windows.com

4、关闭防火墙(生产上不要这样操作、重启虚拟机后需重新操作)

systemctl stop firewalld 
systemctl disable firewalld 
iptables -F

三、在master服务器安装普罗米修斯

1、 将文件解压到你想要的文件夹

tar -zxvf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/

2、重命名普罗米修斯文件夹名称

mv /usr/local/prometheus-2.5.0.linux-amd64/  /usr/local/prometheus

3、使用使用默认配置文件启动(重启虚拟机需要重新启动)

/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
注:启动时可以添加参数,比如	这种方式可以设置数据保存位置
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" --storage.tsdb.path="/usr/local/prometheus/data" &--storage.tsdb.path: 存储数据的目录,默认为data/,如果要挂外部存储,可以指定该目录
--storage.tsdb.retention.time: 数据过期清理时间,默认保存15天
--storage.tsdb.retention.size: 实验性质,声明数据块的最大值,不包括wal文件,如512MB
--storage.tsdb.retention: 已被废弃,改为使用storage.tsdb.retention.time

4、 确认服务是否启动

ss -anltp | grep 9090
访问http://192.168.15.129:9090/targets,看到up说明启动成功

在这里插入图片描述

四、在node1、node3节点安装node_exporter组件

1、将文件解压到你想要的文件夹

tar -zxvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/

2、重命名

mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

3、启动node_exporter(重启虚拟机需要重新启动)

nohup /usr/local/node_exporter/node_exporter &

4、确认服务是否启动

ss -anltp | grep 9100
访问http://192.168.15.133:9100/metrics,http://192.168.15.136:9100/metrics成功说明启动成功

5、修改普罗米修斯配置,在master节点操作

vim /usr/local/prometheus/prometheus.yml 
在最后添加- job_name: 'node1'static_configs:- targets: ['192.168.15.133:9100']- job_name: 'node2'static_configs:- targets: ['192.168.15.136:9100']

6、重启普罗米修斯,在master节点操作

先杀死服务
pkill prometheus
再重新启动
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

访问http://192.168.15.129:9090/targets,看到up说明启动成功

在这里插入图片描述

五、在node2节点安装mysql

参考:

https://blog.csdn.net/weixin_42924611/article/details/138125237

六、在node2节点安装clickhouse

参考:

https://blog.csdn.net/weixin_42924611/article/details/138125822

七、在node2节点安装Grafana

参考:

https://blog.csdn.net/weixin_42924611/article/details/138126370

八、在node2节点安装mysqld_exporter

1、解压

tar -xzvf mysqld_exporter-0.15.0.linux-amd64.tar.gz

2、重命名

mv mysqld_exporter-0.15.0.linux-amd64 mysqld_exporter

3、进入该目录后进入数据库

cd /jxh/mysqld_exportermysql -uroot -padmin

4、授予 ‘mysql_monitor’@‘localhost’ 用户在所有数据库中的所有表上执行 SELECT、REPLICATION CLIENT 和 PROCESS 权限,并使用 ‘GUANzhu123//’ 作为该用户的密码

grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by 'GUANzhu123//';

5、刷新权限

flush privileges;

6、创建配置文件将账户密码写入

vim .my.cnf
输入:
[client]
user=mysql_monitor
password=GUANzhu123//

7、启动mysqld_exporter(重启虚拟机需要重新启动)

nohup /jxh/mysqld_exporter/mysqld_exporter --config.my-cnf=/jxh/mysqld_exporter/.my.cnf &

8、查看服务是否启动

netstat -antup | grep mysqld

访问http://192.168.15.134:9104/metrics成功

9、去普罗米修斯服务器配置prometheus文件(master节点)

vim /usr/local/prometheus/prometheus.yml
在最后输入:- job_name: "mysql"static_configs: - targets: ['192.168.15.134:9104']

10、重启普罗米修斯服务,在master节点操作

先杀死服务
pkill prometheus
再重新启动
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

在这里插入图片描述

九、在node2节点安装clickhouse_exporter

1、下载文件

wget -P /var/download https://dl.google.com/go/go1.12.10.linux-amd64.tar.gz

2、解压文件

tar -zxf /var/download/go1.12.10.linux-amd64.tar.gz -C /usr/lib/

3、进入文件夹重命名文件夹

cd /usr/lib/mv go golang

4、修改配置文件

vim /etc/profile
在文件的末尾添加如下内容:
export GOROOT=/usr/lib/golang
export GOPATH=/var/goproject
export PATH=$PATH:$GOROOT/bin

5、重新加载配置文件

source /etc/profile

6、进入目录下载clickhouse_exporter

cd  /app/clickhouse_exporter/clickhouse_exportergit clone  https://github.com/f1yegor/clickhouse_exporter.git

7、安装clickhouse_exporter

go clean -modcache
export GOPROXY=https://mirrors.aliyun.com/goproxy/
go build clickhouse_exporter.go

8、查看是否编译成功

clickhouse_exporter --h

在这里插入图片描述

9、启动clickhouse_exporter(第六步安装的是有密码的ch)(重启虚拟机需要重新启动)

nohup /app/clickhouse_exporter/clickhouse_exporter/clickhouse_exporter -scrape_uri=http://default:123456@192.168.15.134:8123/ &

10、访问

http://192.168.15.134:9116/metrics
在这里插入图片描述

11、去普罗米修斯服务器配置prometheus文件(master节点)

vim /usr/local/prometheus/prometheus.yml
在最后输入:- job_name: "clickhouse"static_configs: - targets: ['192.168.15.134:9116']

12、重启普罗米修斯服务,在master节点操作

先杀死服务
pkill prometheus
再重新启动
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

访问http://192.168.15.129:9090/targets,看到clickhouse状态是up

在这里插入图片描述

十、导入grafana模板

1、clickhouse监控模板882

在这里插入图片描述

2、虚拟机(node)监控模板8919

在这里插入图片描述

3、mysql监控模板7362

在这里插入图片描述

这篇关于CentOS-7部署mysql、clickhouse并通过普罗米修斯、grafna监控告警的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/929319

相关文章

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句