prometheus
Prometheus是一个开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。
- 多维数据模型(时序列数据由metric名和一组key/value组成)
- 在多维度上灵活的查询语言(PromQl)
- 不依赖分布式存储,单主节点工作.
- 通过基于HTTP的pull方式采集时序数据
- 可以通过push gateway进行时序列数据推送(pushing)
- 可以通过服务发现或者静态配置去获取要采集的目标服务器
- 多种可视化图表及仪表盘支持
- Prometheus通过安装在远程机器上的exporter来收集监控数据,后面我们将使用到node_exporter收集系统数据。
grafana
Grafana 是一个开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点。
安装docker
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
#第一步先卸载以前的doker 如果之前每一安装直接忽略
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
#安装docker
yum install -y docker
#启动docker
systemctl start docker
#查看状态
systemctl status docker
安装node-exporter
#下载镜像
docker pull prom/node-exporter
#运行
docker run -d \
-p 9100:9100 \
quay.io/prometheus/node-exporter
安装redis_exporter
#下载镜像
docker pull oliver006/redis_exporter
#运行
docker run -d \
--name redis_exporter \
-p 9121:9121 \
oliver006/redis_exporter --redis.addr redis://192.168.10.208:6379
安装grafana
#下载镜像
docker pull grafana/grafana
#运行
docker run -d --name=grafana -p 3000:3000 grafana/grafana
grafana的默认账号密码是admin/admin
安装prometheus
有个prometheus.yml需要自己创建位置是/usr/local/src/file/ 这个文件放哪里都可以 到时候指定下就行了
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- job_name: 'redis'
static_configs:
- targets: ['192.168.142.130:9121']
labels:
instance: redis
- job_name: 'linux'
static_configs:
- targets: ['192.168.142.130:9100']
labels:
instance: node
docker操作
#下载镜像
docker pull prom/prometheus
#运行
sudo docker run -d \
-p 9090:9090 \
-v /usr/local/src/file/prometheus.yml:/usr/local/src/file/prometheus.yml \
quay.io/prometheus/prometheus \
--config.file=/usr/local/src/file/prometheus.yml
都运行成功后看下 docker
[root@localhost file]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
654487ad7621 oliver006/redis_exporter "/bin/redis_export..." 2 hours ago Up 31 minutes 0.0.0.0:9121->9121/tcp redis_exporter
11e82881d752 quay.io/prometheus/prometheus "/bin/prometheus -..." 3 hours ago Up 27 minutes 0.0.0.0:9090->9090/tcp priceless_lamport
05d8d6fad0aa grafana/grafana "/run.sh" 3 hours ago Up 31 minutes 0.0.0.0:3000->3000/tcp grafana
d8897ae17fab quay.io/prometheus/node-exporter "/bin/node_exporter" 4 hours ago Up 31 minutes 0.0.0.0:9100->9100/tcp kind_kowalevski
然后打开192.168.142.130:9090 看到图下的up证明都启动好了没啥问题
image.png
然后打开http://192.168.142.130:3000登录 配置 数据源
image.png
redis监控模板 https://grafana.com/api/dashboards/763/revisions/1/download 下载 鼠标放在grafana+点击import导入就行了
image.png
网友评论