Promethues 概述
Promethues是什么?
1.它是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。
2.它使用Go语言开发,是Google BorgMon监控系统的开源版本。
Promethues的特点?
易于管理
易于集成
强大的数据模型
强大的数据查询语言 PromQL
高效
可扩展
Promethues的应用场景?
Prometheus是在Kubernetes后孕育而来,在原生上支持容器编排和云环境。
所以它主要用于容器监控和k8s集群监控以及云环境的监控(OpenStack)。
Promethues的组件
他的组件是可以独立工作的,每个组件都不依赖其他的组件
配置文件来将不同的模块关联到一起,实现整个监控的功能
每个独立的模块都可以扩展,做高可用方案
Promethues Server:收集指标和存储时间序列数据,并提供查询接口
ClientLibrary:客户端库
Push Gateway:短期存储指标数据。主要用于临时新任务
Exportes:采集已有的第三方访问监控指标并暴露metrics
Altermanger:告警
Web UI:简单的web控制台
Promethues 部署
官网:https://prometheus.io/
安装 Prometheus Server
软件包名为prometheus-2.29.1.linux-amd64.tar.gz
1.创建安装包目录
mkdir -p /opt/apk
2.上传文件至apk目录
3.解压到/home/目录下
tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /home/
4.修改配置文件prometheus.yml:
cd /home/prometheus-2.29.1.linux-amd64/
vi prometheus.yml
#核心服务
- job_name: "prometheus"
static_configs:
- targets: ["192.168.1.117:9090"]
#存储数据
- job_name: "pushgateway"
static_configs:
- targets: ['192.168.1.117:9091']
labels:
instance: pushgateway
#监控节点
- job_name: 'node exporter'
static_configs:
- targets: ['192.168.1.117:9100', '192.168.1.112:9100', '192.168.1.113:9100']
安装Pushgateway
软件包名为pushgateway-1.4.1.linux-amd64.tar.gz
1.上传安装包至apk目录
2.解压到/home/目录下
tar -zxvf pushgateway-1.4.1.linux-amd64.tar.gz -C /home/
安装 Node_Exporter
软件包名node_exporter-1.2.2.linux-amd64.tar.gz
1.上传至apk目录下
2.解压到/home/目录下
tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /home/
3.启动node_exporter
cd /home/node_exporter-1.2.2.linux-amd64/
./node_exporter
通过页面查看是否成功执行:浏览器输入:http://主机地址:9100/metrics,可以看到当前 node exporter 获取到的当前主机的所有监控数据。
封装 Prometheus Server成系统服务
# 创建service 文件
sudo vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=prometheus
Documentation=https://prometheus.io/docs/introduction/overview
Wants=network-online.target
After=network.target
[Service]
Type=simple
User=root
ExecStart=/home/promethues/prometheus-2.29.1/prometheus --config.file=/home/promethues/prometheus-2.29.1/prometheus.yml --web.listen-address=0.0.0.0:9090 --storage.tsdb.path=/home/promethues/prometheus-2.29.1/data/ --web.enable-lifecycle
Restart=on-failure
#ExecStart=核心服务文件
#--config.file=读取服务配置文件路径
#--web.listen-address=0.0.0.0:9090=监听端口
#--storage.tsdb.path数据存档目录
[Install]
WantedBy=multi-user.target
封装node_exporter成系统服务
# 创建service 文件
sudo vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target
[Service]
Type=simple
User=root //主机用户
ExecStart= /home/node_exporter-1.2.2.linux-amd64.tar/node_exporter //服务路径
Restart=on-failure
[Install]
WantedBy=multi-user.target
封装Pushgateway为系统服务
# 创建service 文件
sudo vim /usr/lib/systemd/system/pushgateway.service
[Unit]
Description=pushgateway
Documentation=https://github.com/prometheus/pushgateway
After=network.target
[Service]
Type=simple
User=root
ExecStart=/home/promethues/pushgateway-1.4.1/pushgateway
Restart=on-failure
[Install]
WantedBy=multi-user.target
node_exporter分发给需要监控的机器
分发软件:
rsync -av /home/node_exporter-1.2.2.linux-amd64.tar cli1:/home/
rsync -av /home/node_exporter-1.2.2.linux-amd64.tar cli2:/home/
分发自启动服务:
rsync -av /usr/lib/systemd/system/node_exporter.service cli1:/usr/lib/systemd/system/node_exporter.service
rsync -av /usr/lib/systemd/system/node_exporter.service cli2:/usr/lib/systemd/system/node_exporter.service
启动prometheus,pushgateway,node_exporte
systemctl restart node_exporter.service
systemctl restart prometheus
systemctl restart pushgateway
浏览器输入:http://主机地址:9090/
点击 Status,选中 Targets:

本文介绍了Prometheus的基本概念,包括其特点和应用场景,并详细阐述了Prometheus的部署过程,包括Prometheus Server、Pushgateway和Node_Exporter的安装及封装为系统服务。

1万+

被折叠的 条评论
为什么被折叠?



