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

server/2024/10/9 15:15:31/

一、准备工作

1、系统环境

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

2、涉及安装包

3、克隆4台虚拟机

用途IP主机名
Prometneus服务器192.168.15.129master
被监控服务器1192.168.15.133node1
mysqlclickhouse、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说明启动成功

在这里插入图片描述

mysql_152">五、在node2节点安装mysql

参考:

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

clickhouse_160">六、在node2节点安装clickhouse

参考:

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

七、在node2节点安装Grafana

参考:

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

mysqld_exporter_176">八、在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

mysql_monitorlocalhost__SELECTREPLICATION_CLIENT__PROCESS__GUANzhu123__198">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//

mysqld_exporter_220">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" &

在这里插入图片描述

clickhouse_exporter_256">九、在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

clickhouse_exporter_294">6、进入目录下载clickhouse_exporter

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

clickhouse_exporter_302">7、安装clickhouse_exporter

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

8、查看是否编译成功

clickhouse_exporter --h

在这里插入图片描述

clickhouse_exporterch_318">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模板

clickhouse882_356">1、clickhouse监控模板882

在这里插入图片描述

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

在这里插入图片描述

mysql7362_366">3、mysql监控模板7362

在这里插入图片描述


http://www.ppmy.cn/server/20535.html

相关文章

设计模式学习笔记 - 项目实战一:设计实现一个支持各种算法的限流框架(设计)

概述 上篇文章,我们介绍了限流框架产生的项目背景,并对需求做了分析,这其中包括功能性需求和非功能性需求。 前面提到,我们把项目实现分为分析、设计、实现三部分来讲解。其中,分析环境跟之前讲过的面向对象分析很相…

情绪:本来无一物,何处惹尘埃

最近身边的朋友有提到最近因为各种事情,情绪不太稳定,心里开始出现不平稳的波动,情绪起伏有点大,在学习尝试调整。 我说,这其实非常好,因为你开始觉知了自己的波动,发现了自己的变化&#xff0c…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http板块) 一、思路图二、Util板块1、Splite板块(分词)(1)代码(2)测试及测试结果i、第一种测试ii、第二种…

代码随想录(番外)图论4

代码随想录(番外)图论4 417. 太平洋大西洋水流问题 那么我们可以 反过来想,从太平洋边上的节点 逆流而上,将遍历过的节点都标记上。 从大西洋的边上节点 逆流而长,将遍历过的节点也标记上。 然后两方都标记过的节点就…

如何避免被恶意攻击的IP地址

随着互联网的普及和发展,网络安全问题日益受到关注,恶意攻击成为网络安全的一大威胁。而IP地址作为网络通信的基础,常常成为恶意攻击的目标之一。本文将探讨如何避免被恶意攻击的IP地址,提高网络安全水平。 1. 定期更新安全补丁 …

Spring Boot 3自定义注解+拦截器+Redis实现高并发接口限流

在当今互联网应用开发中,高并发访问是一个常见的挑战。为了保障系统的稳定性和可靠性,我们需要对接口进行限流,防止因过多的请求导致系统崩溃。 本文将介绍如何利用Spring Boot 3中的自定义注解、拦截器和Redis实现高并发接口限流&#xff0…

数据结构——复杂度(时间,空间)

注&#xff1a;以下用冒泡排序排序数组的统一都是排成升序 冒泡排序代码&#xff1a; void Bubble_Sort(int* arr, int n) {for (int i 0; i < n; i){int flag 0;for (int j 0; j < n - i - 1; j){if (arr[j] > arr[j 1]){Swap(&arr[j], &arr[j 1]);fl…

MySQL锁机制

锁 mysql引入锁机制是为了保证数据并发访问时的一致性,有效性; mysql中的锁分为全局锁,表级锁,行级锁三种,锁的粒度递减; 所有的锁都是基于事务的基础上进行讨论的; 全局锁 全局锁就是对整个数据库加锁,加锁后所有的DML写语句,DDL语句,其他所有事务(除持有全局锁的事务)都…