为了与时俱进,介绍基于docker的安装部署,如果想用非docker化部署,可以参考官网教程

对于docker的安装,在cat安装部署已经介绍过了,这里就不再重复了,如果还有不清楚的可以点击这里

docker已经安装好之后,正式安装prometheus

安装prometheus

docker run -d -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /etc/localtime:/etc/localtime prom/prometheus

对docker命令不熟悉的朋友,可以通过菜鸟教程进行学习

简单的介绍一下上面的命令,运行了一个9090端口的prometheus容器,通过-v进行挂载,指定了prometheus配置文件路径/etc/prometheus/prometheus.yml , /etc/localtime主要是指定时区,防止容器和宿主机的时间对不上的问题。 -d是指后台运行

如果启动成功,访问地址(服务器地址:9090)

如果访问不成功可以通过docker查看日志信息,先使用docker ps命令查看所有容器

找到相应的prometheus容器

docker logs -f prometheus容器ID

prometheus配置,记得修改ip地址

# my global configglobal: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files: # - "first_rules.yml" # - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to static_configs: - targets: ['prometheus的ip地址:9090'] - job_name: 'node' # metrics_path defaults to '/metrics' # scheme defaults to  static_configs: - targets: ['node export ip地址:9100']

grafana安装

prometheus提供的web UI过于简单,可以使用grafana展示监控视图,grafana社区提供了很多模板,只要我们导入模板,就能使用。当然我们也可以根据自己的需求进行定制。

docker run -d --name=grafana -p 3001:3000 -v /var/lib/grafana:/var/lib/grafana -v /etc/grafana/grafana.ini:/etc/grafana/grafana.ini  -v /etc/localtime:/etc/localtime grafana/grafana 

因为我安装的机器3000端口已经被占用了,我只能通过使用3001端口映射到容器内的3000端口,grafana默认端口使用的是3000端口。如果你的端口没有被占用,直接使用3000端口进行映射即可,-v /var/lib/grafana:/var/lib/grafana 这个很重要,通过挂载,这样grafana产生的数据就会存储在宿主机上,即便容器被删除了,重新run数据不会丢失,如果不进行挂载数据会丢失。如果出现问题,同上一样处理,查看日志,定位问题,解决问题。

访问地址(ip地址:指定的端口),如果结果如上图,说明grafana安装成功,第一次访问需要修改密码,初始密码是admin/admin,修改密码之后,需要按照新密码登录。

因为prometheus本身不具备监控功能,我们要通过prometheus收集数据,需要安装对应的export,如node export用于监控服务器状态,如cpu、内存、网络、磁盘等信息。redis export用于监控redis的相关信息,内存使用情况、连接数等。Mysql export用于监控mysql。社区已经提供了响应的export,只需要下载安装即可,然后在grafana社区中找到对应的模板,就能对相应的服务进行监控。

node export 安装

docker run -d -p 9100:9100 quay.io/prometheus/node-exporter

安装完之后,需要修改prometheus配置文件,增加要监听的job,需要指定job的名称,以及暴露的metrics的访问路径

 - job_name: 'node' # metrics_path defaults to '/metrics' # scheme defaults to  static_configs: - targets: ['prometheus的ip地址:9100']

因为我们prometheus使用的是静态配置,需要重启prometheus容器让其生效

docker restart prometheus容器ID

Prometheus 提供了服务发现功能,可以从 consul, dns, kubernetes, file 等等多种来源发现新的目标。

grafana配置

添加数据源:

点击下面的保存和测试按钮,数据源就添加好了,这个数据源后面需要用到

导入社区提供好的模板

访问grafana官网

点击dashboards,查找模板

第一个就是node export模板

复制模板ID,回到刚才导入模板的页面

如上图,我们的dashboard模板就已经导入成功。点击dashboard,可以看到如下图就说明我们已经安装成功。

java设计模式系列文章:

java设计模式之代理模式,看我72变

java设计模式之模板模式,站在巨人的肩膀上成功

java设计模式之迭代器模式,顾客永远的上帝

java设计模式之适配器模式,大丈夫能屈能伸

java设计模式之构建模式,私人订制更具特色

java设计模式之组合模式,男女搭配干活不累

java设计模式之状态模式,策略模式孪生兄弟

java设计模式之责任链模式,一个也不能少,每个人都是主角

java设计模式之桥接模式,策略模式旗舰版,世界没有免费的午餐

java设计模式之原型模式,如有雷同,纯属巧合

设计模式之命令模式,各司其职提高效率

设计模式之装饰器模式,因为参与,所以认同

设计模式之策略模式,来源于生活,用之于生活

设计模式之单例模式,每个人都是唯一

监控系列文章:

程序员生存之道,谁开发谁运行谁监控

应用监控之调用链跟踪选型之Zipkin、Pinpoint、SkyWalking、CAT

java应用监控之CAT安装部署

java应用监控之CAT简介

java应用监控之Cat核心功能简介

java应用监控之Cat集成Dubbo、Mybatis、Logback、spring boot

java应用监控之利用cat接口性能优化,每一次都是血的教训

java应用监控之Prometheus简介

java应用监控之prometheus核心组件

java ini文件_java应用监控之prometheus、node export、grafana安装和配置相关推荐

  1. java复制文件_java多种文件复制方式以及效率比较

    1.背景 java复制文件的方式其实有很多种,可以分为 - 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,Buffere ...

  2. java 复制文件_Java中复制文件的4种方法

    Java拷贝文件是一种非常常见的操作.但是java.io.File类没有任何快捷方法可以将文件从源复制到目标文件.在这里,我们将了解学习可以在java中复制文件的四种不同方法. 方法一:使用Strea ...

  3. java 类文件_Java类文件概述

    所谓 Java 类文件,就是通常用 javac 编译器产生的 .class 文件.这些文件具有严格定义的格式. Java 源文件经过 javac 编译器编译之后,将会生成对应的二进制文件(如下图所示) ...

  4. java 新建文件_Java创建文件的常用方法

    Java创建文件有几种常用的方法 File.createNewFile()创建空白文件 java.io.File类里的方法createNewFile()可以用来创建文件.createNewFile() ...

  5. java 输出流 文件_Java输出文件到本地(输出流)

    package cn.buaa; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; im ...

  6. java读取日志_Java实时监控日志文件并输出的方法详解

    前言 最近有一个银行数据漂白系统,要求操作人员在页面调用远端Linux服务器的shell,并将shell输出的信息保存到一个日志文件,前台页面要实时显示日志文件的内容.这个问题难点在于如何判断哪些数据 ...

  7. java 修改ini文件_java读取和修改ini配置文件 | 学步园

    /* * ConfigurationFile.java * * Created on 2009年4月15日, 下午1:36 * * To change this template, choose To ...

  8. java 修改ini文件_Java读取和修改ini配置文件

    /** * 修改ini配置文档中变量的值 * @param file 配置文档的路径 * @param section 要修改的变量所在段名称 * @param variable 要修改的变量名称 * ...

  9. java 流转文件_java 实现 word 文档的在线编辑以及流转

    用 pageoffice 实现文档的在线编辑以及文档流转 1: 流程 用修改无痕迹模式起草文件,各个领导批注自己意见的时候使用强制留痕模式打开,文员清稿的时候用核稿模式打开,还有最后只读模式打开发布的 ...

最新文章

  1. lapack安装_VASP环境安装-BoltzTraP-1.2.5安装
  2. windows中以管理员身份运行cmd
  3. linux安装redis并在后台启动
  4. 区块链BaaS云服务(34)新加坡艾达链ASC
  5. c#将http调用返回额json中的有关中文的unicode转换为中文
  6. 推荐VSCode多语言开发,支持一键JAVA
  7. Python----socket编程
  8. 求一份100行左右的C语言程序,求4个C语言程序 每个100行左右 大一水平的
  9. 获取数组中的最大、最小值
  10. vpr文件转换flac_有什么简单方法将flac无损转换mp3
  11. 虹膜归一化:仿射——图解仿射变换的旋转矩阵推导
  12. 【数据结构_浙江大学MOOC】第六七八讲 图
  13. ODAC (V9.5.15) 学习笔记(二十一)数据复制
  14. AndroidStudio常用字体
  15. FPGA信号处理系列文章——定点数据截位处理
  16. 阿基米德螺旋线lisp_CAD画阿基米德螺旋线程序
  17. 软考中级之系统集成项目管理工程师备考
  18. Android 向右滑动关闭页面
  19. 以前用C++实现的RMM分词类型
  20. Python面试题(校招)

热门文章

  1. 64 岁的 Python 之父:我不退休了!
  2. “Talk is cheap, show me the code”你一行代码有多贵?
  3. TCP 半连接队列和全连接队列满了,怎么破?
  4. 程序员惊魂 12 小时:“���”引发线上事故
  5. 京东回应拖欠神州 3 亿多元货款;苹果考虑将第三方浏览器和邮件设为默认;PS 诞生 30 周年| 极客头条...
  6. 细数Python三大“罪”!为什么编程能力比我好10倍的人都在夸它?
  7. 程序员和码农,有什么本质上的区别?
  8. 字节跳动在 Spark SQL 上的核心优化实践
  9. 震惊!雷军表示要出千元5G手机!
  10. 5G 2.0 的最新动向