searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

安装prometheus监控系统

2024-09-27 09:20:54
73
0

组件介绍

  • prometheus

    Prometheus是一个开源监控解决方案,用于收集和聚合指标作为时间序列数据。Prometheus 通过使用基于拉取的数据获取机制来确定指标的当前值。它会定期轮询支持每个指标的数据源,然后将结果作为新事件存储在时间序列数据库中。

    prometheus架构和生态系统组件如下图所示:

     

    prometheus直接或通过中间推送网关从仪表作业中抓取指标,用于短期作业。它将所有抓取的样本存储在本地,并在这些数据上运行规则,从现有数据中聚合和记录新的时间序列,或者生成警报。

    grafana或其他API消费者可以用来可视化收集的数据。

     

  • node_exporter

    node-exporter用于采集主机的运行指标,包括主机的cpu、load、filesystem、meminfo、network等基础监控指标,类似于zabbix监控系统的的zabbix-agent。

    在prometheus的架构设计中,prometheus并不直接监控特定的目标,其主要任务负责数据的收集、存储并且对外提供数据查询支持。因此为了能够监控到某些指标,如主机的CPU使用率、内存、磁盘,我们需要使用到exporter,prometheus周期性的从exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

  • grafana

    grafana 是一个开源的监控数据分析和可视化套件。最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用于其他需要数据可视化分析的领域。

    grafana 可以帮助你查询、可视化、告警、分析你所在意的指标和数据。可以与整个团队共享,有助于培养团队的数据驱动文化。

  • alertmanager

    alertmanager是一个独立的告警模块,接收prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器。告警方式可以按照不同的规则发送给不同的模块负责人,alertmanager支持email, slack,等告警方式, 也可以通过webhook接入钉钉等工具。

安装prometheus

  • 添加prometheus用户

    useradd prometheus
    chage -M 99999 prometheus
    passwd prometheus

如果是生产环境,必须设置强密码!!!

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://prometheus.io/download
  • 解压缩

    tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /usr/local/
    mv /usr/local/prometheus-2.29.1.linux-amd64 /usr/local/prometheus
    chown -R prometheus:prometheus /usr/local/prometheus
  • 创建prometheus数据存放目录

    mkdir -p /data/prometheus
    chown -R prometheus:prometheus /data
  • 创建配置文件 

    vim /usr/lib/systemd/system/prometheus.service
    [Unit]
    Description=Prometheus
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStart=/usr/local/prometheus/prometheus \
      --config.file=/usr/local/prometheus/prometheus.yml \
      --storage.tsdb.path=/data/prometheus \
      --storage.tsdb.retention.time=365d \
      --web.listen-address=0.0.0.0:9090 \
      --web.enable-admin-api \
      --web.enable-lifecycle
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
  • 操作命令

    #开机自启
    systemctl enable prometheus
    #查看状态
    systemctl status prometheus
    #启动
    systemctl start prometheus
    #停止
    systemctl stop prometheus
    #重启
    systemctl restart prometheus
  • 访问prometheus web ui页面

    prometheus url:主机IP:9090

  • Alerts:查看prometheus中已配置的告警指标。

  • Graph:通过prometheus语法查看相应监控指标状态。

  • Status:查看prometheus配置参数、实例状态、告警规则等信息。

  • Help:帮助手册。

  • Classic UI:返回经典web ui页面。

安装node_exporter

  • 进入存放压缩包目录

    cd /usr/local/app_install
    #上传文件压缩包
    # 下载链接:https://github.com/prometheus/node_exporter
  • 解压缩

    tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /home/prometheus
    chown -R prometheus:prometheus /home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter
  • 创建node_exporter_script目录(存放自定义脚本)

    mkdir -p /home/prometheus/node_exporter_script
    chown -R prometheus:prometheus /home/prometheus/node_exporter_script
  • 创建node_exporter_textfile目录(存放自定义脚本输出结果)

    mkdir -p /home/prometheus/node_exporter_textfile
    chown -R prometheus:prometheus /home/prometheus/node_exporter_textfile
  • 创建配置文件

    vim /usr/lib/systemd/system/prometheus_node_exporter.service
    [Unit]
    Description=Prometheus node_exporter
    Requires=network.target remote-fs.target
    After=network.target remote-fs.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecStart=/home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter --collector.textfile.directory=/home/prometheus/node_exporter_textfile
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target​
  • 操作命令
    #开机自启
    systemctl enable prometheus_node_exporter
    #查看状态
    systemctl status prometheus_node_exporter
    #启动
    systemctl start prometheus_node_exporter
    #停止
    systemctl stop prometheus_node_exporter
    #重启
    systemctl restart prometheus_node_exporter
  • 访问node_exporter web ui页面

    node_exporter url:主机IP:9100

配置主机IaaS监控

  • 编辑prometheus配置文件

    vim /usr/local/prometheus/prometheus.yml
    # 静态配置(选择其一即可)
      - job_name: "node_iaas"
        static_configs:
          # node_exporter所在的主机ip:端口
          - targets: ["主机IP:9090","主机IP:9090"]
    
    # 基于文件发现(选择其一即可)
      - job_name: "host_iaas"
        file_sd_configs::
          # node_iaas.yml文件中存有node_exporter所在的主机ip:端口信息
          - files: ['/usr/local/prometheus/monitorInfo/node_iaas.yml']
            refresh_interval: 10s
            
    #node_iaas.yml文件内容:
    - targets: ["主机IP:9090","主机IP:9090"]​
  • 创建node_iaas.yml文件

    vim /usr/local/prometheus/monitorInfo/node_iaas.yml
    - targets: ["主机IP:9090","主机IP:9090"]​
  • 修改node_iaas.yml权限

    chown prometheus:prometheus /usr/local/prometheus/monitorInfo/node_iaas.yml
  • 重启prometheus

    systemctl restart prometheus

安装grafana

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1
  • rpm安装

    yum -y install urw-fonts
    rpm -ivh grafana-enterprise-8.1.8-1.x86_64.rpm
  • 操作命令

    #开机自启
    systemctl enable grafana-server
    #查看状态
    systemctl status grafana-server
    #启动
    systemctl start grafana-server
    #停止
    systemctl stop grafana-server
    #重启
    systemctl restart grafana-server
  • 访问grafana web ui页面

    grafana url:主机IP:3000

安装alertmanager

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://prometheus.io/download
  • 解压缩

    mkdir -p /data/app
    tar -zxvf alertmanager-0.22.2.linux-amd64.tar.gz -C /data/app
    mv /data/app/alertmanager-0.22.2.linux-amd64 /data/app/alertmanager
    chown -R prometheus:prometheus /data/app/alertmanager
  • 创建alertmanager数据存放目录

    mkdir -p /data/alertmanagerdata
    chown -R prometheus:prometheus /data/alertmanagerdata
  • 创建配置文件

    vim /usr/lib/systemd/system/alertmanager.service
    [Unit]
    Description=prometheus_alertmanager_service
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecStart=/data/app/alertmanager/alertmanager \
    --storage.path=/data/alertmanagerdata  \
    --config.file=/data/app/alertmanager/alertmanager.yml
    
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target​
  • 操作命令

    #开机自启
    systemctl enable alertmanager
    #查看状态
    systemctl status alertmanager
    #启动
    systemctl start alertmanager
    #停止
    systemctl stop alertmanager
    #重启
    systemctl restart alertmanager
  • 访问alertmanager web ui页面

    alertmanager url:主机IP:9093

  • Alerts:查看达到告警阈值的告警项。

  • Silences:配置告警抑制。

  • Status:查看alertmanager状态。

  • Help:帮助手册。

0条评论
0 / 1000
2****m
6文章数
0粉丝数
2****m
6 文章 | 0 粉丝
2****m
6文章数
0粉丝数
2****m
6 文章 | 0 粉丝
原创

安装prometheus监控系统

2024-09-27 09:20:54
73
0

组件介绍

  • prometheus

    Prometheus是一个开源监控解决方案,用于收集和聚合指标作为时间序列数据。Prometheus 通过使用基于拉取的数据获取机制来确定指标的当前值。它会定期轮询支持每个指标的数据源,然后将结果作为新事件存储在时间序列数据库中。

    prometheus架构和生态系统组件如下图所示:

     

    prometheus直接或通过中间推送网关从仪表作业中抓取指标,用于短期作业。它将所有抓取的样本存储在本地,并在这些数据上运行规则,从现有数据中聚合和记录新的时间序列,或者生成警报。

    grafana或其他API消费者可以用来可视化收集的数据。

     

  • node_exporter

    node-exporter用于采集主机的运行指标,包括主机的cpu、load、filesystem、meminfo、network等基础监控指标,类似于zabbix监控系统的的zabbix-agent。

    在prometheus的架构设计中,prometheus并不直接监控特定的目标,其主要任务负责数据的收集、存储并且对外提供数据查询支持。因此为了能够监控到某些指标,如主机的CPU使用率、内存、磁盘,我们需要使用到exporter,prometheus周期性的从exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

  • grafana

    grafana 是一个开源的监控数据分析和可视化套件。最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用于其他需要数据可视化分析的领域。

    grafana 可以帮助你查询、可视化、告警、分析你所在意的指标和数据。可以与整个团队共享,有助于培养团队的数据驱动文化。

  • alertmanager

    alertmanager是一个独立的告警模块,接收prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器。告警方式可以按照不同的规则发送给不同的模块负责人,alertmanager支持email, slack,等告警方式, 也可以通过webhook接入钉钉等工具。

安装prometheus

  • 添加prometheus用户

    useradd prometheus
    chage -M 99999 prometheus
    passwd prometheus

如果是生产环境,必须设置强密码!!!

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://prometheus.io/download
  • 解压缩

    tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /usr/local/
    mv /usr/local/prometheus-2.29.1.linux-amd64 /usr/local/prometheus
    chown -R prometheus:prometheus /usr/local/prometheus
  • 创建prometheus数据存放目录

    mkdir -p /data/prometheus
    chown -R prometheus:prometheus /data
  • 创建配置文件 

    vim /usr/lib/systemd/system/prometheus.service
    [Unit]
    Description=Prometheus
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecReload=/bin/kill -HUP $MAINPID
    ExecStart=/usr/local/prometheus/prometheus \
      --config.file=/usr/local/prometheus/prometheus.yml \
      --storage.tsdb.path=/data/prometheus \
      --storage.tsdb.retention.time=365d \
      --web.listen-address=0.0.0.0:9090 \
      --web.enable-admin-api \
      --web.enable-lifecycle
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
  • 操作命令

    #开机自启
    systemctl enable prometheus
    #查看状态
    systemctl status prometheus
    #启动
    systemctl start prometheus
    #停止
    systemctl stop prometheus
    #重启
    systemctl restart prometheus
  • 访问prometheus web ui页面

    prometheus url:主机IP:9090

  • Alerts:查看prometheus中已配置的告警指标。

  • Graph:通过prometheus语法查看相应监控指标状态。

  • Status:查看prometheus配置参数、实例状态、告警规则等信息。

  • Help:帮助手册。

  • Classic UI:返回经典web ui页面。

安装node_exporter

  • 进入存放压缩包目录

    cd /usr/local/app_install
    #上传文件压缩包
    # 下载链接:https://github.com/prometheus/node_exporter
  • 解压缩

    tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /home/prometheus
    chown -R prometheus:prometheus /home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter
  • 创建node_exporter_script目录(存放自定义脚本)

    mkdir -p /home/prometheus/node_exporter_script
    chown -R prometheus:prometheus /home/prometheus/node_exporter_script
  • 创建node_exporter_textfile目录(存放自定义脚本输出结果)

    mkdir -p /home/prometheus/node_exporter_textfile
    chown -R prometheus:prometheus /home/prometheus/node_exporter_textfile
  • 创建配置文件

    vim /usr/lib/systemd/system/prometheus_node_exporter.service
    [Unit]
    Description=Prometheus node_exporter
    Requires=network.target remote-fs.target
    After=network.target remote-fs.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecStart=/home/prometheus/node_exporter-1.2.2.linux-amd64/node_exporter --collector.textfile.directory=/home/prometheus/node_exporter_textfile
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target​
  • 操作命令
    #开机自启
    systemctl enable prometheus_node_exporter
    #查看状态
    systemctl status prometheus_node_exporter
    #启动
    systemctl start prometheus_node_exporter
    #停止
    systemctl stop prometheus_node_exporter
    #重启
    systemctl restart prometheus_node_exporter
  • 访问node_exporter web ui页面

    node_exporter url:主机IP:9100

配置主机IaaS监控

  • 编辑prometheus配置文件

    vim /usr/local/prometheus/prometheus.yml
    # 静态配置(选择其一即可)
      - job_name: "node_iaas"
        static_configs:
          # node_exporter所在的主机ip:端口
          - targets: ["主机IP:9090","主机IP:9090"]
    
    # 基于文件发现(选择其一即可)
      - job_name: "host_iaas"
        file_sd_configs::
          # node_iaas.yml文件中存有node_exporter所在的主机ip:端口信息
          - files: ['/usr/local/prometheus/monitorInfo/node_iaas.yml']
            refresh_interval: 10s
            
    #node_iaas.yml文件内容:
    - targets: ["主机IP:9090","主机IP:9090"]​
  • 创建node_iaas.yml文件

    vim /usr/local/prometheus/monitorInfo/node_iaas.yml
    - targets: ["主机IP:9090","主机IP:9090"]​
  • 修改node_iaas.yml权限

    chown prometheus:prometheus /usr/local/prometheus/monitorInfo/node_iaas.yml
  • 重启prometheus

    systemctl restart prometheus

安装grafana

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1
  • rpm安装

    yum -y install urw-fonts
    rpm -ivh grafana-enterprise-8.1.8-1.x86_64.rpm
  • 操作命令

    #开机自启
    systemctl enable grafana-server
    #查看状态
    systemctl status grafana-server
    #启动
    systemctl start grafana-server
    #停止
    systemctl stop grafana-server
    #重启
    systemctl restart grafana-server
  • 访问grafana web ui页面

    grafana url:主机IP:3000

安装alertmanager

  • 进入存放压缩包目录

    cd /usr/local/app_install
    # 上传文件压缩包
    # 下载链接:https://prometheus.io/download
  • 解压缩

    mkdir -p /data/app
    tar -zxvf alertmanager-0.22.2.linux-amd64.tar.gz -C /data/app
    mv /data/app/alertmanager-0.22.2.linux-amd64 /data/app/alertmanager
    chown -R prometheus:prometheus /data/app/alertmanager
  • 创建alertmanager数据存放目录

    mkdir -p /data/alertmanagerdata
    chown -R prometheus:prometheus /data/alertmanagerdata
  • 创建配置文件

    vim /usr/lib/systemd/system/alertmanager.service
    [Unit]
    Description=prometheus_alertmanager_service
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    ExecStart=/data/app/alertmanager/alertmanager \
    --storage.path=/data/alertmanagerdata  \
    --config.file=/data/app/alertmanager/alertmanager.yml
    
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target​
  • 操作命令

    #开机自启
    systemctl enable alertmanager
    #查看状态
    systemctl status alertmanager
    #启动
    systemctl start alertmanager
    #停止
    systemctl stop alertmanager
    #重启
    systemctl restart alertmanager
  • 访问alertmanager web ui页面

    alertmanager url:主机IP:9093

  • Alerts:查看达到告警阈值的告警项。

  • Silences:配置告警抑制。

  • Status:查看alertmanager状态。

  • Help:帮助手册。

文章来自个人专栏
123
6 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0