云网牛站
所在位置:首页 > Linux云数据库 > 在RHEL 8系统上安装Prometheus 2.6.0的步骤

在RHEL 8系统上安装Prometheus 2.6.0的步骤

2019-01-11 10:57:32作者:陈自坚稿源:云网牛站

本文介绍在RHEL 8系统上安装Prometheus 2.6.0监控工具的步骤。

 

简介

Prometheus是一个最初在SoundCloud开发的开源时间序列监视和警报工具包,它是云原生应用程序和微服务的事实监控工具。在不提及Prometheus的情况下,你无法谈论Docker和Kubernetes基础设施监控,为了实现完整的监控,警报和可视化,Grafana通常会融入其中,可以在RHEL 8系统上也安装Grafana,参考在RHEL 8系统上安装Grafana 5.4.2的步骤

 

步骤1:为Prometheus添加系统用户和组

让我们通过创建一个运行和管理Prometheus服务的专用用户,开始在RHEL 8系统上安装Prometheus,这是一个无权访问控制台/shell登录的系统用户:

sudo groupadd --system prometheus

sudo useradd -s /sbin/nologin --system -g prometheus prometheus

请注意,此用户没有/bin/bash shell,这就是我们使用-s /sbin/nologin的原因。

 

第2步:设置NTP服务器

建议在Prometheus服务器上配置NTP服务器以提供准确的时间,参考在RHEL 8系统上使用Chrony配置NTP服务器一文。

 

第3步:为Prometheus创建数据目录

创建系统用户和组后,继续创建将用于存储Prometheus数据的目录,这包括从受监控代理收集的指标:

sudo mkdir /var/lib/prometheus

你可以选择使用不同的路径,例如单独的分区。

 

第4步:为Prometheus创建配置目录

Prometheus主配置文件目录是/etc/prometheus/,它将有一些子目录:

for i in rules rules.d files_sd; do

sudo mkdir -p /etc/prometheus/${i};

done

 

第5步:在RHEL 8系统中下载Prometheus 2.6.0及解压缩安装

我们需要下载最新版本的Prometheus文件并将其解压缩以获取二进制文件,你可以从Prometheus下载地址中找到。

当然,可以使用curl或wget从命令行下载:

sudo yum -y install wget

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

解压缩文件并将其移动到$PATH中的目录:

tar xvf prometheus-2.6.0.linux-amd64.tar.gz

cd prometheus-2.6.0.linux-amd64.tar.gz

sudo cp prometheus promtool /usr/local/bin/

同时将console和console_libraries复制到/etc/prometheus目录:

sudo cp -r consoles/ console_libraries/ /etc/prometheus/

 

第6步:创建Prometheus配置文件

Prometheus配置文件将位于/etc/prometheus/prometheus.yml下,使用下面内容创建简单配置:

# Global config

global: 

scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.  

evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.  

scrape_timeout: 15s  # scrape_timeout is set to the global default (10s).

# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.

scrape_configs:

# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

- job_name: 'prometheus'

# metrics_path defaults to '/metrics'

# scheme defaults to 'http'.

static_configs:

- targets: ['localhost:9090']

对文件进行更改以适合你的初始设置并保存文件。

 

第7步:创建systemd服务单元

为了能够使用systemd管理Prometheus服务,需要明确定义此单元文件。

创建一个文件:

sudo  vim /etc/systemd/system/prometheus.service

增加以下内容在文件中:

[Unit]

Description=Prometheus

Documentation=https://prometheus.io/docs/introduction/overview/

Wants=network-online.target

After=network-online.target

[Service]

Type=simple

Environment="GOMAXPROCS=2"

User=prometheus

Group=prometheus

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

需要编辑上面内容的该行:

Environment="GOMAXPROCS=2

将2替换为服务器上的vcpus数。

设置正确的目录权限:

for i in rules rules.d files_sd; do

sudo chown -R prometheus:prometheus /etc/prometheus/${i};

done

for i in rules rules.d files_sd; do

 sudo chmod -R 775 /etc/prometheus/${i};

done

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

启动Prometheus服务:

sudo systemctl daemon-reload

sudo systemctl start prometheus

使用systemctl status prometheus命令检查状态:

$ systemctl status prometheus.service

在RHEL 8系统上安装Prometheus 2.6.0的步骤

 

第8步:配置firewalld

我将允许使用Firewalld丰富的规则从我的可信网络访问Prometheus管理接口端口9090:

sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \

source address="192.168.122.0/24" port protocol="tcp" port="9090" accept'

sudo firewall-cmd --reload

如果要允许来自任何IP,请使用:

sudo firewall-cmd --add-port=9090/tcp --permanent

sudo firewall-cmd --reload

在浏览器中输入 Prometheus服务器IP/主机名:9090 即可访问Prometheus控制中心,如下:

在RHEL 8系统上安装Prometheus 2.6.0的步骤

至此,在RHEL 8上安装Prometheus的操作全部完成。

 

相关主题

Prometheus入门:开源监控报警系统和时序列数据库

Prometheus进阶:时序列数据库对几个常见的应用进行监控

精选文章
热门文章