目录
首先是下载Prometheus
下载和安装
配置Prometheus
查看监控数据
监控mysql demo
部署 mysqld_exporter 组件
配置 Prometheus 获取监控数据
--------------------------------------
安装和使用Grafana
启动Grafana
--------------------------------------
配置数据源
Grafana 展示 MySQL 的监控数据
监控云服务器 demo
部署 node_exporter
配置 Prometheus 获取监控数据
然后和上面一样的启动Grafana
配置数据源(这两个数据源是一样的,因为都是本地的promethus去监控的)
Grafana 展示 Linux 的监控数据
首先是下载Prometheus
下载和安装
首先,你需要下载和安装Prometheus。你可以从Prometheus的官方网站(Prometheus - Monitoring system & time series database)下载最新版本的二进制文件。下载好后,你需要将Prometheus解压到你的计算机上。
配置Prometheus
在解压Prometheus之后,你需要配置Prometheus以监控你的应用程序。在Prometheus的根目录下,你会找到一个名为prometheus.yml
的文件。这个文件包含了Prometheus的配置信息。
你需要编辑这个文件,添加你要监控的目标。在这个文件中,你需要定义一个或多个job
。每个job
表示你要监控的目标。对于每个job
,你需要指定一个target
,它表示你要监控的应用程序的地址和端口号。
例如,假设你要监控一个名为myapp
的应用程序,它运行在localhost
上的8080
端口,那么你的prometheus.yml
文件应该如下所示:
global:scrape_interval: 15s scrape_configs:- job_name: 'myapp'scrape_interval: 5sstatic_configs:- targets: ['localhost:8080']
在这个配置中,我们定义了一个名为myapp
的job
,它每隔5秒钟就会监控一次localhost:8080
这个目标。
通过配置 scrape_interval
和 evaluation_interval
设置采样时间和评估时间,以控制指标的精度和延迟。
查看监控数据
PS:要先运行 node_exporter 和 mysqld_exporter 再运行 prometheus 对应的 State 才会变成 UP
一旦Prometheus开始监控你的应用程序,它就会收集各种指标数据,并将这些数据(启动后,您可以在浏览器中输入 http://localhost:9090/
,访问 Prometheus 的 UI 界面,在其中可以看到已经可以采集到的指标。)
此时如果这里报错:get context deadline exceeded,就是说明没有开放此端口,我是在阿里云上开放了就可以了
点击里面的连接,如果有类似如下数据,则表示 node_exporter 部署完成。
监控mysql demo
部署 mysqld_exporter 组件
首先在Download | Prometheus中找到对应的 mysqld_exporter 版本。
将 mysqld_exporter 传到需要监控的 MySQL 机器上,进行解压:
sudo tar zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /opt
创建软链接
sudo ln -s /opt/mysqld_exporter-0.14.0.linux-amd64/ /opt/mysqld_exporter
在 MySQL 上创建监控用户
create user 'exporter'@'localhost' IDENTIFIED BY '112233lml!';
mysql> set global read_only=0; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.05 sec) mysql> show variables like '%read_only%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | innodb_read_only | OFF | | read_only | OFF | | tx_read_only | OFF | +------------------+-------+ 3 rows in set (0.00 sec)
密码修改成功,退出skip-grant-tables模式
leenhem@DESKTOP-7SREO20:~$ sudo /etc/init.d/mysql start* Starting MySQL database server mysqld No directory, logging in with HOME=/ [ OK ]
(原文连接:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot exe_sql 错误 [1290] [hy000]: the mysql server is running_leenhem的博客-CSDN博客)
新建一个配置文件:
sudo vim /opt/mysqld_exporter/mysqld_exporter.cnf
配置 MySQL 监控用户信息:
[client] user=exporter password=112233lml!
启动 mysqld_exporter
sudo nohup /opt/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter/mysqld_exporter.cnf &
show:
http://你的ip:9104/metrics
可获得 MySQL 监控数据,如下图(部分数据):
配置 Prometheus 获取监控数据
这个我们开始已经配置了
重启 prometheus
--------------------------------------
安装和使用Grafana
首先,你需要从Grafana的官方网站(Download Grafana | Grafana Labs)下载最新版本的二进制文件。下载好后,你需要将Grafana解压到你的计算机上。(我是下的windows的)
启动Grafana
在解压Grafana之后,你需要启动Grafana(grafana-server)。
这将启动Grafana,并将其运行在默认端口3000
上。你可以在浏览器中访问http://localhost:3000
来访问Grafana的Web界面。
(
默认端口:3000
地址:http://ip:3000
初始管理员账号:admin,密码:admin
)
--------------------------------------
配置数据源
PS:这个是可以在linux下查看安装的 mysqld_exporter(9104) 和 node_exporter(9100)是否启动成功
Grafana 展示 MySQL 的监控数据
输入7362是导入别人现成的仪表盘
在 prometheus 选项选择之前创建的 Prometheus 数据源,点击 “Import”,会自动跳转到如下界面:
监控云服务器 demo
部署 node_exporter
1.官网下载node_exporter安装包,官网下载地址如下: Download | Prometheus
将 node_exporter 传到需要监控的 MySQL 机器上,进行解压:
tar -zxvf node_exporter-1.5.0.linux-amd64.tar.gz -C /opt/
创建软链接:
sudo ln -s /opt/node_exporter-1.5.0.linux-amd64/ /opt/node_exporter
启动
sudo nohup /opt/node_exporter/node_exporter &(下载完了就可以运行了,运行在Prometheus之前)
查看
重启 prometheus
然后浏览器输入:你的ip:9100/metrics (你的ip和port) 如果有类似如下数据,则表示 node_exporter 部署完成。
配置 Prometheus 获取监控数据
这个也是开始就配置好的
然后和上面一样的启动Grafana
配置数据源(这两个数据源是一样的,因为都是本地的promethus去监控的)(所以上面配置了的话这里就不需要配置了)
Grafana 展示 Linux 的监控数据
import导入 11074