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

发布于:2024-04-24 ⋅ 阅读:(32) ⋅ 点赞:(0)

一、准备工作

1、系统环境

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

2、涉及安装包

3、克隆4台虚拟机

用途 IP 主机名
Prometneus服务器 192.168.15.129 master
被监控服务器1 192.168.15.133 node1
mysql、clickhouse、grafana服务器 192.168.15.134 node2
被监控服务器2 192.168.15.136 node3

二、通用设置(分别在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_exporter

mysql -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_exporter

git 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

在这里插入图片描述