监控神器-普罗米修斯Prometheus的安装

监控神器-普罗米修斯Prometheus的安装  最近看了些AIOPS的资料,对于里面提及的一个普罗米修斯Prometheus起了兴趣,首先是联想到异形,哈哈。去看了一下,普罗米修斯还真是厉害,而且还是开源的,真是搬砖党的福音。功能:在业务层用作埋点系统Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购…

大家好,又见面了,我是你们的朋友全栈君。

   最近看了些AIOPS的资料,对于里面提及的一个普罗米修斯Prometheus起了兴趣,首先是联想到异形,哈哈。去看了一下,普罗米修斯还真是厉害,而且还是开源的,真是搬砖党的福音。

功能:

  • 在业务层用作埋点系统

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

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

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

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

Prometheus架构:

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

监控神器-普罗米修斯Prometheus的安装

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

  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

监控神器-普罗米修斯Prometheus的安装

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

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

监控神器-普罗米修斯Prometheus的安装

 

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

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

监控神器-普罗米修斯Prometheus的安装

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

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

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

监控神器-普罗米修斯Prometheus的安装

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

[root@archive prometheus]# ./prometheus

监控神器-普罗米修斯Prometheus的安装

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

监控神器-普罗米修斯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主机也显示为蓝色了。

监控神器-普罗米修斯Prometheus的安装

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

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

监控神器-普罗米修斯Prometheus的安装

 

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

监控神器-普罗米修斯Prometheus的安装

 

这里面,找到

监控神器-普罗米修斯Prometheus的安装

         通过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

 

监控神器-普罗米修斯Prometheus的安装

步骤4:给prometheus换一个面板

 

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

监控神器-普罗米修斯Prometheus的安装

 

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

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/

监控神器-普罗米修斯Prometheus的安装

输入默认的admin/admin

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

监控神器-普罗米修斯Prometheus的安装

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

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143983.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • lucene分词器中的Analyzer,TokenStream, Tokenizer, TokenFilter

    lucene分词器中的Analyzer,TokenStream, Tokenizer, TokenFilterTokenStream:分词器做好处理之后得到的一个流。这个流中存储了分词的各种信息,可以通过TokenStream有效的获取到分词单元。以下是把文件流转换成分词流(TokenStream)的过程首先,通过Tokenizer来进行分词,不同分词器有着不同的Tokenzier,Tokenzier分完词后,通过TokenFilter对已经分好词的数据进行过滤,比如停止词。过滤完之后,把所有的数据组合成一个TokenStream;

  • PKI体系标准_三体系

    PKI体系标准_三体系转自CSDN.在PKI体系中涉及到四类标准,下面做个简单介绍。1.asn.1基本编码规范Asn.1是描述在网络上传输信息格式的标准方法。它有两个部分:第一部分(X.208)描述信息内的数据、数据类型及序列格式,也就是数据的语法;第二部分(X.209)描述如何将各部分数据组成消息,也就是数据的基本编码规则(DER编码)。Asn.1原来是作为X.409的一部分而开发的,后来独立发展

  • 开发工具-Java SDK下载地址「建议收藏」

    开发工具-Java SDK下载地址「建议收藏」更新记录2022年6月14日加入更多的下载地址。2022年6月10日完善标题。下载地址:https://www.oracle.com/java/technologies/downloads/https://docs.microsoft.com/en-us/java/openjdk/downloadhttps://jdk.java.net/archive/…

    2022年10月20日
  • 请问IOS中做一个手机网站的app壳复杂吗?

    请问IOS中做一个手机网站的app壳复杂吗?

    2021年11月17日
  • Android代码混淆及反编译

    Android代码混淆及反编译如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。

  • SDRAM控制器设计(8)SDRAM控制器仿真验证

    SDRAM控制器设计(8)SDRAM控制器仿真验证到此,简单的可进行读写操作的SDRAM控制器模块就设计好了。接下来,结合仿真模型(镁光官网提供的SDRAM模型)sdr文件,和编写的testbench文件验证所设计的控制器是否正确。testbench如下`timescale1ns/1ns`defineCLK100_PERIOD10modulesdram_control_tb;`include”../src/Sdr…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号