Prometheus Grafana docker部署
type
status
date
slug
summary
tags
category
icon
password
Prometheus 是一个开源的系统监控和报警系统,在 2012 年由 SoundCloud 公司创建,并于 2015 年正式发布。2016 年,Prometheus 正式加入 CNCF (Cloud Native Computing Foundation),成为继kubernetes之后第二个在CNCF托管的项目, 现已广泛用于在容器和微服务领域中得到了广泛的应用,当然不仅限于此Prometheus 本身基于Go语言开发的一套开源的系统监控报警框架和时序列数据库(TSDB)。
Prometheus 的监控功能很完善和全面,性能也足够支撑上万台规模的集群。
1. Prometheus基本原理
Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。
其大概的工作流程是:
1、Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 metrics,或者接收来自 Pushgateway 发过来的 metrics,或者从其他的 Prometheus server 中拉 metrics。
2、Prometheus server 在本地存储收集到的 metrics,并运行已定义好的 alert.rules,记录新的时间序列或者向 Alertmanager 推送警报。
3、Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
4、在Grafana图形界面中,可视化查看采集数据。
2. 部署Prometheus
2.1 安装docker
安装方式网上很多,可自行查找,本文使用LinuxMirrors的脚本安装,很方便。
- GNU/Linux 更换系统软件源脚本
- Docker 安装脚本
2.2 下载镜像包
2.3 启动prometheus
创建prometheus挂载目录
mkdir -p /data/prometheus
创建prometheus配置文件
启动
查看端口状态
netstat -antupl |grep 9090
访问地址 ip:9090

3. 部署grafana
创建数据挂载目录
mkdir /data/grafana
设置权限
chmod 777 -R /data/grafana
启动grafana
访问地址:ip:3000,默认都是admin

4. 部署node-exporter
访问ip:9100

5. 添加监控节点
在另一台主机上安装docker,并部署node-exporter
修改prometheus配置文件
重启prometheus
sudo docker restart prometheus
访问prometheus status>Target health

6. 添加监控模板
网页登录Grafana
依次点击左侧
Connections
Data source
Add data source
,选择prometheus
输入name 和 ip地址,点击save


点击左上角+号,点击
Import dashboard

下载需要的dashboard页面
- 浏览器访问https://grafana.com/grafana/dashboards/,下载需要的模板

下载json文件,上传json文件

import,展示
