如何在CentOS 7上安装和配置Prometheus
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的结果。