*Prometheus* 是一个开源的服务监控系统和时间序列数据库

官方网站:prometheus.io

一、安装prometheus

cd /usr/local/        #进入安装目录

wget https://github.com/prometheus/prometheus/releases/download/v2.27.1/prometheus-2.27.1.linux-amd64.tar.gz        #wget下载prometheus安装包

tar xf prometheus-2.27.1.linux-amd64.tar.gz        #解压

ln -s prometheus-2.27.1.linux-amd64 prometheus        #建立软链接

chown -R root.root prometheus-2.27.1.linux-amd64        #授予root权限

普罗米修斯默认前台启动,构建启动脚本完成后台启动:
vim /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus server daemon
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart="/usr/local/prometheus/prometheus" --config.file="/usr/local/prometheus/prometheus.yml" --storage.tsdb.path="/usr/local/prometheus/data" --storage.tsdb.retention=5d --web.console.
templates="/usr/local/prometheus/consoles" --web.console.libraries="/usr/local/prometheus/console_libraries" --web.max-connections=512 --web.external-url="http://192.168.149.133:9090" --web.listen-address="0.0.0.0:9090"Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl restart prometheus.service
systemctl status prometheus.service
启动完成可访问页面 默认为9090端口

二、添加监控服务器选项(监控主机)

在配置文件中加入监控配置信息,比如要监控xxx.xxx.xxx.134服务器,如下配置

在xxx.xxx.xxx.134安装node_exporter插件,在普罗米修斯官网就可下载

xxx.xxx.xxx.134主机进行以下操作:
cd /usr/local        #进入安装插件目录

wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz        #wget下载插件安装包

tar xf node_exporter-1.1.2.linux-amd64.tar.gz        #解压

ln -s node_exporter-1.1.2.linux-amd64 node_exporter        #建立软连接

chown -R root.root node_exporter-1.1.2.linux-amd64        #授予root权限

构建node_exporter后台启动脚本:
vim /lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter \
--collector.mountstats \
--collector.systemd \
--collector.ntp \
--collector.tcpstat
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=2s
Restart=always

[Install]
WantedBy=multi-user.target

systemctl daemon-reload                #加载配置文件
systemctl start node_exporter.service        #启动node插件
systemctl status node_exporter.service      #查看运行状态

回到普罗米修斯主机,修改配置文件(只修改以下蓝色部分内容):
vim /usr/local/prometheus/prometheus.yml

......
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

# metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

static_configs:
    - targets: ['localhost:9090']

- job_name: 'node_exporter'
   metrics_path '/metrics'
   static_configs:
    - targets: 
      - 'xxx.xxx.xxx.134:9100'
......

systemctl daemon-reload
systemctl restart prometheus.service
重启完成可访问页面查看

三、添加监控应用级选项(监控各种应用,以mysql为例)

在配置文件中加入监控配置信息,比如要监控xxx.xxx.xxx.135服务器上的mysql,如下配置

在xxx.xxx.xxx.135安装mysqld_exporter插件,在普罗米修斯官网就可下载

在xxx.xxx.xxx.135主机操作:
cd /usr/local

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz

tar xf mysqld_exporter-0.13.0.linux-amd64.tar.gz

ln -s mysqld_exporter-0.13.0.linux-amd64 mysqld_exporter

chown -R root.root mysqld_exporter-0.13.0.linux-amd64

构建mysqld_exporter后台启动脚本:
vim /lib/systemd/system/mysqld_exporter.service
[Unit]
Description=Prometheus MySQL Exporter
After=network.target

[Service]
Type=simple
Restart=always
User=root
Group=root
ExecStart=/usr/local/mysqld/mysqld_exporter --config.my-cnf=/usr/local/mysqld/mysqld_exporter.cnf --collect.global_status --collect.auto_increment.columns --collect.info_schema.processlist --collect.binlog_size
 --collect.info_schema.tablestats --collect.global_variables --collect.info_schema.innodb_metrics --collect.info_schema.query_response_time --collect.info_schema.userstats --collect.info_schema.tables --collect.perf_schema.tablelocks --collect.perf_schema.file_events --collect.perf_schema.eventswaits --collect.perf_schema.indexiowaits --collect.perf_schema.tableiowaits --collect.slave_status --web.listen-address=0.0.0.0:9104
[Install]
WantedBy=multi-user.target

创建mysql进入启动配置文件(同时确保mysql数据库有root用户并授权了远程可登录):
vim /usr/local/mysqld_exporter/mysqld_exporter.cnf
[client]
user=root
password=123456

检测mysql配置文件是否正确:
./mysqld_exporter --config.my-cnf="./mysqld_exporter.cnf"

systemctl daemon-reload        #加载配置
systemctl start mysqld_exporter        #启动mysqld监控插件

回到普罗米修斯主机,修改配置文件:
vim /usr/local/prometheus/prometheus.yml

......
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

# metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

static_configs:
    - targets: ['localhost:9090']

- job_name: 'node_exporter'
   metrics_path '/metrics'
   static_configs:
    - targets: 
      - 'xxx.xxx.xxx.134:9100'

- job_name: 'mysqld_exporter'
   metrics_path '/metrics'
   static_configs:
    - targets: 
      - 'xxx.xxx.xxx.135:9104'
  
......

systemctl daemon-reload                #加载配置
systemctl restart prometheus.service        #重启prometheus服务

访问xxx.xxx.xxx.xxx:9090就可看到主机级和mysql的监控情况

注意:各类监控服务配置和上面配置大同小异,各类监控服务插件在prometheus官网就可直接下载使用:https://prometheus.io/

普罗米修斯!Ubuntu下prometheus监控软件安装使用的更多相关文章

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

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

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

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

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

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

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

    搬砖党的福音:普罗米修斯-监控神器 功能: 在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端).我们可以通过客户 ...

  5. 在Grafana使用普罗米修斯

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

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

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

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

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

  8. 当ABAP遇见普罗米修斯

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

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

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

随机推荐

  1. 《前端运维》四、Jenkins--持续构建

    首先,我们先来了解下什么叫做持续构建.持续构建简称CI,负责拉取代码库中的代码后,执行用户预定义的脚本,通过一系列编译操作构建出一个制品,并将制品推送到制品库里.常用的持续构建工具有 Gitlab C ...

  2. 详细描述一下 Elasticsearch 搜索的过程?

    想了解 ES 搜索的底层原理,不再只关注业务层面了. 解答: 搜索拆解为"query then fetch" 两个阶段. query 阶段的目的:定位到位置,但不取. 步骤拆解如下 ...

  3. consumer 是推还是拉?

    Kafka 最初考虑的问题是,customer 应该从 brokes 拉取消息还是 brokers 将消 息推送到 consumer,也就是 pull 还 push.在这方面,Kafka 遵循了一种大 ...

  4. jQuery--表单的过滤

    1.表单过滤器的介绍 :input 所有表单元素(<input>/<select>/<textarea>/<button>) :text 文本框< ...

  5. java中的ThreadLocal-learning

    为什么需要ThreadLocal 多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性. 而线程安全是指 当多个线程访问某个方法时 ...

  6. synchronized 的作用?

    在 Java 中,synchronized 关键字是用来控制线程同步的,就是在多线程的环境 下,控制 synchronized 代码段不被多个线程同时执行. synchronized 既可以加在一段代 ...

  7. 淘宝 rem 机制入门学习

    一 移动设备尺寸多种多样,带来适配难度,有时甚至无从下手.1 移动设备上的Px 像素不等于设备的物理像素.iphone 6 作为开发标准设备不等于设备的物理像素.iPhone 5 物理宽度320iPh ...

  8. js如何获取iframe页面内的对象

    简单介绍iframe标签,所有的浏览器都支持<iframe>标签,iframe 元素会创建包含另外一个文档的内联框架(即行内框架).通常我们常用的iframe标签的属性有:width(if ...

  9. java继承时能包括静态的变量和方法吗?举例说明!

    子类继承了超类定义的所有实例变量和方法包括静态的变量和方法(马克-to-win见下例),并且为它自己增添了独特的元素.子类只能有一个超类.Java不支持多超类的继承. 子类拥有超类的所有成员,但它不能 ...

  10. Git本地上传口令

    $ cd /d/GitProject  (进入要上传的文件的文件夹) $ git pull                 (更新本地库) $ git add .                (添加 ...