利用JMX来监控一些运维中的服务
简言通过JMX监控可以获取更详细的监控数据来让我们运维人员方便的分析系统的运行状况和系统存留的风险,这里我们来学习下JMX的相关内容。
JMX是什么JMX全称为Java Management Extensions,翻译过来就是Java管理拓展,用来管理和检测Java程序。最常用到的就是对于JVM的监测和管理,比如 JVM 内存、CPU 使用率、线程数、垃圾收集情况等等。另外,还可以用作日志级别的动态修改,比如 log4j 就支持 JMX 方式动态修改线上服务的日志级别。最主要的还是被用来做各种监控工具。
JMX的体系结构
分布层:是JMX架构对外一层,分布层负责使用JMX代理对外部世界可用。有两种类型的分布式交互。第一种类型是由适配器来实现,它通过HTTP或SNMP一类的协议提供了MBean的可见性。第二种类型是连接器,它将代理的API暴露给其它分布式技术,如Java RMI。(管理访问框架接口)
代理层:代理层主要组件是MBean服务器,MBean服务器提供MBean的注册使用,它是JMX代理的核心。(访问资源接口)
指令层:指令层是接近管理资源的一层,它由代理中注册的MBean构 ...
利用JMX监控Zookeeper
简言通过JMX监控可以获取更详细的监控数据来让我们运维人员方便的分析系统的运行状况和系统存留的风险,这里我们来使用JMX来监控Zk获取更加详细的监控。通过在Zk中埋点来暴露数据,使用Prometheus监控来抓取数据然后借助Grafana来进行数据的展示和告警,即可实现通过Prometheus监控zookeeper的目的。
操作步骤操作步骤如图所示
步骤一:配置JMX端口在zookeeper中启用JMX服务以获取资源信息,操作步骤如下:
1.修改/opt/zk/zookeeper-3.4.10/bin/zkServer.sh,在第44行添加JMXPORT=8999。
具体添加位置如下所示:
1234567891011if [ "x$JMXLOCALONLY" = "x" ]then JMXLOCALONLY=falsefiJMXPORT=8999 ## 添加在此处第44行。if [ "x$JMXDISABLE" = "x" ] || [ "$JMXD ...
利用JMX_Exporter监控Java应用
简言想要监控Java应用,JMX永远是第一选择。在prometheus监控体系中,jmx_exporter是使用范围十分广的工具。本文对jmx的配置进行一个讲解,主要是对社区文档进行翻译并解释说明。
JMX Exporter是什么Prometheus 社区开发了 JMX Exporter 来导出 JVM 的监控指标,以便使用 Prometheus 来采集监控数据。它是 Prometheus 官方组件,作为一个JAVA Agent 来提供本地 JVM 的 metrics,并通过 http 暴露出来。这也是官方推荐的一种方式,可以获取进程的信息,比如CPU和内存使用情况。
JMX Exporter 利用 Java 的 JMX 机制来读取 JVM 运行时的一些监控数据,以代理的形式收集目标应用的 JMX 指标,这样做的好处在于无需对目标应用做任何的改动。然后将其转换为 Prometheus 所认知的 metrics 格式,以便让 Prometheus 对其进行监控采集。
那么,JMX 又是什么呢?它的全称是:Java Management Extensions。 顾名思义,是管理 Java ...
Prometheus之exporter
简言这篇文章介绍一下Prometheus中Exporter的概念和常见的类型与使用方法。
Exporter是什么为Prometheus提供监控数据源的应用都可以被成为Exporter,比如Node Exporter则用来提供节点相关的资源使用状况,而Prometheus从这些不同的Exporter中获取监控数据,然后可以在诸如Grafana这样的可视化工具中进行结果的显示。
Exporter的一个实例可以称为Targets
Exporter的类型
Exporter根据来源可以分为:社区提供的Exporter和自定义的Exporter两种
Exporter根据支持方式可以分为:很多软件现在已经内嵌支持Prometheus,比如kubernetes或者etcd,简单来说这种类型的软件中不需要单独的Exporter用于提供给Prometheus的监控数据的功能,这是其本身的功能特性之一。当然更多的情况则是通过独立运行的Exporter来进行,比如Node Exporter,操作系统本身由于不像kubernetes那样提供对于Prometheus的支持,所以需要单独运行Node Expo ...
Prometheus+Consul+Grafana搭建自动服务监控平台
简言下面是此监控平台的组成部分,也是目前我们交通银行信用卡中心监控的相关组件。后面会逐个分享其中各个组成部分
Exporter
Consul
Prometheus
Grafana
Alerting
Jenkins之手动安装构建工具Ant
1.配置好JDK,这里参考我之前的文章
2.下载Ant
12cd /opt/software/wget https://mirrors.tuna.tsinghua.edu.cn/apache/ant/binaries/apache-ant-1.9.15-bin.tar.gz
3.安装Ant
1234tar zxvf apache-ant-1.9.3-bin.tar.gz mv apache-ant-1.9.3 /usr/local/cd /usr/local/ln -s /usr/local/apache-ant-1.9.3/ /usr/local/ant
4.配置环境变量
1vi /etc/profile
在java环境变量上面一行加上如下配置
12export ANT_HOME=/usr/local/ ...
Jenkins之手动安装构建工具Maven
1.配置好JDK,这里参考我之前的文章
2.下载maven
12cd /opt/software/wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/binaries/apache-maven-3.2.2-bin.tar.gz
3.安装maven
1234tar zxvf apache-maven-3.2.2-bin.tar.gzmv apache-maven-3.2.2-bin.tar.gz /usr/local/cd /usr/local/ln -s /usr/local/apache-ant-1.9.3/ /usr/local/maven
4.配置环境变量
1vi /etc/profile
在java环境变量上面一行加上如下配置
12export MAVEN_HOME=& ...
如何在Linux服务器上查找JDK安装路径
简介如何在一台Linux服务器上查找JDK的安装路径呢?有哪些方法可以查找定位JDK的安装路径?是否有一些局限性?下面总结了一下如何查找JDK安装路径的方法
步骤echo $JAVA_HOME使用$JAVA_HOME的话能定位到JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径
123456789[root@localhost ~]# java -versionjava version "1.7.0_65"OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)[root@localhost ~]# echo $JAVA_HOME
which java首先声明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们 ...
个人博客如何加入谷歌广告
简介网站的建立可以产生一些收益,其中一个方法就是添加广告,这里我们将谷歌广告加入到个人的网站当中,下面记录下方法。
步骤注册谷歌账号访问谷歌的广告模块
1https://www.google.com/adsense/new
将自己的网站域名写入然后开启设置广告
点击广告,进行相关设置
这里谷歌提供了按网站、按广告单元、全局设置进行添加广告,按网站可以自动添加广告,然后进行位置调整,按广告单元是手动添加,这里推荐手动进行设置,选择自己喜欢的广告单元,然后点击编辑获取代码复制即可放到个人网站上面。
1234567891011<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><!-- index --><ins class="adsbygoogle" ...
Ceph架构简介及使用
Ceph架构简介及使用Ceph简介Ceph是一个统一的分布式存储系统,设计初衷是为了提供较好的性能、可靠性和可扩展性。
Ceph特点
高性能
高可用
高扩展
特性丰富
Ceph
Object(对象):有原生的API,而且也兼容Swift和S3的API。
Block(块):支持精简配置、快照、克隆。
File(文件系统):Posix接口,支持快照。
Ceph核心组件,概念
Monitor :保存,同步OSD元数据 (可以是OSD中的一员充当Monitor)
OSD :OSD全称Object Storage Device,也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD。
MDS :MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。
Object:Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据。
PG : PG是一个逻辑概念,我们linux系统中可以直接看到对象,但是无法直接看到PG。它在数据寻址时类似于数据库中的索引:每个对象都会固定映射进一个PG中,所以当我们要寻 ...