如何在CentOS 7上安装和配置Prometheus

时间:2020-02-23 14:38:32  来源:igfitidea点击:

Prometheus是最初在SoundCloud上构建的开源工具包,用于监控和警报。
Toolkit现在是一个独立的开源项目,并独立于任何维护。

Toolkit通过在这些目标上克切HTTP端点来收集来自受监视的目标的指标。
大多数Prometheus组件都是去的。
一些用java,python和ruby编写的。

Prometheus很好地记录任何数值序列。
Prometheus提供丰富的数据模型和查询语言。

以下教程显示在CentOS上安装Prometheus的步骤。

在CentOS 7上安装和配置Prometheus

以root身份登录终端,然后开始触发下面的命令。

第1步更新系统

yum update -y

第2步禁用selinux

打开SELinux配置并编辑文件:

vim /etc/sysconfig/selinux

将"selinux =强制执行"更改为"selinux = disabled"。

保存并退出文件。
然后重新启动系统。

reboot

第3步下载prometheus包

转到官方Prometheus下载页面,并复制Linux"Tar"文件的URL。

Prometheus下载页面

运行以下命令下载包。
在下面的命令中粘贴WGET之后的复制的URL:

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

步骤4配置Prometheus

添加ProMetheus用户。

useradd --no-create-home --shell /bin/false prometheus

创建所需目录。

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

更改上述目录的所有者。

chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus

现在转到Prometheus下载的位置并提取它。

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

根据喜好重命名它。

mv prometheus-2.8.1.linux-amd64 prometheuspackage

将"Prometheus"和"ProMetool"复制到"PrometheUspackage"文件夹中的"PROMTOOL"二进制文件"/usr/local/bin"。

cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/

将所有权更改为Prometheus用户。

chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool

将"console_libraries"中的目录复制到"propetheuspackage"到"/etc/prometheus文件夹"

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

将所有权更改为prometheus用户

chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries

添加和修改Prometheus配置文件。

配置应添加到"/etc/prometheus/prometheus.yml"中

现在我们将创建prometheus.yml文件。

vim /etc/prometheus/prometheus.yml

将以下配置添加到文件中。

global:
  scrape_interval: 10s
scrape_configs:
  - job_name: 'prometheus_master'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

保存并退出该文件

更改文件的所有权。

chown prometheus:prometheus /etc/prometheus/prometheus.yml

配置Prometheus服务文件。

vim /etc/systemd/system/prometheus.service

将以下内容复制到文件。

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
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
[Install]
WantedBy=multi-user.target

保存和退出文件。

重新加载系统服务。

systemctl daemon-reload

启动Prometheus服务。

systemctl start prometheus

检查服务状态。

systemctl status prometheus

地位

添加防火墙规则。

firewall-cmd --zone=public --add-port=9090/tcp --permanent

重新加载防火墙服务。

systemctl reload firewalld

步骤5访问Prometheus Web界面

使用以下URL访问UI。

http://Server-IP:9090/graph

然后,我们可以看到以下界面。

步骤6使用prometheus监视Linux服务器

首先,我们需要在Linux服务器上配置Prometheus节点导出器。

复制节点导出器的URL,请介绍官方下载页面。

节点出口商下载

在以下命令中粘贴WGet后的复制的URL:

wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

提取下载的包。

tar -xvzf node_exporter-0.17.0.linux-amd64.tar.gz

为节点导出器创建用户。

useradd -rs /bin/false nodeusr

从下载的提取包移动到"/usr/local/bin"移动二进制文件。

mv node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/bin/

为节点导出器创建服务文件。

vim /etc/systemd/system/node_exporter.service

将以下内容添加到文件中。

[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nodeusr
Group=nodeusr
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target

保存并退出文件。

重新加载系统守护程序。

systemctl daemon-reload

启动节点出口商服务。

systemctl start node_exporter

添加防火墙规则以允许节点导出器。

firewall-cmd --zone=public --add-port=9100/tcp --permanent

重新加载防火墙服务。

systemctl restart firewalld

启用系统启动时的节点导出器。

systemctl enable node_exporter

查看度量标准浏览节点导出器URL。

http://IP-Address:9100/metrics

节点出口商度量标准

在Prometheus服务器上添加已配置的节点导出器目标。

登录Prometheus Server并修改propetheus.yml文件

编辑文件:

vim /etc/prometheus/prometheus.yml

在Scrape Config下添加以下配置。

- job_name: 'node_exporter_centos'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.94.10.209:9100']

该文件应如下所示。

修改文件

重新启动Prometheus服务。

systemctl restart prometheus

登录Prometheus Server Web界面,然后检查目标。

http://Prometheus-Server-IP:9090/targets

添加目标

我们可以单击图形并查询任何服务器度量标准,然后单击"执行"以显示输出。
它将显示控制台输出。

查询浏览器:

选择查询

控制台输出:

内存控制台输出

单击图形以查看。

步骤7使用Prometheus监视MySQL Server

登录MySQL并执行以下查询。

CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 's56fsg#4W2126&dfk' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;

从官方下载页面下载mysqld_exporter。

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz

提取下载的文件。

tar -xvzf mysqld_exporter-0.11.0.linux-amd64.tar.gz

为mysqld_exporter添加一个用户。

useradd -rs /bin/false mysqld_exporter

将mysqld_exporter文件复制到/usr/bin。

mv mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter /usr/bin

更改文件的所有权。

chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter

创建所需的文件夹。

mkdir -p /etc/mysql_exporter

为mysqld_exporter创建一个mysql密码文件。

vim /etc/mysql_exporter/.my.cnf

将以下配置添加到文件中。

[client]
user=mysqlexporter
password=sdfsg#4W2126&gh

保存并退出文件。

改变所有权。

chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter

补助所需的许可。

chmod 600 /etc/mysql_exporter/.my.cnf

创建服务文件。

vim /etc/systemd/system/mysql_exporter.service

将以下内容添加到文件中。

[Unit]
Description=MySQL Server theitroad
After=network.target
[Service]
User=mysqld_exporter
Group=mysqld_exporter
Type=simple
ExecStart=/usr/bin/mysqld_exporter \
--config.my-cnf="/etc/mysql_exporter/.my.cnf"
Restart=always
[Install]
WantedBy=multi-user.target

重新加载系统守护程序。

systemctl daemon-reload

在系统引导上启用MySQL_Exporter。

systemctl enable mysql_exporter

开始服务。

systemctl start mysql_exporter

使用以下URL查看指标。

http://Server_IP:9104/metrics

现在转到Prometheus Server并修改Prometheus.yml文件。

vim /etc/prometheus/prometheus.yml

将以下内容添加到文件中。

- job_name: 'mysql_exporter_theitroad'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.94.10.204:9104']

重启prometheus。

systemctl restart prometheus

我们可以通过单击状态下的目标来查看添加目标。

http://IP:9090/targets

所有目标

现在,我们可以使用查询浏览器选择查询并获取MySQL Server的结果。