Ubuntu 20.04 安装 Prometheus 系统监控工具

Prometheus 是一种开源监控和警报工具,可在时间序列数据库中记录实时指标。 它是用 Go 编写的,并使用强大的查询语言 (PromQL) 来收集矩阵。 Prometheus 有自己的存储系统来存储和管理收集的实时指标。 它允许我们跟踪 CPU 使用情况、内存使用情况、网络 IO 等待时间等。 Prometheus 最初是由 SoundCloud 开发的,后来被多家公司采用。

在这篇文章中,我们将向我们展示 Ubuntu 20.04 上安装 Prometheus 系统监控工具。

先决条件

  • 在 云平台上运行 Ubuntu 20.04 的服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

第 2 步 – 创建 Prometheus 系统用户和目录

建议创建专用用户来运行 Prometheus。 我们可以使用以下命令为 Prometheus 和 Node 导出器创建用户:

useradd --no-create-home --shell /bin/false prome
useradd --no-create-home --shell /bin/false node_exporter

接下来,创建一个目录来存放 Prometheus 配置文件:

mkdir /etc/prometheus
mkdir /var/lib/prometheus

接下来,使用以下命令更改已创建目录的所有权:

chown -R prome:prome /var/lib/prometheus/
chown -R prome:prome /etc/prometheus

第 3 步 – 安装 Prometheus 并配置

首先,从 GitHub 存储库下载最新版本的 Prometheus。

wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

下载完成后,使用以下命令提取下载的文件:

tar -xvzf prometheus-2.31.1.linux-amd64.tar.gz

接下来,复制 Prometheus 二进制文件、配置文件和其他必要的目录:

cp prometheus-2.31.1.linux-amd64/prometheus /usr/local/bin/
cp prometheus-2.31.1.linux-amd64/promtool /usr/local/bin/
cp -r prometheus-2.31.1.linux-amd64/consoles /etc/prometheus
cp -r prometheus-2.31.1.linux-amd64/console_libraries /etc/prometheus
cp prometheus-2.31.1.linux-amd64/prometheus.yml /etc/prometheus/

接下来,更改所有目录和文件的所有权:

chown prome:prome /usr/local/bin/prometheus
chown prome:prome /usr/local/bin/promtool
chown -R prome:prome /etc/prometheus/consoles
chown -R prome:prome /etc/prometheus/console_libraries

我们现在可以使用以下命令验证 Prometheus 安装:

prometheus --version

我们应该在以下输出中获得 Prometheus 版本:

prometheus, version 2.31.1 (branch: HEAD, revision: 411021ada9ab41095923b8d2df9365b632fd40c3)
  build user:       root@9419c9c2d4e0
  build date:       20211105-20:35:02
  go version:       go1.17.3
  platform:         linux/amd64

第 4 步 – 创建 Prometheus Systemd 服务文件

接下来,创建一个 Prometheus systemd 服务文件来管理 Prometheus。

nano /etc/systemd/system/prometheus.service

添加以下行:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prome
Group=prome
ExecReload=/bin/kill -HUP \$MAINPID
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries \
  --web.listen-address=0.0.0.0:9090 \
  --web.external-url=

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,使用以下命令启动并启用 Prometheus 服务:

systemctl start prometheus
systemctl enable prometheus

我们可以使用以下命令检查 Prometheus 服务的状态:

systemctl status prometheus

我们将获得以下输出:

● prometheus.service - Prometheus
     Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-26 04:39:35 UTC; 3s ago
       Docs: https://prometheus.io/docs/introduction/overview/
   Main PID: 14903 (prometheus)
      Tasks: 6 (limit: 2353)
     Memory: 17.3M
     CGroup: /system.slice/prometheus.service
             └─14903 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.con>

Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.124Z caller=head.go:479 level=info component=tsdb msg="Replaying on-disk>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.124Z caller=head.go:513 level=info component=tsdb msg="On-disk memory ma>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.124Z caller=head.go:519 level=info component=tsdb msg="Replaying WAL, th>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.124Z caller=head.go:590 level=info component=tsdb msg="WAL segment loade>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.125Z caller=head.go:596 level=info component=tsdb msg="WAL replay comple>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.127Z caller=main.go:866 level=info fs_type=EXT4_SUPER_MAGIC
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.127Z caller=main.go:869 level=info msg="TSDB started"
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.127Z caller=main.go:996 level=info msg="Loading configuration file" file>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.128Z caller=main.go:1033 level=info msg="Completed loading of configurat>
Nov 26 04:39:35 ubuntu2004 prometheus[14903]: ts=2021-11-26T04:39:35.128Z caller=main.go:811 level=info msg="Server is ready to receive web r>

此时,Prometheus 启动并监听 9090 端口。我们可以使用以下命令进行检查:

ss -antpl | grep 9090

我们将获得以下输出:

LISTEN    0         4096                     *:9090                   *:*        users:(("prometheus",pid=14903,fd=7))                                          

第 5 步 – 访问 Prometheus Web 界面

现在,打开我们的 Web 浏览器并使用 URL http://wer-server-ip:9090 访问 Prometheus Web 界面。 我们应该在以下屏幕上看到 Prometheus 仪表板:
普罗米修斯仪表板

恭喜! 我们已经在 Ubuntu 20.04 上成功安装了 Prometheus 系统监控工具。 我们现在可以添加我们的应用程序或服务并开始从 Prometheus 仪表板监控它们。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论