48小时系统班试听入口

Linux运维-红帽认证解析之【监控神器安装教程】一文教你普罗米修斯Prometheus的基础应用(内附Linux运维实战资料)

发布作者:新盟教育 发布日期:2021-12-20 浏览人数:15869人

普罗米修斯Prometheus详解



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


功能


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

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

  • 在系统层用作系统监控
    除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。

  • 集成其他的监控
    prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等。



Prometheus架构


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



安装实践过程


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

  • 安装go 语言环境。

  • 在监控服务器上安装prometheus。

  • 在被监控环境上安装export。

  • 安装grafana。


具体安装过程


步骤1:安装go 语言环境


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

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

[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,首先先去官网下载对应系统的版本,如下图:


下载后上传到部署的服务器,在服务上执行如下命令解压(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实现,官网这里有介绍一些第三方的链接:



通过这个可以找oracle的第三方exporter,这是一个git工程:



在这里面找到:



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



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

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,10.1.4.159:3000/



输入默认的admin/admin


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





推荐阅读

>>>新手必备-Linux最常用的20个命令(上)

>>>新手必备-Linux最常用的20个命令(下)

>>>新手必备-Linux【yum】命令

>>>当我自学Linux的时候,我在想什么?

>>>人到中年,能否顺利转型运维工程师


运维界升职加薪必备的云计算技术,你学了吗?


学完高级运维云计算课程之后,你可以:


  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+


资源放送

2021新版Linux运维高级云计算-红帽RHCE实战课程合集,扫描下方二维码即可领取!


文章来源网络 侵删


最后,如果有朋友需要自学,或者没有很好的学习途径,那么可以看一下这个视频:

Linux运维高级云计算-红帽RHCE实战课程合集

这是一个零基础入门的教程,对于刚开始接触Linux运维的同学还是很友好的,希望对你有帮助。