prometheus+grafana
【前言】
prometheus+grafana是目前服务监控,数据看板的不二选择。
prometheus官网: https://prometheus.io/
grafana官网: https://grafana.com/
推荐一个比较好的中文教程: https://prometheus.wang/
本文只是总结加修正最新版本使用方法
【prometheus】
prometheus是用来监控各种服务的
推荐docker安装,比较简单
配置文件
首先需要一个配置文件,内容如下,
可以保存为prometheus.yml,
放到需要启动prometheus的服务器上
# 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'
static_configs:
- targets: ['10.0.8.7:9090']
Docker启动
docker启动脚本如下
最后一行docker镜像地址可以换为自己私有库的地址
docker run -d -p 9090:9090 \
--cpus="2" --memory="2g" --restart="always" --name="prometheus" \
-v /home/ubuntu/data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
界面
启动后可以通过9090端口访问到了,界面如下
prometheus自带的界面和elk的使用类似,也可以自己写QL查询
【prometheus-exporter】
上面安装的prometheus是服务端,只负责收集和处理数据,
如果现在要监听某一个服务器的状态,
那么需要再这个服务器上启动一个exporter,
同样的如果要监听mysql,那就需要一个mysql的exporter,
这里启动一个node-exporter,也就是服务器监听
Docker启动
也是推荐docker启动,内容如下
docker run -d \
--net="host" \
--pid="host" \
--mount type=bind,source=/,destination=/host,readonly \
--cpus="2" --memory="2g" --restart="always" --name="prometheus-node-exporter" \
quay.io/prometheus/node-exporter:latest \
--path.rootfs=/host
添加配置
启动后需要在Prometheus的配置文件添加如下内容
这里注意要监听那些服务器,就在targets中添加那些服务器的地址,
地址可以是内网,但是要Prometheus的服务器可以访问到,
或者就是公网可访问到
- job_name: 'node_exporter'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
【grafana】
当上面的prometheus-server和node-exporter配置好后,
就可以在prometheus-server的ui界面通过QL查询了,
但是写QL比较麻烦,
一般会配套grafana使用,
Docker启动
同样推荐Docker启动,内容如下
docker run -d -p 3000:3000 \
--cpus="2" --memory="2g" --restart="always" --name="grafana" \
-v /home/ubuntu/data/prometheus/grafana/config/grafana.ini:/etc/grafana/grafana.ini \
-v /home/ubuntu/data/prometheus/grafana/data:/var/lib/grafana \
grafana/grafana
其中data文件夹用来保存grafana的数据,
避免重启docker后之前的配置都消失
grafana.ini是对应的配置文件
登录
启动后通过3030端口即可访问,
使用admin/admin登录

配置数据源
登录后要做的就是将prometheus配置为数据源,
配置也很简单,将prometheus 9090端口的访问地址配置即可

新建看板
grafana看板可以自己创建,
但是也比较麻烦,
不过grafana贴心的推出了看板库,
可以方便的使用,
例如服务器监控的node-exporter就有很多看板,
地址: https://grafana.com/grafana/dashboards/?search=prometheus+node+exporter
选择某一个看板后下载json

导入看板
然后在自己的grafana中导入这个json,
一个prometheus-server收集梳理数据,
node-exporter上报数据,
grafana可视化的看板就好了,


【总结】
1. 使用docker快速启动prometheus-server端,并通过9090端口访问
2. 使用docker快速启动node-exporter,上报想监听的服务器状态
3. 将node-exporter的地址添加到prometheus.yml配置文件中
4. 使用docker快速启动grafana,并通过3000端口访问
5. 将prometheus的9090可访问地址配置为grafana数据源
6. 在grafana上添加一个prometheus-node-exporter的仪表盘
7. prometheus-server和grafana最好内网可以访问,或者在一台服务器
8. node-exporter的地址可以让prometheus访问到,不管内网还是公网
9. 最终对外的只是grafana
相关推荐
Docker常见命令
docker官网 官网:https://www.docker.com/ hub: https://www.docker.com/products/dockerhub/ docker概念 image:镜像 container:容器,镜像的运行实例 repository:仓库,保存镜像的地方 docke
docker-nginx
【前言】 nginx的docker镜像较多, 本文将业务nginx封装为一个docker镜像。 【选择nginx版本】 alpine alpine是一个精简的linux系统,对应的镜像只有7.73M, nginx对应也有基于alpine的版本, 本文选择基于alpine的版本。 stable ngi
Docker私有仓库
【前言】 在本地熟练使用docker后, 下一步就是将本地的docker image推送到远程,方便在其他地方拉取使用 【常见命令】 上一节中讲了docker的常见命令, 详见: https://blog.insistime.com/dockercmds 【官方docker hub】 docker官
jumpserver
【前言】 jumpserver是热门的开源堡垒机, 如果你有很多服务器需要管理, 并且有安全审计等需求, jumpserver是一个不错的选择。 【安装】 安装很简单,推荐在线安装的方式, 地址: https://community.fit2cloud.com//products/jumpserve
mysql-exporter
【前言】 prometheus+grafana搭建监控体系, 本文介绍监控mysql。 【步骤】 修改mysql exporter配置文件 安装mysql exporter mysql授权 修改prometheus配置文件 添加grafana看板 grafana添加mysql监控看板, 地址: ht
redis-exporter
【前言】 使用prometheus+grafana搭建监控体系, 本文介绍如何监控redis。 【步骤】 安装redis exporter 修改prometheus配置文件 添加grafana看板 给grafana添加默认的redis看板, 地址: https://grafana.com/grafa