Promethues轻松上手

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

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: 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值