创建 Prometheus 用户和目录

创建一个 Linux 用户来拥有 Prometheus 软件和进程。

# useradd --no-create-home -s /bin/false prometheus

创建所需的 Prometheus 目录并调整所有权。

# mkdir /etc/prometheus
# mkdir /var/lib/prometheus
# chown prometheus:prometheus /etc/prometheus
# chown prometheus:prometheus /var/lib/prometheus

在 Linux 上安装 Prometheus 系统监控工具

我们可以从 Prometheus 官网免费下载系统监控工具。

我们可以使用 wget 命令直接从 Linux CLI 下载 Prometheus tar包。
如果我们没有 wget 命令,则使用 dnf 命令安装它。

# wget https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz -P /tmp

将下载的 tar包 解压到 /var/lib/prometheus 目录中。

# tar -xf /tmp/prometheus-2.29.2.linux-amd64.tar.gz -C /var/lib/prometheus/ --strip-components=1

调整提取文件的所有权。

# chown -R prometheus:prometheus /var/lib/prometheus

将 Prometheus 配置文件移动到 /etc/prometheus 目录。

# mv /var/lib/prometheus/prometheus.yml /etc/prometheus/

检查 prometheus.yml 文件中的默认配置。

# grep -v '#' /etc/prometheus/prometheus.yml
global:
alerting:
  alertmanagers:
    - static_configs:
        - targets:
rule_files:
scrape_configs:
  - job_name: "prometheus"

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

在 /usr/bin 目录中为 Prometheus 命令创建符号链接,使它们可以从任何路径全局执行。

# cp -s /var/lib/prometheus/prometheus /usr/bin
# cp -s /var/lib/prometheus/promtool /usr/bin

将 SELinux 目标策略切换到permissive模式

Prometheus 目前不包含官方 SELinux 政策。
因此,我们必须禁用 SELinux 或者将其切换到许可模式才能使网络监控软件正常运行。

我们可以在 Linux Bash 提示符下执行以下命令,将 SELinux 目标策略切换到许可模式。

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
# setenforce permissive
https://onitroad.com 更多教程

为 Prometheus 创建 Systemd 服务单元

要启用 Prometheus 服务器的自动启动,我们需要创建 systemd 服务单元。

# vi /usr/lib/systemd/system/prometheus.service

在此文件中添加以下指令。

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/var/lib/prometheus/consoles \
--web.console.libraries=/var/lib/prometheus/console_libraries
[Install]
WantedBy=multi-user.target

启用并启动 Prometheus 服务。

# systemctl enable --now prometheus.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /usr/lib/systemd/system/prometheus.service.

为 Prometheus 配置 Linux 防火墙

此网络监控服务器使用默认端口 9090/tcp 。
因此,有必要允许它的 Linux 防火墙使其可跨网络访问。

# firewall-cmd --permanent --add-port=9090/tcp
success
# firewall-cmd --reload
success

在 Web 浏览器中打开 URL http://prometheus-01.onitroad.com。

从顶部菜单打开状态 > 目标。

在 CentOS/RHEL 8 上安装 Prometheus 系统监控工具

Prometheus 是一个开源系统监控和警报工具。
在这里,我们将学习如何在 CentOS/RHEL 8 或者类似的 Linux 发行版上安装 Prometheus。

在 Linux 上安装节点导出器

Node Exporter 是一个 Prometheus 导出器,用于服务器级别和级别指标,带有可配置的指标收集器。

它帮助我们测量各种服务器资源,例如 内存、磁盘空间和 CPU 利用率。

我们需要在 Prometheus 服务器上安装 node_exporter 以收集指标。

为节点导出器软件创建目录。

# mkdir -p /var/lib/prometheus/node_exporter

从 Prometheus 网站下载 Node Exporter tar包。

# wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz -P /tmp

将下载的 tar包 解压到 /var/lib/prometheus/node_exporter/ 目录中。

# tar xf /tmp/node_exporter-1.2.2.linux-amd64.tar.gz -C /var/lib/prometheus/node_exporter/ --strip-components=1

调整目录所有权。

# chown -R prometheus:prometheus /var/lib/prometheus/node_exporter/

在 /usr/bin 目录中为 node_exporter 创建符号链接。

# cp -s /var/lib/prometheus/node_exporter/node_exporter /usr/bin/

启用 node_exporter 进程的自动启动,创建一个 systemd 服务单元。

# vi /usr/lib/systemd/system/node_exporter.service

在此文件中添加以下代码行。

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=default.target

启用并启动节点导出器服务。

# systemctl enable --now node_exporter.service
Created symlink /etc/systemd/system/default.target.wants/node_exporter.service → /usr/lib/systemd/system/node_exporter.service.

配置 Linux 防火墙以允许 node_exporter 默认端口 9100/tcp 。

# firewall-cmd --permanent --add-port=9100/tcp
success
# firewall-cmd --reload
success

在 vim 文本编辑器中编辑 Prometheus 配置文件。

# vi /etc/prometheus/prometheus.yml

在此文件中添加 node_exporter 端点配置。

- job_name: 'node_exporter'
    static_configs:
    - targets: ['localhost:9100']

重启 Prometheus 服务以加载新配置。

# systemctl restart prometheus.service
日期:2020-09-17 00:16:45 来源:oir作者:oir