一,prometheus的用途

Prometheus是一个开源的系统监控和警报工具包

相比其他监控系统,它更适用于微服务的体系架构

它使用各种专用exporter,用来实现对硬件/存储/数据库/web服务等的监控

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,下载prometheus

1,官网:

https://prometheus.io/

2,prometheus的软件下载地址

https://prometheus.io/download/

3,下载

下载到源代码目录下

[root@blog prometheus]# pwd
/usr/local/source/prometheus
[root@blog prometheus]# wget https://github.com/prometheus/prometheus/releases/download/v2.18.1/prometheus-2.18.1.linux-amd64.tar.gz

三,安装prometheus

1,解压缩

[root@blog prometheus]# tar -zxvf prometheus-2.18.1.linux-amd64.tar.gz

2,移动到软件的安装目录

[root@blog prometheus]# mv prometheus-2.18.1.linux-amd64 /usr/local/soft/

四,配置prometheus

查看配置文件

[root@blog prometheus-2.18.1.linux-amd64]# more prometheus.yml

内容

...
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']

因为默认的配置文件中已经有prometheus自身的信息配置,

所以无需修改

五,用systemd管理prometheus服务

1,创建service文件

[root@blog ~]# vi /usr/lib/systemd/system/prometheus.service

内容:

[Unit]
Description=prometheus
After=network.target [Service]
Type=simple
ExecStart=/usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus --config.file="/usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus.yml"
LimitNOFILE=65536
PrivateTmp=true
RestartSec=2
StartLimitInterval=0
Restart=always [Install]
WantedBy=multi-user.target

说明:注意把软件的路径替换成自己prometheus安装的路径

2,重新加载服务列表

[root@blog ~]# systemctl daemon-reload

3,启动服务

[root@blog ~]# systemctl start prometheus.service 

六,测试服务端安装效果

1,查看版本

[root@blog ~]# /usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus --version
prometheus, version 2.18.1 (branch: HEAD, revision: ecee9c8abfd118f139014cb1b174b08db3f342cf)
build user: root@2117a9e64a7e
build date: 20200507-16:51:47
go version: go1.14.2

2,查看帮助:

[root@blog ~]# /usr/local/soft/prometheus-2.18.1.linux-amd64/prometheus --help 

3,登录到图形管理界面:

访问下面的地址:注意把ip替换成自己服务器的ip

http://121.122.123.47:9090/targets

查看截图:

七,安装客户端(各步骤在客户端操作)

1,常用的几个exporter

node_exporter: 监控操作系统的性能和运行状态
            mysqld_exporter:监控 mysql 服务
            snmp_exporter: 监控网络设备

这里以安装node_exporter为例:

2,下载node_exporter

[root@cacheServer prometheus]# pwd
/usr/local/source/prometheus
[root@cacheServer prometheus]# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.0/node_exporter-1.0.0.linux-amd64.tar.gz

3,安装node_exporter:

解压缩

[root@cacheServer prometheus]# tar -zxvf node_exporter-1.0.0.linux-amd64.tar.gz

移动到安装目录

[root@cacheServer prometheus]# mv node_exporter-1.0.0.linux-amd64 /usr/local/soft/

查看node_exporter的版本:

[root@cacheServer ~]# /usr/local/soft/node_exporter-1.0.0.linux-amd64/node_exporter --version
node_exporter, version 1.0.0 (branch: HEAD, revision: b9c96706a7425383902b6143d097cf6d7cfd1960)
build user: root@3e55cc20ccc0
build date: 20200526-06:01:48
go version: go1.14.3

5,启动:

#nohup:忽略所有挂断(SIGHUP)信号

#&:把进程扔到后台执行

[root@cacheServer prometheus]# nohup /usr/local/soft/node_exporter-1.0.0.linux-amd64/node_exporter &  

因为我用来安装客户端的这台机器OS版本是centos6.5,所以我们就不再编写service文件,

如果大家的客户端机器是centos7或centos8,可以参考这个内容:

[Unit]
Description=node_exporter
After=network.target [Service]
Type=simple
ExecStart=/usr/local/soft/node_exporter-1.0.0.linux-amd64/node_exporter
PrivateTmp=true
RestartSec=5
StartLimitInterval=0
Restart=always [Install]
WantedBy=multi-user.target

判断启动是否成功?

[root@cacheServer ~]# ss -lntp | grep 9100
LISTEN 0 128 *:9100 *:* users:(("node_exporter",6440,3))

经检查可以发现node_exporter已经守护在了9100端口了

八,在prometheus服务端为新增的客户端添加配置(在服务端操作)

说明:服务端在获取客户端的数据之前,必须能访问客户端上的9100端口,

大家应该先用telnet测试能否访问,如果不能访问,

请先检查客户端防火墙是否放开了从服务端ip到客户端ip及端口的访问

例:

[root@blog ~]$ telnet 121.122.123.118 9100
Trying 121.122.123.118...
Connected to 121.122.123.118.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

编辑prometheus服务端的配置文件

[root@blog ~]# cd /usr/local/soft/prometheus-2.18.1.linux-amd64/
[root@blog prometheus-2.18.1.linux-amd64]# vi prometheus.yml

在下增加一段针对118这个node_exporter的job:注意把ip换成自己安装node_exporter客户端的ip

- job_name: '118node'
static_configs:
- targets: ['121.122.123.118:9100']

说明:添加到配置文件中时要注意缩进

编辑完成后重启服务

[root@blog ~]# systemctl restart prometheus.service 

九,测试客户端安装效果

登录页面查看效果:注意把ip换成自己的服务器ip

http://121.122.123.47:9090/targets

效果如图:

十,查看服务器linux版本

[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

linux(centos8):安装prometheus服务端/node_exporter客户端(prometheus 2.18.1)的更多相关文章

  1. 安装lanproxy服务端、客户端以及小问题解决

    准备 我们这里使用java客户端与服务端连接 1.一台公网服务器(运行proxy-server).2.一台内网客户端(运行proxy-client). 下载地址:https://seafile.cdj ...

  2. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  3. RedHat下安装Telnet服务端及客户端远程连接配置

    Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力. 配置之前请确保网络连通,如防火墙影响连接,请先关 ...

  4. Linux下安装SVN服务端

    安装 使用yum安装非常简单: yum install subversion 配置 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下 ...

  5. Linux命令安装vnc服务端与vnc的客户端

    第一歩:运行命令 yum install tigervnc-server -y 第二歩:安装telnet 第三歩:运行vncserver,创建桌面 vncserver -kill :1  删除桌面1的 ...

  6. Linux下安装SVN服务端小白教程

    安装 使用yum安装非常简单: yum install subversion 配置 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成 ...

  7. linux(centos 6.4)下安装php memcache服务端及其客户端(详细教程)

    前言 在搭建个人博客时,由于没有使用任何框架,纯手工code前台和后台,导致遇到许多问题,其中一个问题就是mysql连接导致的页面相应速度异常低.在查询各种途径后,只能考虑使用memcache缓存.在 ...

  8. 多个Linux发行版安装ss服务端

    本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...

  9. (转)SVN 服务端、客户端安装及配置、导入导出项目

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

随机推荐

  1. Java 9天入门(黑马程序员) 课程收尾 ------学生管理系统 (9.13)

    1 实现功能 2 结构概述 分为两个包,各自一个类 Student.java 为学生类,目的是储存学生信息 StudentManager.java 是主程序的代码 3 Student.java 的代码 ...

  2. Qt Qgis 二次开发——鼠标点击识别矢量要素

    Qt Qgis 二次开发--鼠标点击识别矢量要素 介绍: 识别矢量要素需要用到QGis的一个工具类:QgsMapToolIdentifyFeature 一个QgsMapTool的子类的子类,官方文档描 ...

  3. Web_php_unserialize 攻防世界

    1.$var输入处有一个正则过滤 2._wakeup处需要过滤 编写脚本如下 后在网页输入?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4Oi ...

  4. Win10安装Tensorflow-gpu遇到Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问

    最近因为上课需要安装Anaconda和Tensorflow,安装Anaconda后再使用 Tensorflow官网提供的pip安装Tensorflow-GPU方法会出现如下错误: 解决方法:在安装命令 ...

  5. Java编程风格

    来自<The Elements of Java Style>-<Java编程风格>一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快! 好处不多说了,但是有几个 ...

  6. 网络爬虫:利用selenium,pyquery库抓取并处理京东上的图片并存储到使用mongdb数据库进行存储

    一,环境的搭建已经简单的工具介绍 1.selenium,一个用于Web应用程序测试的工具.其特点是直接运行在浏览器中,就像真正的用户在操作一样.新版本selenium2集成了 Selenium 1.0 ...

  7. 容器云平台No.6~企业级分布式存储Ceph

    简介 ceph作为一个统一的分布式存储系统,提供了高性能,高可用性,高扩展性.ceph的统一体现在其可以提供文件系统.块存储.对象存储,在云环境中,通常采用ceph作为后端存储来保证数据的高可用性. ...

  8. Oracle学习(十三)优化专题

    一.查询频繁,数据量大 索引 使用时机:表中经常查询的字段可以考虑添加索引. 联合索引:若能确认多个条件会同时使用时,可以将这几个条件作为联合索引. 单列索引:若条件查询时,这几个条件不是同时用到的话 ...

  9. pandas读取MySql/SqlServer数据

    用过的东西总是会忘记,尤其是细节,还是记下来比较靠谱. 读取MySql数据 1 import MySQLdb 2 import pandas as pd 3 4 conn = MySQLdb.conn ...

  10. SpringMVC学习(二)

    Ajax 简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分 ...