云网牛站
所在位置:首页 > Linux云数据库 > 在CentOS 7/Ubuntu 18.04系统上安装Prometheus服务器的方法

在CentOS 7/Ubuntu 18.04系统上安装Prometheus服务器的方法

2019-02-16 10:11:15作者:陈自坚稿源:云网牛站

本文介绍在CentOS 7/Ubuntu 18.04操作系统上安装Prometheus服务器的方法。我实验室中的所有服务器都将运行CentOS 7,但其他要监控的服务器将运行Ubuntu、Fedora、Debian、Arch甚至Windows服务器,所以为此,我假设你有一个运行CentOS 7的服务器(VM)或LXC容器,可以先参考在RHEL 8系统上安装Prometheus 2.6.0的步骤

 

安装Prometheus服务器的具体方法

1、创建Prometheus系统组

让我们从创建Prometheus系统组开始,你需要使用-r或-system选项和groupadd命令:

sudo groupadd --system prometheus

ID < 1000的组是系统组。

2、创建Prometheus系统用户

现在让我们创建Prometheus系统用户并分配我们刚才创建的主要组:

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

这是一个不需要/bin/bash shell的系统用户,这就是我们使用-s/sbin/nologin的原因。

3、为Prometheus创建数据目录

Prometheus需要一个目录来存储其数据,我们将在/var/lib/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、下载Prometheus Archive并将其解压缩

我们需要下载Prometheus文件并将其解压缩以获取二进制文件,你可以从Prometheus发布的Github页面获取:

sudo yum -y install wget

cd /tmp

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

提取文件:

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

cd prometheus-2.7.1.linux-amd64/

6、将Prometheus二进制文件复制到/usr/local/bin/

由于/usr/local/bin/在$PATH中,让我们将二进制文件复制到它:

sudo cp prometheus promtool /usr/local/bin/

将控制台和console_libraries复制到/etc/prometheus目录:

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

ls /etc/prometheus/

console_libraries consoles rules rules.d files_sd

7、创建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']

你可以将文件编辑为适合自己需求的,然后保存。

8、创建Prometheus systemd服务单元文件

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

# cat /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数。

正式安装:

rm -rf prometheus-2.7.1.linux-amd64.tar.gz

rm -rf prometheus-2.7.1.linux-amd64/

9、更改目录权限

将这些目录的所有权更改为Prometheus用户和组:

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/

10、重新加载systemd守护程序并启动该服务

运行以下命令:

sudo systemctl daemon-reload

sudo systemctl start prometheus

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

在CentOS 7/Ubuntu 18.04系统上安装Prometheus服务器的方法

11、配置firewalld

在防火墙上打开一个端口,对我来说,我将使用firewalld丰富的规则来允许仅从我的可信子网和IP进行访问:

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

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

sudo firewall-cmd --reload

如果我可以在端口9090上访问Prometheus服务,我将从我的Grafana服务器进行测试:

$ sudo yum -y install nmap-ncat

$ sudo nc -v 62.12.112.233 9090

Ncat: Version 6.40 ( http://nmap.org/ncat )

Ncat: Connected to 62.12.112.233:9090.

由于我可以连接到端口9090,这意味着我们的设置已完成。

 

相关主题

使用Prometheus和Grafana监控Linux服务器性能的方法

精选文章
热门文章