创建 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
为 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。
从顶部菜单打开状态 > 目标。
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