目录:
1、为什么需要监控中心
2、监控中心对比选型
3、集成Prometheus
4、Prometheus原理
为什么需要监控中心
在我们开发完一个系统部署上线后,经常会遇到机器的CPU、内存、磁盘、IO、网络等资源负载过高的问题。那我们总不能说天天对着这些机器,通过一些命令去观察这些机器资源使用的情况。所以我们就需要一个这样的控制中心用来监控我们机器和系统的资源使用情况,通过图形化的界面来直观的去观察这些信息,同时也能设置一些阈值,当资源使用率达到阈值时能进行自动预警。
监控中心组件对比选型
目前比较主流的监控中心就是zabbix和prometheus。
zabbix起源比prometheus早,在传统监控系统中,尤其是在服务器相关监控方面,占据优势,但是对容器监控支持的比较差。zabbix采集的数据存储在关系型数据库,像MySQL、PostgreSQL、Oracle等。
prometheus相对于zabbix来说优点就在于能支持容器监控,并且采集的数据是存储在时序数据库,可以达到每秒千万级别的数据存储。
集成Prometheus
下面基于Prometheus+grafana部署一套可视化监控中心。
安装Prometheus
1、拉取Prometheus镜像
docker pull prom/prometheus
2、启动Prometheus容器
首先创建一个Prometheus的配置文件 prometheus.yml
cd /usr/local/
mkdir prometheus
cd prometheus
vi prometheus.yml
加上如下内容
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
执行下面命令,启动容器
docker run -d -p 9090:9090 -v /usr/local/prometheus/prometheus.yml:/etc/prometheus/prometheus