prometheus二进制安装

1、在需要安装prometheus的目录下执行wget命令下载软件到本地,如我的路径是/opt/module/prometheus

wget https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-amd64.tar.gz

正在解析主机 objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.109.133, ...
正在连接 objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:76299772 (73M) [application/octet-stream]
正在保存至: “prometheus-2.34.0.linux-amd64.tar.gz”

100%[========================================================================================>] 76,299,772  15.7MB/s 用时 5.3s   

2023-12-24 11:51:25 (13.9 MB/s) - 已保存 “prometheus-2.34.0.linux-amd64.tar.gz” [76299772/76299772])

表示下载已完成
查看

[root@ambari-hadoop1 prometheus]# ll
总用量 74512
-rw-r--r-- 1 root root   76299772 315 2022 prometheus-2.34.0.linux-amd64.tar.gz

解压

[root@ambari-hadoop1 prometheus]# tar -zxvf prometheus-2.34.0.linux-amd64.tar.gz 
prometheus-2.34.0.linux-amd64/
prometheus-2.34.0.linux-amd64/consoles/
prometheus-2.34.0.linux-amd64/consoles/index.html.example
prometheus-2.34.0.linux-amd64/consoles/node-cpu.html
prometheus-2.34.0.linux-amd64/consoles/node-disk.html
prometheus-2.34.0.linux-amd64/consoles/node-overview.html
prometheus-2.34.0.linux-amd64/consoles/node.html
prometheus-2.34.0.linux-amd64/consoles/prometheus-overview.html
prometheus-2.34.0.linux-amd64/consoles/prometheus.html
prometheus-2.34.0.linux-amd64/console_libraries/
prometheus-2.34.0.linux-amd64/console_libraries/menu.lib
prometheus-2.34.0.linux-amd64/console_libraries/prom.lib
prometheus-2.34.0.linux-amd64/prometheus.yml
prometheus-2.34.0.linux-amd64/LICENSE
prometheus-2.34.0.linux-amd64/NOTICE
prometheus-2.34.0.linux-amd64/prometheus
prometheus-2.34.0.linux-amd64/promtool

解压后查看

[root@ambari-hadoop1 prometheus]# ll
总用量 74512
drwxr-xr-x 4 3434 3434      132 315 2022 prometheus-2.34.0.linux-amd64
-rw-r--r-- 1 root root 76299772 315 2022 prometheus-2.34.0.linux-amd64.tar.gz

删除压缩文件

[root@ambari-hadoop1 prometheus]# rm -rf prometheus-2.34.0.linux-amd64.tar.gz 

2、创建开机启动项

vim /usr/lib/systemd/system/prometheus.service

配置内容如下

[Unit]
Description=prometheus
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/module/prometheus/prometheus-2.34.0.linux-amd64/prometheus --config.file=/opt/module/prometheus/prometheus-2.34.0.linux-amd64/prometheus.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

设置自动启动:

$ systemctl enable prometheus

报错

[root@ambari-hadoop1 system]# systemctl enable prometheus
Failed to execute operation: File exists

原因:之前安装过prometheus,没有卸载干净
接下来卸载之前安装的prometheus文件
先查找

[root@ambari-hadoop1 system]# find / -name prometheus.service
/etc/systemd/system/multi-user.target.wants/prometheus.service
/usr/lib/systemd/system/prometheus.service

删除第一个文件,第二个文件是刚刚自己创建的prometheus.service

[root@ambari-hadoop1 system]#  rm -rf /etc/systemd/system/multi-user.target.wants/prometheus.service

再次查看

[root@ambari-hadoop1 system]# find / -name prometheus.service
/usr/lib/systemd/system/prometheus.service

设置开机启动

[root@ambari-hadoop1 system]# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /usr/lib/systemd/system/prometheus.service.

启动服务并查看启动状态:

# 重新加载某个服务的配置文件
$ systemctl daemon-reload
# 启动prometheus
$ systemctl start prometheus
# 查看prometheus状态
$ systemctl status prometheus

[root@ambari-hadoop1 system]# systemctl status prometheus
● prometheus.service - prometheus
   Loaded: loaded (/usr/lib/systemd/system/prometheus.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2023-12-24 12:08:55 CST; 5s ago
     Docs: https://prometheus.io/
 Main PID: 3960 (prometheus)
    Tasks: 9
   Memory: 19.4M
   CGroup: /system.slice/prometheus.service
           └─3960 /opt/module/prometheus/prometheus-2.34.0.linux-amd64/prometheus --config.file=/opt/module/prometheus/promethe...

1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.726Z caller=head.go:493 level=info component=tsd... any"
12月 24 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.726Z caller=head.go:536 level=info component=tsd…=5.31µs
12月 24 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.726Z caller=head.go:542 level=info component=tsd...hile"
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.727Z caller=head.go:613 level=info component=tsd...ent=0
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.727Z caller=head.go:619 level=info component=tsd…0.235µs
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.727Z caller=main.go:958 level=info fs_type=XFS_S...MAGIC
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.727Z caller=main.go:961 level=info msg="TSDB started"
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.727Z caller=main.go:1142 level=info msg="Loading...s.yml
12月 24 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.728Z caller=main.go:1179 level=info msg="Completed lo…µs
1224 12:08:55 ambari-hadoop1 prometheus[3960]: ts=2023-12-24T04:08:55.728Z caller=main.go:910 level=info msg="Server i...sts."
Hint: Some lines were ellipsized, use -l to show in full.

3、访问prometheus页面查看 http协议+prometheus安装主机的ip地址+端口号

http://192.168.0.21:9090

在这里插入图片描述
在页面Status------>targets查看节点信息
在这里插入图片描述4、在本机上安装Node-exporter客户端采集数据
NodeExporter 是 Prometheus 官方提供的一个可以采集到主机信息的应用程序,它能采集到机器的 CPU、内存、磁盘等信息。作为基础的组件,一般在所有的节点都都会安装。
从prometheus官网找https://prometheus.io/download/ 获取最新的 Node Exporter 版本的二进制包:

https://prometheus.io/download/

在这里插入图片描述
下载node_exporter-1.7.0.linux-amd64.tar.gz

[root@ambari-hadoop1 node-exporter]# ll
总用量 10176
-rw-r--r-- 1 root root 10419253 1224 13:22 node_exporter-1.7.0.linux-amd64.tar.gz
[root@ambari-hadoop1 node-exporter]# pwd
/opt/module/prometheus/node-exporter

解压

[root@ambari-hadoop1 node-exporter]# pwd
/opt/module/prometheus/node-exporter
[root@ambari-hadoop1 node-exporter]# tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz 
node_exporter-1.7.0.linux-amd64/
node_exporter-1.7.0.linux-amd64/LICENSE
node_exporter-1.7.0.linux-amd64/node_exporter
node_exporter-1.7.0.linux-amd64/NOTICE
[root@ambari-hadoop1 node-exporter]# ll
总用量 10176
drwxr-xr-x 2 1001 1002       56 1113 08:03 node_exporter-1.7.0.linux-amd64
-rw-r--r-- 1 root root 10419253 1224 13:22 node_exporter-1.7.0.linux-amd64.tar.gz

在解压后的目录下后台运行

[root@ambari-hadoop1 node_exporter-1.7.0.linux-amd64]# pwd
/opt/module/prometheus/node-exporter/node_exporter-1.7.0.linux-amd64

运行node Exporter ,指定为8080端口运行
错误示范,后台启动


# 前台运行
$ ./node_exporter --web.listen-address 192.168.0.21:8080
# 后台运行
$ nohup ./node_exporter --web.listen-address 192.168.0.21:8080 >> nohup.out 2>&1 &

千万注意,不要采用下面的后台运行,否则在prometheus页面node_exporter状态起不来

[root@ambari-hadoop1 node_exporter-1.7.0.linux-amd64]# pwd
/opt/module/prometheus/node-exporter/node_exporter-1.7.0.linux-amd64
[root@ambari-hadoop1 node_exporter-1.7.0.linux-amd64]# nohup ./node_exporter --web.listen-address 192.168.0.21:8080 >> nohup.out 2>&1 &
[1] 9032

正确方式是修改为
在路径/usr/lib/systemd/system/新增node_exporter.service 新增node_exporter 服务

vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target

[Service]
ExecStart=/opt/module/prometheus/node-exporter/node_exporter-1.7.0.linux-amd64/node_exporter --web.listen-address=192.168.0.21:8080
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure


[Install]
WantedBy=multi-user.target

更新系统服务

systemctl daemon-reload
开机启动服务
通过如下命令加入开机启动

systemctl enable node_exporter.service

#启动
systemctl start node_exporter.service
#停止
systemctl stop node_exporter.service
#重启
systemctl restart node_exporter.service

查看node-exporter运行成功后的页面

http://192.168.0.21:8080

在这里插入图片描述
在这里插入图片描述
配置prometheus的监控数据源

现在我们运行了 Prometheus 服务器,也运行了业务数据源 NodeExporter。但此时 Prometheus 还获取不到任何数据,我们还需要配置下 prometheus.yml 文件,让其去拉取 Node Exporter 的数据

prometheus.yml并在 scrape_configs 节点下添加以下内容:

[root@ambari-hadoop1 prometheus-2.34.0.linux-amd64]# pwd
/opt/module/prometheus/prometheus-2.34.0.linux-amd64
[root@ambari-hadoop1 prometheus-2.34.0.linux-amd64]# ll
总用量 197372
drwxr-xr-x 2 3434 3434        38 315 2022 console_libraries
drwxr-xr-x 2 3434 3434       173 315 2022 consoles
drwxr-xr-x 2 root root         6 1224 12:01 data
-rw-r--r-- 1 3434 3434     11357 315 2022 LICENSE
-rw-r--r-- 1 3434 3434      3773 315 2022 NOTICE
-rwxr-xr-x 1 3434 3434 105137495 315 2022 prometheus
-rw-r--r-- 1 3434 3434       934 315 2022 prometheus.yml
-rwxr-xr-x 1 3434 3434  96946761 315 2022 promtool
[root@ambari-hadoop1 prometheus-2.34.0.linux-amd64]# 

修改路径下的prometheus.yml文件
下方为原先有的文件

[root@ambari-hadoop1 prometheus-2.34.0.linux-amd64]# vim prometheus.yml 

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.0.21:9090"]

需要增加的配置文件


  - job_name: 'node-exporter'
    static_configs:
      - targets: ['192.168.0.21:8080']

修改后的配置文件

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.0.21:9090"]
      #此处为prometheus安装的主机IP地址和端口号

  - job_name: 'node-exporter'
    static_configs:
      - targets: ['192.168.0.21:8080']
      #此处为node-exporter安装的主机IP地址和端口号

注意:每次修改配置完成,用promtool检测配置文件是否正确

./promtool check config ./prometheus.yml

[root@ambari-hadoop1 prometheus-2.34.0.linux-amd64]# ./promtool check config ./prometheus.yml
Checking ./prometheus.yml
 SUCCESS: ./prometheus.yml is valid prometheus config file syntax

重启prometheus

$  systemctl restart prometheus

在这里插入图片描述
在这里插入图片描述

重启后发现增加了node-exporter的信息,状态为up

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用二进制安装Prometheus 和 Grafana 来监控 Kubernetes,您需要按照以下步骤进行设置: 1. 首先,您需要在 Kubernetes 集群中运行 Prometheus。您可以在每个节点上运行一个 Prometheus 实例,也可以使用 Prometheus Operator 在整个集群中运行多个实例。您可以从 Prometheus 官方网站下载二进制文件。 2. 配置 Prometheus,指定要监控的 Kubernetes 组件和指标。您可以创建一个 Prometheus 配置文件,定义要监控的目标和抓取规则。例如,您可以监控 Kubernetes API 服务器、节点指标、容器指标等等。 3. 启动 Prometheus 实例,并确保它可以连接到 Kubernetes 集群和要监控的组件。您可以使用命令行参数或环境变量来指定 Prometheus 的配置文件和目标。 4. 确保 Prometheus 正确抓取和存储指标数据。您可以访问 Prometheus 的 Web UI 或使用 PromQL 查询语言来检查指标数据。 5. 安装和配置 Grafana,以便可视化 Prometheus 中的指标数据。您可以从 Grafana 官方网站下载二进制文件,并根据需要进行自定义配置。 6. 在 Grafana 中创建仪表盘,并添加 Prometheus 数据源。您可以使用 Grafana 的界面来创建和编辑仪表盘,并使用 PromQL 查询语言来检索和呈现数据。 7. 在仪表盘中添加面板,并选择要显示的指标和图表类型。您可以根据需要创建各种类型的面板,例如图表、表格、仪表盘等。 通过以上步骤,您应该能够使用 Prometheus 和 Grafana 来监控 Kubernetes 集群,并可视化指标数据。请注意,这只是一个简单的概述,具体的配置和设置可能会根据您的需求和环境而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值