演示服务
# 监控普通进程
项目仓库:https://github.com/cnych/prometheus_demo_service
由于项目是 Go 语言开发的,所以需要先配置下环境
# 1.下载 go
wget https://golang.google.cn/dl/go1.18.4.linux-amd64.tar.gz
# 2.解压 go
tar xzvf go1.18.4.linux-amd64.tar.gz -C /usr/local/
# 3.配置环境变量
export PATH=$PATH:/usr/local/go/bin
# 4.检查环境变量
go version
# 5.下载项目包:https://github.com/cnych/prometheus_demo_service
git clone https://github.com/cnych/prometheus_demo_service.git
# 6.cd 到项目包中跨平台编译成二进制进程
GOOS=linux GOARCH=amd64 go build -o prometheus_demo_service
# 7.构建镜像
docker build -t prometheus-demo-service .
# 8.运行三个不同端口的进程 10000 10001 10002
docker run -d -p 10000:8080 prometheus-demo-service # 容器监听10000端口
docker run -d -p 10001:8080 prometheus-demo-service # 容器监听10001端口
docker run -d -p 10002:8080 prometheus-demo-service # 容器监听10002端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

配置 prometheus.yml 后启动
global:
scrape_interval: 15s # 也可以配置在scrape_configs内
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "prometheus-demo"
scrape_interval: 15s # 这里的配置比全局的配置优先级要高
scrape_timeout: 10s # 同上
static_configs:
- targets: ["10.0.0.21:10000","10.0.0.21:10001","10.0.0.21:10002"]
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
观察 target

观察 graph

# 监控 mariadb
安装 mariadb
# 卸载掉 rpm 默认包通过 yum 安装
rpm -qa |grep mariadb
rpm -e mariadb-libs-5.5.35-3.el7.x86_64 --nodeps
rm -rf /etc/my.cnf
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
# 直接 Enter 登录,默认无密码
mysql -uroot -p
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
1.安装 mysqld_exporter 组件
2.数据库授权
说明:授权 IP 为 localhost,因为不是 Prometheus 和 mariadb 对接,而是 Prometheus 对接 mysqld_exporter,由 mysqld_exporter 来对接 mariadb,所以这里的 localhost 指的是 mysqld_exporter 的 IP,如果直接使用 Prometheus 对接 mariadb,需要配置为 %
GRANT ALL ON *.* TO 'mysql_monitor'@'localhost' identified by '123456';
# 如果是 mysql8
CREATE USER 'mysql_monitor'@'%' identified with mysql_native_password by '123456';
GRANT ALL ON *.* TO 'mysql_monitor'@'localhost';
------
FLUSH PRIVILEGES;
1
2
3
4
5
6
2
3
4
5
6
3.创建连接 mariadb 配置文件
解压后进入项目根目录下:vim .my.cnf
[client]
user=mysql_monitor
password=123456
1
2
3
2
3
4.启动 mysqld_exporter:nohup ./mysqld_exporter --config.my-cnf='.my.cnf' &(默认端口 9104)
5.修改 Prometheus 配置文件
global:
scrape_interval: 15s # 也可以配置在scrape_configs内
evaluation_interval: 15s
scrape_configs:
- job_name: "mysql_exporter"
static_configs:
- targets: ["10.0.0.21:9104"]
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
6.重启服务
kill -p PID
nohup ./prometheus &
7.查看监控结果
