promethues的搭建

由于公司准备以后转向微服务,使用docker集群部署项目。所以监控服务转向prometheus。
ubuntu下prometheus的安装(docker版):

1,安装docker

apt-get install -y docker.io

2,下载prometheus相关的镜像包

docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana

3,启动node-exporter

docker run -d -p 9100:9100
-v "/proc:/host/proc:ro"
-v "/sys:/host/sys:ro"
-v "/:/rootfs:ro"
--net="host"
prom/node-exporter

查看端口是否启动:
netstat -tpln

深度截图_选择区域_20190715165135.png

4,启动prometheus

新建一个目录放prometheus的配置文件
mkdir /opt/prometheus
vim /opt/prometheus/prometheus.yml
配置文件内容:

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: ['192.168.10.5:19090']
  • job_name: 'localhost'
    static_configs:
    • targets: ['192.168.10.5:9100']
  • job_name: 'server1'
    static_configs:
    • targets: ['192.168.10.11:9100']
  • job_name: 'server1_pushgateway'
    static_configs:
    • targets: ['192.168.10.11:9091']
  • job_name: 'server2'
    static_configs:
    • targets: ['192.168.10.110:9100']
  • job_name: 'server2_pushgateway'
    static_configs:
    • targets: ['192.168.10.110:9091']

有时候,prometheus会报错,大部分原因是配置文件yml的格式问题,注意下配置文件中的上下级关系和开头空行,不能使用tab,要用空格键。

启动prometheus
docker run -d
-p 19090:9090
-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
prom/prometheus

查看下端口启动情况
访问下:


深度截图_选择区域_20190715170932.png

查看下服务连接情况:


深度截图_选择区域_20190715171039.png

4,启动grafana

新建一个文件夹,用于存储数据
mkdir /opt/grafana-storage
设置权限
chmod 777 -R /opt/grafana-storage
启动grafana
docker run -d
-p 13000:3000
--name=grafana
-v /opt/grafana-storage:/var/lib/grafana
grafana/grafana

查看端口启动情况
访问:


深度截图_选择区域_20190715171713.png

绑定prometheus:


深度截图_选择区域_20190715171826.png

点击save&Test通过即可

导入官方插件


深度截图_选择区域_20190715172453.png

复制编码到grafana中下载插件


深度截图_选择区域_20190715172549.png
[图片上传中...(深度截图_选择区域_20190715172647.png-3fc5bf-1563182831882-0)]
深度截图_选择区域_20190715172647.png

改变下change,保存下就可以。

选择下你要查看的服务器IP地址:


深度截图_选择区域_20190715172845.png

也可以自定义成自己的IP:


深度截图_选择区域_20190715173041.png

深度截图_选择区域_20190715173114.png

6,使用自定义脚本

docker安装pushgateway:
docker pull prom/pushgateway
docker run -d -p 9091:9091 prom/pushgateway

在被监控机器上编写脚本,下面是我写的监控GPU温度的shell脚本:

!/bin/bash

while true; do
#instance_name=hostname -f | cut -d'.' -f1 #获取本机名,用于后面的的标签
#instance_name=hostname -f | cut -d'.' -f1
label1="server1_gpu1_temperature" #定义key名
server1_gpu1_temperature=(nvidia-smi|awk 'NR==9'|awk '{print3}' |awk -FC '{print1}') #获取gpu1 label2="server1_gpu2_temperature" server1_gpu2_temperature=(nvidia-smi|awk 'NR==12'|awk '{print3}' |awk -FC '{print1}') #获取gpu2
label3="server1_gpu3_temperature"
server1_gpu3_temperature=(nvidia-smi|awk 'NR==15'|awk '{print3}' |awk -FC '{print1}') #获取gpu3 label4="server1_gpu4_temperature" server1_gpu4_temperature=(nvidia-smi|awk 'NR==18'|awk '{print3}' |awk -FC '{print1}') #获取gpu4
#echo temperature1 echo "label1: server1_gpu1_temperature" echo "label2: server1_gpu2_temperature" echo "label3: server1_gpu3_temperature" echo "label4: server1_gpu4_temperature" echo "label1 server1_gpu1_temperature" | curl --data-binary @- http://192.168.10.11:9091/metrics/job/server1_pushgateway/instance/ echo "label2 server1_gpu2_temperature" | curl --data-binary @- http://192.168.10.11:9091/metrics/job/server1_pushgateway/instance/ echo "label3 server1_gpu3_temperature" | curl --data-binary @- http://192.168.10.11:9091/metrics/job/server1_pushgateway/instance/ echo "label4 $server1_gpu4_temperature" | curl --data-binary @- http://192.168.10.11:9091/metrics/job/server1_pushgateway/instance/
sleep 10;
done

深度截图_选择区域_20190715173703.png

重启pushgateway和prometheus。
在prometheus上能搜到自定义的脚本


深度截图_选择区域_20190715173849.png

在grafana上制作GPU温度表


深度截图_选择区域_20190715173932.png

深度截图_选择区域_20190715173950.png

7,使用grafana的报警推送到钉钉上。

深度截图_选择区域_20190715174138.png

深度截图_选择区域_20190715174236.png

在grafana上添加钉钉报警


深度截图_选择区域_20190715174407.png

把钉钉机器人的webhook粘贴到dingding settings的url中


深度截图_选择区域_20190715174513.png

在表格中添加报警


深度截图_选择区域_20190715174711.png

在钉钉上正常接受到报警


深度截图_选择区域_20190715174742.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容