搬砖党的福音:普罗米修斯-监控神器

功能:

  • 在业务层用作埋点系统

Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。

  • 在应用层用作应用监控系统

一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql

  • 在系统层用作系统监控
    除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。
  • 集成其他的监控
    prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等

Prometheus架构:

prometheus是一个用Go编写的时序数据库,可以支持多种语言客户端,架构如下:

下面说一下这个开源软件的安装实践过程,目标如下:

  1. 安装go 语言环境
  2. 在监控服务器上安装prometheus
  3. 在被监控环境上安装export
  4. 安装grafana

具体安装过程如下:

步骤1:安装go 语言环境

由于Prometheus 是用golang开发的,所以首先安装一个go环境,Go语言是跨平台,支持Windows、Linux、Mac OS X等系统,还提供有源码,可编译安装

Windows :go1.8.3.windows-amd64.msi (78MB)

Linux :go1.8.3.linux-amd64.tar.gz (86MB)

Mac :go1.8.3.darwin-amd64.tar.gz (85MB)   (推荐)

Source: go1.8.3.src.tar.gz (15MB)

由于国内需要翻墙:所以我是通过某些国内资源下载的:https://download.csdn.net/download/cuipuke/10048498

下载后,上传到要部署的服务器(部署服务器和外网隔离,所以转了一道)。解压缩然后修改配置文件

[root@archive soft]# tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

[root@archive soft]# vim  /etc/profile

在文件的最后添加如下内容:

export PATH=$PATH:/usr/local/go/bin

保存退出后,接着让配置文件立刻生效:

[root@archive aiops]# source  /etc/profile

验证一下是否成功,用go version 来验证

[root@archive aiops]# go  version

go version go1.8.3 linux/amd64

步骤2:在监控服务器上安装prometheus

开始安装prometheus,首先先去官网下载对应系统的版本:https://prometheus.io/download/,如下图:

下载后上传到部署的服务器,在服务上执行如下命令解压(root用户,解压到 /usr/local):

tar  -vxf  prometheus-2.3.2.linux-amd64.tar.gz  -C /usr/local/

为了以后进入目录方便,做了一个软连接:

ln  -sv  /usr/local/prometheus-2.3.2.linux-amd64/  /usr/local/Prometheus

接着要配置一下监控的配置文件:prometheus.yml

配置完成后,只需要运行起来这个软件:

[root@archive prometheus]# ./prometheus

通过如下URL可以打开prometheus的自带监控界面: IP:9090,点击targets 跳转到监控目标,这里展现了多个监控对象。红框的表示部署的prometheus

说明:上图中117 显示蓝色是因为,117已经安装了export,其他未安装的显示为红色。

步骤3:在系统层用作系统监控exporter

以在159这台主机为例,安装exporter ,这台linux环境是centos,因此用的监控export是node_exporter-0.16.0.linux-amd64.tar.gz  ,首先在官网下载这个文件,然后上传到被监控的主机(作为部署服务的主机上也需要安装 export),因此下载并部署后,执行如下命令:

tar xvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/

nohup /usr/local/node_exporter-0.16.0.linux-amd64/node_exporter &

执行后,我们回到prometheus查看监控目标,可以看到159主机也显示为蓝色了。

启动后,可以看到159主机已经变成蓝色,正常up 状态。其他几台116,117,118 主机也通过先安装go环境,再安装export的方式,进行监控起来。

接下来说一下oracle主机115的监控,Oracle的监控,需要用到第三方写的export。prometheus是开源软件提供了多种语言支持,因此有很多第三方的exporter实现,https://prometheus.io/docs/instrumenting/exporters/ 官网这里有介绍一些第三方的链接:

通过这个可以找oracle的第三方exporter,这是一个git工程https://github.com/iamseth/oracledb_exporter

这里面,找到

通过releases找到适合自己的版本,我直接用的是二进制文件,图中执行这里标红色,参数语法有问题,具体应该如下:

./oracledb_exporter.linux-amd64 -log.level error -web.listen-address IP:9161

下面看一下具体情况:

上传下面文件到部署的服务器(需要有安装oracle客户端,这样才能连的上数据库,这里因为已经安装了oracle客户端,略了客户端安装)

[oracle@localhost soft]$ ls  -ltr

总用量 93296

-rw-r--r-- 1 oracle dba 90029041 9月   5 13:57 go1.8.3.linux-amd64.tar.gz

-rwxr-xr-x 1 oracle dba  5502288 9月   5 13:57 oracledb_exporter.linux-amd64

1、首先安装go 环境,与上面相同,这里略过

2、接着将二进制文件运行起来,步骤如下:

修改执行权限

[root@localhost soft]# chmod +x  oracledb_exporter.linux-amd64

再设置执行的环境变量,命令行直接执行如下命令export:

export DATA_SOURCE_NAME=用户名/密码@数据库服务名

启动服务

./oracledb_exporter.linux-amd64 -log.level error -web.listen-address IP:9161

步骤4:给prometheus换一个面板

下面给监控换一个dashboard,这里用的是grafana,下载地址https://grafana.com/grafana/download

如果部署的服务器可以联网可以直接执行下面命令:

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.3-1.x86_64.rpm 
sudo yum localinstall grafana-5.2.3-1.x86_64.rpm

如果不能,只能先下载再部署。rpm包的安装也很简单,执行如下命令

[root@archive soft]# rpm  -i  grafana-5.2.3-1.x86_64.rpm

接着把grafana加入到系统服务,将服务启动

[root@archive soft]# sudo /sbin/chkconfig --add grafana-server

[root@archive soft]#  sudo service grafana-server start

Starting Grafana Server: ...

启动后,打开如下URL,端口采用默认的3000,http://10.1.4.159:3000/

输入默认的admin/admin

进去后会要求修改密码,然后点击add datasource,选中 Prometheus 2.0 Stats后,就可以呈现如下的监控面板了:

有同事说比较丑。好吧,美丑自在人心,哈哈。

监控神器-普罗米修斯Prometheus的安装的更多相关文章

  1. 普罗米修斯Prometheus监控安装

    普罗米修斯Prometheus监控安装 架构: 服务端:192.168.0.204 客户端:192.168.0.206 环境准备:所有节点安装go 语言环境 rz go1.12.linux-amd64 ...

  2. 一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本 ...

  3. 普罗米修斯!Ubuntu下prometheus监控软件安装使用

    *Prometheus* 是一个开源的服务监控系统和时间序列数据库 官方网站:prometheus.io 一.安装prometheus cd /usr/local/        #进入安装目录 wg ...

  4. 普罗米修斯+grafana监控k8s

    其实现原理有点类似ELK.node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus, prometheus负责存储这些数据,grafana将这些数据通过 ...

  5. Prometheus普罗米修斯快速入门

    欢迎来到普罗米修斯! Prometheus是一个监控平台,通过从监控目标的抓取HTTP端点上获取指标. 本指南将展示如何使用和安装Promethues,配置和监视第一个资源.还将下载并安装导出器Exp ...

  6. 当ABAP遇见普罗米修斯

    Jerry每次在工作场合中同Prometheus(普罗米修斯)打交道时,都会"出戏",因为这个单词给我的第一印象,并不是用go语言实现的微服务监控利器,而是名导雷德利·斯科特(Ri ...

  7. 在Grafana使用普罗米修斯

    aaarticlea/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IE ...

  8. (2012年旧文)纪念史蒂夫乔布斯---IT界的普罗米修斯

    谈苹果与乔布斯系列一  IT界的普罗米修斯 纪念PC界的先驱 史蒂夫乔布斯 2012-4-5 清明节,纪念IT时代的开创人—伟大的史蒂夫 乔布斯. 没有乔布斯,计算机还是属于一群科技人士的工具,没有漂 ...

  9. 记录一次k8s环境尝试过程(初始方案,现在已经做过很多完善,例如普罗米修斯)

    记录一次Team k8s环境搭建过程(初始方案,现在已经做过很多完善,例如普罗米修斯) span::selection, .CodeMirror-line > span > span::s ...

随机推荐

  1. 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目

    前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...

  2. lua日期处理函数

    function day_step(old_day,step)    local y,m,d   if("0" ~= string.sub(old_day,6,6)) then   ...

  3. C# winform中使用Panel调节窗口变化是各控件的位置(转)

    我的目的是在窗口上有些控件,在窗口大小变化时,上面的控件位置不动,大小也不动.下面的控件随着窗口的大小变化而变大. 做法是用两个panel,panelTop和panelFill.上面的控件都放到pan ...

  4. 代理IP爬取和验证(快代理&西刺代理)

    前言 仅仅伪装网页agent是不够的,你还需要一点新东西 今天主要讲解两个比较知名的国内免费IP代理网站:西刺代理&快代理,我们主要的目标是爬取其免费的高匿代理,这些IP有两大特点:免费,不稳 ...

  5. iOS技术面试01:多线程与网络

    1. 多线程的底层实现? 1> 首先搞清楚什么是线程.什么是多线程.多线程的使用场合(线程有时被称为轻量级进程,是程序执行流的最小单元.多线程是指软件或者硬件实现多个线程并发执行的技术.多线程的 ...

  6. 【Kail 学习笔记】自用KAIL更新源

    打开 /etc/apt/source.list 添加-保存即可 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contr ...

  7. Redcon:快速的Redis服务器Go实现

    Fast Redis compatible server framework for Go Redcon is a custom Redis server framework for Go that ...

  8. 关于VS2010工程各种路径注意事项汇总

    关于VS2010工程各种路径注意事项汇总 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:前段时间调试,利用cmake生成的vs2010工程文件,虽然该 ...

  9. bootstrapvalidator API 文档地址: http://bootstrapvalidator.votintsev.ru/api/

    bootstrap验证插件 bootstrapvalidator 文档API 地址 (原始作者英文):http://bootstrapvalidator.votintsev.ru/api/ 具体使用( ...

  10. ERNIE 2.0 理解与使用

    更新中 更新时间:2019-12-06 17:43:27 实验需要,在自己学习的过程中做如下笔记,欢迎指正,欢迎交流. 1. ERNIE简述 ERNIE和BERT一样,也是基于transformer来 ...