本文主要是针对prometheus的blackbox_exporter,对集群中的服务进行状态的监控

因为OpenShift 3.11版本自己带的promethues修改起来有一些问题,所以自己安装和部署了自己的prometheus和grafana

1.BlackBox安装

blackbox的详细情况可以参考

https://github.com/prometheus/blackbox_exporter

安装过程如下

git clone https://github.com/prometheus/blackbox_exporter.git

https://github.com/prometheus/blackbox_exporter/releases

下载最新版本的blackbox_exporter-0.14.0.linux-amd64.tar.gz , 解压放到相应的目录下,然后构建镜像

docker build -t blackbox_exporter .

blackbox可以直接通过docker run来运行在本地,比如

docker run -d -p : --name blackbox blackbox_exporter

但问题是我们需要针对ocp内部的服务进行监控,因此最好还是作为pod运行在ocp的内部,这样通过服务就可以获取固定的url.

2.Blackbox部署成为Pod

下面三条语句,比较简单了...

oc new-project blackbox
oc import-image blackbox:latest --from=registry.example.com/openshift/blackbox_exporter:latest --insecure --confirm oc new-app blackbox:latest --name=blackbox

完成后看到有个blackbox pod在运行

3.部署prometheus

Prometheus部署使用的是

https://github.com/openshift/origin/tree/master/examples/prometheus

下载相关版本镜像,推送到registry.example.com,然后

oc new-project prometheus
oc new-app -f prometheus.yaml -p NAMESPACE=prometheus

因为原本prometheus的配置是在内部的,为了便于修改,直接放到宿主机上。

将需要监控的url写入到prometheus.yml的配置

配置文件如下

[root@master prometheus]# cat prometheus.yml
rule_files:
- '*.rules'
.....
- job_name: blackbox
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://ericapp1.ericproject1:8080
- http://ericapp2.ericproject1:8080
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox.blackbox:
# Blackbox exporter. alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "localhost:9093"

主要看blackbox这段.

oc create configmap prom-config --from-file=prometheus.yml

oc set volume sts/prometheus  --add --overwrite  --name=config-volume   --mount-path=/etc/prometheus/myconfig  --source='{"configMap": { "name": "prom-config"}}'

然后进入console修改prometheus的yaml

一切完成,进入prometheus的主页面,看到相关的指标

4.部署grafana

可以参考

https://github.com/openshift/origin/tree/master/examples/grafana

https://labs.consol.de/development/2018/01/19/openshift_application_monitoring.html

oc new-project grafana

oc new-app -f grafana.yaml -p NAMESPACE=grafana

oc policy add-role-to-user view system:serviceaccount:grafana:grafana-ocp -n prometheus

登录grafana界面,添加数据源,这个数据源这里折腾了一段时间

因为是走的https,所以必须需要token,这个token值为

[root@master prometheus]# oc sa get-token grafana-ocp
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJncmFmYW5hIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImdyYWZhbmEtb2NwLXRva2VuLXhodDl2Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImdyYWZhbmEtb2NwIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiM2IyYmU5YjQtNThkMS0xMWU5LThlMDQtMDgwMDI3ZGM5OTFhIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmdyYWZhbmE6Z3JhZmFuYS1vY3AifQ.NAf03C7v42aBNrRbwLcIosKDFgv3WyBA2-jZ73RqmX-OyNkshzgkvO6RZDGU7Oi9x27Hu7S69CW-2nZBDqSuCKP_fOyr7pKkOZTHfmgnXQdOeqnG8WSGM5HMbMsLbrAgOMZSehG5jFos-FaJb6jYJwQx485u0ViwWcSN58y7m4unIyrXgvzvjCoFijIjoCcYOvJklZVAsToVIFnevOcXEdJhtoitFiG2Agg4_KSiEUOhhKzyvKCIOLfSZN1UGsicUx_vFmqix8ARmOegILJNdRHksBAXRdReZuaJlJ1-FJnh1j9-QVVSSgw2DP6JrMEhS9gV38VWiWhoizSZLqsgCw

Save Test后一定需要出现is working啊.

New Dashboard

singlestat->edit->metrics,修改options

修改完最后

好啦,搞定!

OpenShift采用Blackbox_exporter进行服务状态监控的更多相关文章

  1. telegraf 学习三 telegra inputs.net_response + smtp2http+ grafana 进行tcp服务状态监控

    以下演示一个简单的使用telegra inputs.net_response 进行tcp 服务状态的监控,统计集成grafana 的alert 为了方便使用了一个smtp2http 的服务,对于htt ...

  2. Nginx服务状态监控

    在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可. 1. 模块安装 先使用命令查看是否已经安装这个模块: [ ...

  3. workerman vmstat服务器状态监控服务

    转载出自 :http://www.workerman.net/workerman-vmstat workerman vmstat服务器状态监控服务 vmstat 命令可以展现服务器的CPU使用率,内存 ...

  4. 使用vsftp与shell实现对进程与服务状态的监控

    先说一下需求吧,公司开发了一款新的产品,新产品嘛,有着不得不出问题的理由,四个云机房,总共三百余台机器,需要实时的监控进程状态,虽然有zabbix来实现,但领导需求是脚本和zabbix一起做,zabb ...

  5. 通过Centreon监控apache、MySQL、Hadoop服务状态

    在上面的章节中,只是简单介绍了Centreon的几个基础监控项,例如添加主机.服务等,这些对于一个监控系统来说是远远不够的,本节将重点介绍对一些扩展服务的监控,也就是对一些常见应用的监控. 一. Na ...

  6. OpenStack 服务心跳机制和状态监控

    参考链接: OpenStack服务心跳机制和状态监控 https://blog.csdn.net/qqhappy8/article/details/79304221

  7. 4. SQL Server数据库状态监控 - 作业状态

    原文:4. SQL Server数据库状态监控 - 作业状态 有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的crontab,各种开发工具里的timer组件.SQL Serv ...

  8. 唱吧DevOps的落地,微服务CI/CD的范本技术解读----最大的难点并不是实际业务代码的编写,而是服务的监控和调试以及容器的编排

    1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...

  9. Java 服务端监控方案(四. Java 篇)

    http://jerrypeng.me/2014/08/08/server-side-java-monitoring-java/ 这个漫长的系列文章今天要迎来最后一篇了,也是真正与 Java 有关的部 ...

随机推荐

  1. Signalr信息推送

    前序 距离上次写文章,差不多已经大半年了.感觉自己越来越懒了,即使有时候空闲下来了,也不想动.前面买了一系列的Python的书,基础的看了大概有四分之一,剩下的基本上还未动,晚上回去也只是吃饭看电影. ...

  2. 易普优高级计划排程Light版助力中小企业实现精益化计划

    易普优高级计划排程Light版助力中小企业实现精益化计划 一.业务与排产需求 根据统计,目前中小企业已经占到我国工业企业总数的95%以上,对中国GDP贡献超过60%,税收超过了50%,提供了70%的进 ...

  3. WIN8+VS2013编写发布WCF、一(编写)、二(部署)、三(调用)

    原文://http://www.cnblogs.com/tntboom/p/4348483.html 引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候, ...

  4. egrep 第几列开始

    第6位开始 egrep -a '^.{5}(0|5)' ${CACSDATA}/outcds.ur5.ca2.txt | sort > ${CACSDATA}/outcds.a.ur5.txt

  5. Sass 和 SCSS 有什么区别?

    Sass 官网上是这样描述 Sass 的: Sass 是一门高于 CSS 的元语言,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法, ...

  6. php最简单最基础入门笔记

    偶然翻到之前刚学php时记录的笔记,特此分享给大家,希望对初学者有所帮助. php网页命名不支持中文 isset($abc)   判断变量是否被定义 empty($abc)    判断变量是否为空 u ...

  7. 百度乐播音乐真实地址查找api接口

    1.百度乐播官网:http://lebo.baidu.com: 随便点击进去一个音乐界面,如:http://lebo.baidu.com/album/9036366 2.chrome浏览器右击'检查' ...

  8. BZOJ3996 TJOI2015线性代数

    先把矩阵式子化简 原式=∑i=1n∑j=1nA[i]∗B[i][j]∗A[j]−∑i=1nA[i]∗C[i] 因此我们发现问题转化为选取一个点所获收益是B[i][j],代价是C[i][j] 这是一个最 ...

  9. Problem A: 象棋比赛

    Description 1月6日,教职工象棋协会在6号楼办了一次比赛,很多老师都参加了.比赛共进行了5轮,赢1局积3分,和了1分,输了0分,你能帮忙算一下各位老师的积分吗? Input 多组测试数据, ...

  10. HDU 5690 All X 数学

    All X 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5690 Description F(x,m) 代表一个全是由数字x组成的m位数字.请计算, ...