一、准备工作
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