图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)

bashendan
发布于 2023-11-30 10:31
浏览
0收藏

一、环境介绍

本文环境,以及本文所采用数据库为​​GreatSQL 8.0.32-24​

$ cat /etc/system-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
$ uname -a
Linux gip 3.10.0-1160.el7.x86_64 #1 SMP Tue Aug 18 14:50:17 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
$ ldd --version
ldd (GNU libc) 2.17

二、手动安装

0.简单介绍

  • Prometheus Server: 用于收集和存储时间序列数据。
  • Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当Prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • Push Gateway: 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接收方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。

网上介绍很多这里就不再过多介绍了

1.安装Prometheus

官网下载最新二进制安装包➥ ​https://prometheus.io/download/

可以看到有很多的版本,这里选择LTS的版本,LTS在软件版本中通常表示​​Long Term Support​​,即长期支持版本。

对于Prometheus来说。LTS版本表示这个版本会获得更长期的支持和维护,而非LTS版本则更新频繁。新特性来得快。但稳定性和支持周期较短,所以在追求稳定的生产环境中。建议优先考虑使用LTS长期支持版本。

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

这里选择二进制软件包​​prometheus-2.45.0.linux-amd64.tar.gz​

$ mkdir /usr/local/prometheus
$ cd /usr/local/prometheus
$ wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.ta

下载完成后,用​​sha256sum​​校验一下安装包,没问题的话解压即可

$ sha256sum prometheus-2.45.0.linux-amd64.tar.gz
1c7f489a3cc919c1ed0df2ae673a280309dc4a3eaa6ee3411e7d1f4bdec4d4c5
$ tar xvf prometheus-2.45.0.linux-amd64.tar.gz 

建议使用Systemd来管理守护进程Prometheus服务

若文件路径或名字和本文不同记得修改

$ vi /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
Type=simple
User=root
Group=root
Restart=on-abnormal
ExecStart=/usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus \
  --config.file=/usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus.yml \
  --storage.tsdb.path=/usr/local/prometheus/prometheus-2.45.0.linux-amd64/data \
  --storage.tsdb.retention.time=60d \
  --web.enable-lifecycle

[Install]
WantedBy=multi-user.target

使用​​$ ./prometheus -h​​ 就可以看到帮助信息

通知Systemd重新加载配置文件

$ systemctl daemon-reload

以下为相关Systemd命令
$ systemctl enable prometheus # 设置为开机自启
$ systemctl disable prometheus # 关闭开机自启
$ systemctl start prometheus # 开启服务
$ systemctl status prometheus # 查看状态
$ systemctl restart prometheus # 重启服务
$ systemctl stop prometheus # 停止服务

启动​​Prometheus server​​​,并查看是否启动成功​​active (running)​

$ systemctl start prometheus.service

$ systemctl status prometheus.service
● prometheus.service - Prometheus server
   Loaded: loaded (/usr/lib/systemd/system/prometheus.service; disabled; vendor preset: disabled)
   Active: active (running) since 三 2023-09-06 16:14:34 CST; 2s ago
     Docs: https://prometheus.io/docs/introduction/overview/
 Main PID: 21472 (prometheus)
   CGroup: /system.slice/prometheus.service
           └─21472 /usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus --config.file=/usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus.yml --storage.tsdb.path=/usr/local/pr...
#下方省略

若启动失败可自行排查 ​​$ journalctl -u prometheus.service -f​

访问地址

名称

地址

prometheus

​http://172.17.137.104:9090/​

监控指标

​http://172.17.137.104:9090/metrics​

界面如下

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

安装完成Prometheus,接下来安装Alertmanager

2.安装Alertmanager

官网下载➥ ​https://prometheus.io/download/

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

这里我们选择​​alertmanager-0.26.0.linux-amd64.tar.gz​

$ cd /usr/local/prometheus
$ wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz

下载完成后,用​​sha256sum​​校验一下安装包,没问题的话解压即可

$ sha256sum alertmanager-0.26.0.linux-amd64.tar.gz
abd73e2ee6bf67d3888699660abbecba7b076bf1f9459a3a8999d493b149ffa6
$ tar xvf alertmanager-0.26.0.linux-amd64.tar.gz

建议使用Systemd来管理守护进程Alertmanager服务

若文件路径或名字,和下方示例不同记得修改

$ vi /lib/systemd/system/alertmanager.service
[Unit]
Description=Alert Manager
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/usr/local/prometheus/alertmanager-0.26.0.linux-amd64/alertmanager \
  --config.file=/usr/local/prometheus/alertmanager-0.26.0.linux-amd64/alertmanager.yml \
  --storage.path=/usr/local/prometheus/alertmanager-0.26.0.linux-amd64/data

[Install]
WantedBy=multi-user.target

通知Systemd重新加载配置文件

$ systemctl daemon-reload

启动​​alertmanager.service​

$ systemctl start alertmanager.service

若启动失败可自行排查​​journalctl -u alertmanager.service -f​

访问地址

应用名称

地址

Alertmanager

​http://172.17.137.104:9093/​

Alertmanager界面如下

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

添加Prometheus配置

因为我们安装了Alertmanager,所以需要添加到Prometheus里面

$ vi /usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus.yml

把​​# - alertmanager:9093​​​修改为​​localhost:9093​

因为我们是装在同一个机器上,所以是localhost,若安装不在同一个机器上请修改为正确IP地址

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          - localhost:9093 <--修改这里,注意缩进

注意!yml文件是有缩进格式的,修改时不要打乱原有格式

在​​rule_files:​​​添加​​- "alert.yml"​​,前面缩进只需保留两格!

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "alert.yml"  <--添加这里,注意缩进2格即可
  # - "first_rules.yml"
  # - "second_rules.yml"

增加触发器配置文件

编辑新文件​​alert.yml​​添加以下内容,注意格式缩进

$ vi /usr/local/prometheus/prometheus-2.45.0.linux-amd64/alert.yml

groups:
- name: Prometheus alert
  rules:
  # 任何实例超过30s无法联系的情况发出告警
  - alert: 服务告警
    expr: up == 0
    for: 30s
    labels:
      severity: critical
    annotations:
      instance: "{{ $labels.instance  }}"
      description: "{{ $labels.job  }} 服务已关闭"

检查一下配置文件,与下方一致即为成功

$ cd /usr/local/prometheus/prometheus-2.45.0.linux-amd64
$ ./promtool check config prometheus.yml
Checking prometheus.yml
  SUCCESS: 1 rule files found
 SUCCESS: prometheus.yml is valid prometheus config file syntax

Checking alert.yml
  SUCCESS: 1 rules found

接下来重启一下Prometheus或重新加载配置文件

$ systemctl restart prometheus
# 二选一即可
$ curl -X POST http://localhost:9090/-/reload

再次访问​​http://172.17.137.104:9093/​​​,并检查​​Status​​,确认没有问题

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

3.安装Grafana

官网下载Grafana➥ ​https://grafana.com/grafana/download

进入官网后选择Linux,下方会展示出安装方式,这里选择二进制的方式安装

$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.1.1.linux-amd64.tar.gz
$ tar -zxvf grafana-enterprise-10.1.1.linux-amd64.tar.gz

创建 Systemd 服务

$ vi /lib/systemd/system/grafana-server.service
[Unit]
Description=Grafana server
Documentation=https://doce.grafana.org

[Service]
Type=simple
User=root
Group=root
Restart=on-abnormal
ExecStart=/usr/local/prometheus/grafana-10.1.1/bin/grafana-server \
  --config=/usr/local/prometheus/grafana-10.1.1/conf/defaults.ini \
  --homepath=/usr/local/prometheus/grafana-10.1.1

[Install]
WantedBy=multi-user.target

通知 Systemd 重新加载配置文件

$ systemctl daemon-reload

启动​​grafana-server.service​

$ systemctl start grafana-server.service

若启动失败可自行排查​​journalctl -u grafana-server.service -f​

访问地址:

应用名称

地址

Grafana

​http://172.17.137.104:3000/​

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

没问题安装成功!

4.安装node_exporter

下载node_exporter➥ ​https://prometheus.io/download/

下拉网页找到​​node_exporter​​选择对应文件名下载即可

$ wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
#验证一下是否下载完整
$ sha256sum node_exporter-1.6.1.linux-amd64.tar.gz
$ tar -xvf node_exporter-1.6.1.linux-amd64.tar.gz

创建 Systemd 服务

$ vi /lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
Restart=on-abnormal
ExecStart=/usr/local/prometheus/node_exporter-1.6.1.linux-amd64/node_exporter

[Install]
WantedBy=multi-user.target

通知 Systemd 重新加载配置文件

$ systemctl daemon-reload

启动​​alertmanager.service​

$ systemctl start node_exporter.service

若启动失败可自行排查​​journalctl -u node_exporter.service -f​

node_exporter访问地址

应用名称

地址

node_exporter

​http://172.17.137.104:9100/metrics​

添加Prometheus配置

安装完成后还需要添加Prometheus配置,为避免大家打错,这里采用追加写入

$ cat >> /usr/local/prometheus/prometheus-2.45.0.linux-amd64/prometheus.yml <<"EOF"
# 在scrape_configs这行下面添加配置
  - job_name: "node-exporter"
    scrape_interval: 15s
    static_configs:
      - targets: ["localhost:9100"]
        labels:
          instance: prometheus服务器
EOF

重载Prometheus配置

$ curl -X POST http://localhost:9090/-/reload

Prometheus web上检查一下​​ http://172.17.137.104:9090/
​​点击​​Status​​​->​​Targets​

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

可以看到有node_exporter,以及可以检查下我们配置的触发器​Alerts​->勾选​Inactive​

图文结合丨Prometheus+Grafana+GreatSQL性能监控系统搭建指南(上)-鸿蒙开发者社区

至此,通过二进制安装Prometheus就到此完成!



文章转载自公众号:GreatSQL社区

分类
标签
已于2023-11-30 10:31:40修改
收藏
回复
举报
回复
    相关推荐