1、下载 prometheus
Prometheus 的下载链接为:https://prometheus.io/download/
①Prometheusl以prometheus Server为核心,用于收集和存储时间序列数据。Prometheus Server从监控目标中通过pull方式拉取指标数据,或通过pushgateway把采集的数据拉取到Prometheus server中。
②Prometheus server把采集到的监控指标数据通过TSDB存储到本地HDD/SSD中。
③Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到Alertmanager。
④Alertmanager通过配置报警接收方,发送报警到邮件、钉钉或者企业微信等。
⑤Prometheus自带的Web UI界面提供PromQL查询语言,可查询监控数据。
⑥Grafana可接入Prometheus数据源,把监控数据以图形化形式展示出
这里所需Prometheus的组件为:
-
prometheus
-
pushgateway(Flink推送监控数据到此)
-
node_exporter(节点信息监控,CPU内存等)
下载版本:
2、配置 prometheus
创建一个干净的文件夹:mkdir prometheus
把下载所有的安装包都放在这个文件夹里面,分别进行解压
进入prometheus-2.51.1.linux-amd64编辑配置文件 vim
prometheus.yml
修改Prometheus根目录prometheus.yml
文件的scrape_config:,配置对应的服务job_name 以及端口号
查看端口号是否被占用 netstat -anp |grep 9090
注意: metrics_path: /node_metrics,如果启动的时候指定--web.telemetry-path="/node_metrics" ,那么就需要再下面的配置添加
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'pushgateway'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['10.121.89.26:8091']
labels:
instance: 'pushgateway'
- job_name: 'linux'
metrics_path: /node_metrics
static_configs:
- targets: ['10.121.89.26:8089']
labels:
instance: 'linux'
- job_name: prometheus
static_configs:
- targets: ['10.121.89.26:8090']
labels:
instance: prometheus
3、启动prometheus, node_exporter和pushgateway
3.1启动prometheus (8090),
端口号前面也可以ip地址有无都可以
先解压 tar -xvf prometheus-2.51.1.linux-amd64.tar.gz
进入prometheus目录执行命令,这是我自己的目录,需要更换为你下载的目录
cd /home/aitpm/software/prometheus/prometheus-2.51.1.linux-amd64
nohup ./prometheus --config.file=prometheus.yml --web.listen-address=:8090 > ./prometheus.log 2>&1 &
注:必须在启动命令中指定端口号,虽然配置文件中配置 prometheus端口8090,如果在命令中不指定端口号,还是默认9090端口
3.2 启动 pushgateway (8091)
先解压 tar -xvf pushgateway-1.8.0.linux-amd64.tar.gz
nohup ./pushgateway --web.listen-address=:8091 > ./pushgateway.log 2>&1 &
3.3 启动Node exporter (8099)
监控服务器CPU、内存、磁盘、I/O等信息,首先需要安装node_exporter。
Node exporter启动命令:
默认情况下,node_exporter 在端口9100上运行,并在路径/metrics上暴露指标。可以通过 --web.listen-address和 --web.telemetry-path参数来设置端口和路径。
tar -xvf node_exporter-1.7.0.linux-amd64.tar.gz
nohup ./node_exporter --web.listen-address=":8099" --web.telemetry-path="/node_metrics" > ./node_exporter.log 2>&1 &
以上的定义就是监听端口为8099,暴露的路径为node_metrics。
3.4启动mysqld_exporter监控
监控模版在连接里面有,或者自己下载
启动命令
先解压 tar mysqld_exporter-0.15.1.linux-amd64.tar.gz
添加配置
[client]
host=192.168.122.152
user=root
password=root@zhjt2020
port=3306
启动命令,端口和ip需要改变,端口需要和prometheus.yaml保持一致,且不被占用
nohup ./mysqld_exporter --config.my-cnf="./.my.cnf" --web.listen-address=192.168.122.152:8537 > mysql.log 2>&1 &
3.5 启动 kafka_exporter监控
监控模版在连接里面有,或者自己下载
启动命令
先解压tar -xvf kafka_exporter-1.7.0.linux-amd64.tar.gz
启动命令,端口和ip需要改变,端口需要和prometheus.yaml保持一致,且不被占用
nohup ./kafka_exporter --kafka.server=192.168.122.152:9092 --web.listen-address=192.168.122.152:8538 > kafka.log 2>&1 &
三、配置安装Grafana (8433)
Grafana的下载地址为: https://grafana.com/grafana/download
选择对应服务器的版本,arm、x86
修改默认端口号,
vim /home/aitpm/software/prometheus/grafana-v10.4.1/conf/defaults.ini
启动grafana服务,进入bin目录中
./grafana-server web > ./grafana.log 2>&1 &
四. 配置Grafana
1、配置数据源
10.10.10.10:8433,使用默认用户名密码(admin/admin)登录Grafana后,选择左侧菜单的Configuration -> Data Sources。(ip地址换成自己的)
点击右侧的Add data source
按钮。在数据源类型选择中界面选择Prometheus
。
将Prometheus的地址端口号输入到URL
点击下方的Save & Test
按钮。如果配置无误,会弹出数据源正常连接的提示信息
2、配置 dashboard
选择左侧菜单的 Dashboard --> new
点击new,点击import
点击跳转模板网址,输入11074模板,点击复制id,下载json文件,填写到grafana里面,点击load,选择数据源
注意名字一样会报错
需要选择数据源
最后点击仪表板就可以查看到cpu状态了
如果需要添加多个机器的监控,需要再prometheus.yaml里面添加配置