Prometheus系列二进制部署

李梓晴·2024-08-11 23:31·91 次阅读

Prometheus系列二进制部署

Prometheus二进制部署#

前期准备#

静态IP配置#

BOOTPROTO=static                                                                                                                                                                                               
IPADDR=192.168.88.159                                                                                                                                                                                          
GATEWAY=192.168.88.2                                                                                                                                                                                           
NETMASK=255.255.255.0                                                                                                                                                                                          
DNS1=10.101.1.3

Centos换源#

 

时间同步#

该系列部署严重依赖时间,浏览器打开的时间需要和Prometheus同步。所以如果虚拟机部署需要同步主机时间。时间不对会导致数据收集不了。

如果在错误的时间里收集过数据需要清除历史Prometheus的历史data,默认放在/data里面全删掉。或者配置Prometheus的时候配置data路径。

虚拟机同步主机时间方法#

安装VMware Tools

挂在cdrom

mkdir /mnt/cdrom

虚拟机点击安装VMware Tools

mount /dev/cdrom /mnt/cdrom 或 mount /dev/rs0/mnt/cdrom

把VMwareToolsxxxxxxx.tar.gz复制出来,例如放在/mnt

解压这个包VMwareToolsxxxxxxx.tar.gz

tar -zxvf VMwareToolsxxxxxxx.tar.gz

安装依赖

sudo yum install perl

yum install -y gcc-c++

yum -y install kernel-devel kernel

执行vmware-install.pl

官网下载prometheus#

Download | Prometheus

解压压缩包#

tar -zxvf prometheus-2.54.0.linux-amd64.tar.gz

移动到安装路径下#

mv ./prometheus-2.54.0.linux-amd64 /usr/local/bin/prometheus

编写服务启动文件#

  1. 新建启动文件
    vi /etc/systemd/system/prometheus.service
  2. 插入文件内容
    [Unit]
    Description=Prometheus Monitoring System
    Documentation=https://prometheus.io/docs/introduction/overview/
    After=network.target
    
    [Service]
    Type=simple
    #设置启动路径和配置文件路径
    ExecStart=/usr/local/bin/prometheus/prometheus \
    --config.file=/usr/local/bin/prometheus/prometheus.yml
    --storage.tsdb.path:数据存储位置,默认是data目录。
    --storage.tsdb.retention.time:保留时间,默认是15天,过15天之后,就删除。该配置会覆盖--storage.tsdb.retention的值。
    --storage.tsdb.retention.size:要保留的块的最大字节数。最早的数据会首先被删除。默认为0或禁用。此标志是实验性的,可以在将来的版本中进行更改。支持的单位: KB,MB,GB,PB。例如: "512MB"
    [Install]
    WantedBy=multi-user.target

重新加载服务#

systemctl daemon-reload

开启服务#

systemctl start prometheus

设置开机启动#

systemctl enable prometheus

服务检验#

浏览器登录http://IP:9090
 

Node-Exporter二进制部署#

用于监控服务器的资源,如CPU、磁盘、内存,网络吞吐量等。

官网下载node-exporter #

Download | Prometheus

解压压缩包#

tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz

移动到安装路径下#

mv ./node_exporter-1.8.2.linux-amd64 /usr/local/bin/node_exporter

创建启动用户(可选)#

sudo useradd -rs /bin/false node_exporter #新增用户node_exporter并且为非登录用户

配置Prometheus.yml#

    #自定义工作名称
    - job_name: "linux01"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
        #配置node的监控ip端口
        static_configs:
            - targets: ["192.168.0.112:9100"]

编写服务启动文件#

  1. 新建启动文件
    vi /etc/systemd/system/node_exporter.service
  2. 插入文件内容
    [Unit]
    Description=Node Exporter #服务描述
    After=network.target
    
    
    [Service]
    User=node_exporter    #启动用户,如果没有限制可以不写这行
    Group=node_exporter    #启动用户组,如果没有限制可以不写这行
    Type=simple
    #启动路径,监听端口等配置
    ExecStart=/usr/local/node_exporter/node_exporter\
    --web.listen-address=:9100\
    --collector.systemd\
    --collector.systemd.unit-whitelist=(sshd|nginx).service\
    --collector.processes\
    --collector.tcpstat
    
    [Install]
    WantedBy=multi-user.target

重新加载服务#

systemctl daemon-reload

开启服务#

systemctl start node_exporter

设置开机启动#

systemctl enable node_exporter
 
 

Blackbox-Exporter二进制部署#

用于监控服务器的网络http协议,tcp协议,端口等

官网下载blackbox-exporter #

Download | Prometheus

解压压缩包#

tar -zxvf blackbox_exporter-0.25.0.linux-amd64.tar.gz

移动到安装路径下#

mv ./blackbox_exporter-0.25.0.linux-amd64 /usr/local/bin/blackbox_exporter

创建启动用户(可选)#

sudo useradd -rs /bin/false blackbox_exporter #新增用户blackbox_exporter并且为非登录用户

配置监控内容#

这里有两种方式,第一种是直接在Prometheus.yml里配置好,另外一种是写json文件,Prometheus.yml再指定这个json文件。

  1. 直接在Prometheus.yml配置
    #http配置
      - job_name: "blackbox_http"
        metrics_path: /probe
        params:
          module: [http_2xx]
        static_configs:
          - targets:
            - https://www.baidu.com
            - https://www.jd.com
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 192.168.10.100:9115
    
    #tcp检查配置
      - job_name: "blackbox_tcp"
        metrics_path: /probe
        params:
          module: [tcp_connect]
        static_configs:
          - targets: 
            - 192.168.10.14:22
            - 192.168.10.14:9090
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 192.168.10.100:9115
    
    #icmp检查配置 ping
      - job_name: "blackbox_icmp"
        metrics_path: /probe
        params:
          module: [icmp]
        static_configs:
          - targets: 
            - 192.168.10.14
            - 192.168.10.100
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 192.168.10.100:9115
  2. 新增配置文件,Prometheus.yml关联过去prometheus - 数据采集exporter全家桶_prometheus network-exporter-CSDN博客

编写服务启动文件#

  1. 新建启动文件
    vi /etc/systemd/system/blackbox_exporter.service
  2. 插入文件内容
    [Unit]
    Description=blackbox_exporter    #服务描述
    After=network.target
    
    
    [Service]
    Type=simple
    #配置启动路径和指定配置文件
    ExecStart=/usr/local/bin/blackbox_exporter/blackbox_exporter \
        --config.file=/usr/local/bin/blackbox_exporter/blackbox.yml
    Restart=on-failure
    
    
    [Install]
    WantedBy=multi-user.target

重新加载服务#

systemctl daemon-reload

开启服务#

systemctl start blackbox_exporter

设置开机启动#

systemctl enable blackbox_exporter
 

Grafana二进制部署#

用于展示Prometheus的数据或其他数据源的数据

官网下载Grafana#

Download | PrometheusDownload Grafana | Grafana Labs

解压压缩包#

tar -zxvf grafana-enterprise-11.1.3.linux-amd64.tar.gz

移动到安装路径下#

mv ./grafana-enterprise-11.1.3.linux-amd64 /usr/local/bin/grafana

编写服务启动文件#

  1. 新建启动文件
    vi /etc/systemd/system/grafana.service
  2. 插入文件内容
    [Unit]
    Description=grafana
    
    [Service]
    ExecStart=/usr/local/bin/grafana/bin/grafana-server \
    --homepath=/usr/local/bin/grafana \
    --config=/usr/local/bin/grafana/conf/defaults.ini
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    
    
    [Install]
    WantedBy=multi-user.target

重新加载服务#

systemctl daemon-reload

开启服务#

systemctl start grafana

设置开机启动#

systemctl enable grafana

服务检验#

浏览器登录http://IP:3000

初始账号:admin  密码:admin

 
 
 
 
 
[Unit]
Description=InfluxDB is a time series, metrics, and analytics platform
Documentation=https://docs.influxdata.com/influxdb/
After=network-online.target
 
[Service]
ExecStart=/usr/local/bin/influxdb2-2.7.8/usr/bin/influxd
 
[Install]
WantedBy=multi-user.target

 yum localinstall

systemctl enable influxdb

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select from jmeter;
exit
show databases;
posted @   李梓晴  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示
目录