Prometheus 普罗米修斯
Prometheus 普罗米修斯
- Prometheus由go语言开发,是一套开源的监控、报警、时间序列数据库的组合。适合监控docker容器。因为Kubernetes (K8S) 的流行带动了prometheus的发展
时间序列数据
- TimeSeries Data,按照时间顺序记录系统、设备状态变化的数据
- 时间序列数据特点
- 性能好,关系型数据库对于大规模数据的处理性能糟糕。NoSQL可以比较好的处理大规模数据,但依然比不上时间序列数据库
- 存储成本低,高效的压缩算法、节省存储空间、有效降低 IO
- Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G
Prometheus特征
- 多维度数据模型
- 灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自主的
- 以HTTP方式,通过pull模型拉取时间序列数据
- 可以通过中间网关支持push模型
- 通过服务发现或者静态配置,来发现目标服务对象
- 支持多种多样的图标和界面展示,需要结合Grafana展示
时间同步
# mount /dev/sro /mnt
# yum install ntpdate -y
# ntpdate cn.ntp.org.cn查看系统时间
# date
查看硬件时间
# clock -r
把系统时间同步给硬件时间
# hwclock --systohc
设置Linux网络环境
编辑网络配置文件
PS:有的克隆不需要修改 # vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=dhcp 改为 BOOTPROTO=static 设置固定ip: IPADDR=192.168.22.23 NETMASK=255.255.255.0 GATEWAY=192.168.22.200 DNS1=8.8.8.8 进行外网通信 DNS2=114.114.114.114因为是克隆,所有修改UUID后三位,随意即可重启网卡 # service network restart
安装Prometheus
下载
- https://prometheus.io/download/
- prometheus-2.34.0.linux-amd64.tar.gz
安装
解压到指定目录
# tar xf prometheus-2.34.0.linux-amd64.tar.gz -C /usr/local/
默认配置文件启动Prometheus
# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" & & 连接符代表后台运行,不占用终端窗口
查看端口占用情况
prometheus默认端口9090 # lsof -i:9090lsof没有安装的话,可以使用下面组合指令查看端口占用情况 # ss -naltp | grep 9090
访问prometheus界面
http://服务器ip:9090
系统默认初始监控自己的主机信息
- 进入界面后 Status 栏目下 Targets
- 获取监控数据是从 http://服务器ip:9090/metrics 接口返回的
prometheus默认监控图像
首页搜索 process_cpu_seconds_total,点击 Execute 查看当前Linux CPU运行情况
net_conntrack_dialer_conn_attempted_total,查看网络连接状态
监控远程Linux主机
被监控端安装 node_exporter组件
- node_exporter 组件用于收集 prometheus 需要的数据
- 主要收集 Linux 系统信息
官网下载
- https://prometheus.io/download/
- node_exporter-1.3.1.linux-amd64.tar.gz
解压安装
# tar xf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local/
启动 node_exporter
# nohup /usr/local/node_exporter/node_exporter & nohup可以让 node_exporter 组件永久运行 node_exporter 默认端口为 9100nohup: ignoring input and appending output to ‘nohup.out’,未启动或异常会把日志追加到 nohup.out查看是否启动成功 # ss -naltp | grep 9100
查看被监控端收集的监控信息
- http://被监控端ip:9100/metrics
在 prometheus服务器配置文件添加被监控机器的配置段
# vim prometheus.yml 文件最后添加 - job_name: 'slave' # 取一个job名称来代表被监控的机器static_configs:- targets: ['192.168.32.129:9100'] # 改为被监控的机器ip修改完配置后重启服务 kill掉prometheus # pkill prometheus 重启 # /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
在 web 管理页面 Status —> Target 即可看到多了一台监控目标
Grafana 可视化图形工具
- Grafana 是一个开源的度量分析、可视化工具,可以通过将采集的数据分析、查询,然后进行可视化的展示并实现报警
- 官网
- https://grafana.com/
使用 Grafana 连接 prometheus
下载
- https://grafana.com/grafana/download
- wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.4.4-1.x86_64.rpm
- https://www.cnblogs.com/biaopei/p/12017150.html 解决wget慢
rpm 安装
# sudo yum install grafana-enterprise-8.4.4-1.x86_64.rpm -y
启动
# systemctl start grafana-server # systemctl enable grafana-server 开机启动查看是否启动,默认端口为 3000 # ss -naltp | grep 3000
打开 web 界面
- 192.168.32.128:3000
登录
- 默认用户名密码均为 admin
添加 prometheus 数据源
- 点击首页 add data source
- 设置数据源、数据源名称、类型、IP地址等
单击右侧齿轮图标,选择 Data sources,查看是否设置成功
给添加好的数据源做图形展示
- 点击右侧加号图标,选择 Dashboard
- Add a new panel
- Data source 选择 Prometheus
- 右上保存图标可以保存设置,ctrl + s 也可以
Grafana + onealert 报警
prometheus 报警需要使用 alertmanager 组件,而且报警规则需要手动编写,所以通常使用 Grafana + onealert报警
报警前要把机器做时间同步
搜索 onealert,进入睿象云,注册账号
登录,点击左侧智能告警平台
新界面点击上方集成,点击左侧Grafana图标
先在 onealert 里添加 grafana 应用
设置应用名称和警告时间,点击保存,拿到AppKey
接下来根据配置步骤配置即可
- 在Grafana主界面左侧,点击铃铛图标,选择Notification channels
- 点击 Add channel设置,url可以在睿象云 AppKey界面下滑配置步骤中复制
- Type可以选择webhook
- Notification settings中选择Include image和Send reminders
- 点击Save
找到dashboard中的图标,点击Edit,点击下方Alert,设置报警阈值,在Notifications中设置报警内容
最后在睿象云中配置通知策略,此时基本报警信息完成
耗费CPU命令测试
# cat /dev/urandom | md5sum
Prometheus 普罗米修斯相关推荐
- 一篇文章搞定Prometheus普罗米修斯监控系统的部署
Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...
- Kubernetes15——Prometheus普罗米修斯UI集群管理
上传镜像到仓库 docker load -i prometheus-operator-v0.35.0.tar docker images | grep bitnami | awk '{system(& ...
- Prometheus普罗米修斯调研笔记
项目简介: Prometheus是最初在SoundCloud上构建的开源系统监控和警报工具: 开源自2012年,许多公司和组织都采用了Prometheus,都拥有非常活跃的开发人员和用户社区: 现在它 ...
- 【监控】Prometheus(普罗米修斯)监控概述
文章目录 一.监控系统概论 二.基础资源监控 2.1.网络监控 2.2.存储监控 2.3.服务器监控 2.4.中间件监控 2.5.应用程序监控(APM) 三.Prometheus 简介 3.1.什么是 ...
- 系统监控——prometheus(普罗米修斯)的部署
系统监控--prometheus的部署 一.prometheus简介 1.优点 2.组件 3.架构 二.环境包准备 三.安装运行 四.网页访问 五.安装图形化界面 一.prometheus简介 pro ...
- Prometheus普罗米修斯部署
prometheus部署 1.获取Prometheus安装包并解压 [root@localhost /]# wget https://github.com/prometheus/prometheus/ ...
- prometheus普罗米修斯集监控外部k8s
prometheus监控k8s集群 实现思路 pod性能: 使用cadvisor进行实现,监控容器的CPU.内存利用率 Node性能: 使用node-exporter实现,主要监控节点CPU. ...
- Prometheus普罗米修斯监控+Alertmanager预警+钉钉预警
简单实操,可直接拷贝命令执行 前提条件: centos7 10.11.7.95 关闭selinux vi /etc/sysconfig/selinuxSELINUX=disabled setenfo ...
- 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控
Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...
最新文章
- memcache缓存服务器(nginx php memcache mysql)
- python conrurrent
- python强大体现在哪些方面-大公司里哪些方面运用了python?
- 用C语言实现三子棋游戏
- oracle查询重复数据出现次数
- 【CF603E】Pastoral Oddities cdq分治+并查集
- 如何解决文件不存在_传奇微端配置Pak密码文件不存在怎么解决?传奇分享汇
- oracle 集群 配置,Oracle集群配置
- 设计模式的功力长了!
- spark学习-30-spark2.2.0的SparkContext初始化
- 洛谷1196 银河英雄传说(并查集)
- 软件测试笔记本硬件,教你全面检测笔记本
- PXA300平台2D图形加速器性能测试与分析
- 2020牛客寒假算法基础集训营4 G - 音乐鉴赏(概率与期望)
- webp格式图片转化为常见的png格式图片
- 搞死SAP系统系列 让系统无法登录
- python输入中文教程_如何用Python从头开始实现一个中文拼音输入法?
- Python带你进入现代人的绝境
- 如何用微信群、微信霸屏进行引流
- c语言寄存器头文件共用重复定义,C语言头文件的使用
热门文章
- 【ASE入门学习】ASE入门系列八——深度渐变
- Java实现哈夫曼编码
- tomcat卸载不干净重新安装失败(check your settings and permissions)
- 极光 php服务器,极光 php推送
- Mysql ERROR 1067: Invalid default value for ‘date’ 解决
- 华为交换机 以太网链路捆绑实验
- hi3518ev300开发板烧写历程
- Android多线程操作操作对象出现空指针问题
- 教您如何使用WebMatrix创建第一个网页
- 解决飞秋在Windows7经常卡死