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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp