摘要
简单了解一下企业级监控系统Prometheus
正文
Prometheus监控系统
一、概述
常见监控系统
- mrtg
- cacti
- ntop
- nagios
- centreon
- ganglia
- open-falcon:小米公司开发
- zabbix
- prometheus
Prometheus是Go语言开发的一套开源监控、报警、时间序列数据库的组合。适合监控Docker容器。
因为Kubernetes(俗称K8S)的流行带动了Prometheus的发展。
时间序列数据:按照时间顺序记录系统、设备状态变化的数据。
应用场景
- 无人驾驶汽车行驶记录,如经度、纬度、速度、方向
- 证券行业实时交易数据
- 实时运维监控数据
基于时间序列数据特点
- 性能好
- 存储成本低
Prometheus的特征
- 多维度数据模型
- 灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自主的
- 以HTTP方式,通过pull模型拉取时间序列数据
- 通过中间网关支持push模型
- 支持多种多样的图表和界面展示
架构图

二、入门
2.1 环境准备
准备三台服务器
- grafana服务器
- prometheus服务器
- 被监控服务器

2.2 安装prometheus
shell
| |
解压
shell
| |
移动
shell
| |
启动
shell
| |
通过ip地址:9090访问界面
查看监控目标

通过prometheus查看cpu监控
为了避免时区的混乱,prometheus所有的组件内部都强制使用Unix时间,对外展示使用UTC时间。
采用Grafana可以避免这个问题。

三、监控Linux主机
3.1 安装
shell
| |
解压
shell
| |
移动
shell
| |
启动
shell
| |
查看是否执行成功,看端口是否被占用
shell
| |
输入ip:端口号/metrics查看监控数据
3.2 添加prometheus监控
修改配置文件
yaml
| |
四、Grafana界面
4.1 安装
shell
| |
启动
shell
| |
查看启动结果
shell
| |
4.2 使用
ip地址:3000进行登录,默认用户名和密码都是admin
4.3 添加prometheus的数据源
添加数据源

做图形展示
点击+号,选择dashboard,添加监控1分钟、15分钟的负载情况

进行保存
