arthas介绍

准备

  • 准备docker环境
name port
centos_arthas 3658:3658
docker run -tid --name centos_arthas -p 3658:3658 --privileged=true centos:latest /sbin/init
docker exec -it centos_arthas /bin/bash

配置修改

  • 此处的配置修改按照本站之前博客路径进行修改
  • 创建,修改java.policy文件
touch /opt/es/config/java.policy
vi /opt/es/config/java.policy
#修改如下
grant codeBase "file:${user.home}/.arthas/lib/-" {
permission java.io.FilePermission "${user.home}/.arthas/-", "read,write";
permission java.io.FilePermission "${user.home}/logs/arthas/-", "read,write,delete";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "shutdownHooks";
permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www.protocol.http";
permission java.lang.RuntimePermission "accessClassInPackage.sun.net.www.http";
permission java.net.SocketPermission "127.0.0.1:3658", "listen,resolve";
permission java.net.SocketPermission "127.0.0.1:8563", "listen,resolve";
permission java.net.SocketPermission "*", "accept";
};
#增加jvm启动参数
echo "-Djava.security.policy=file:///opt/es/config/java.policy" >> /opt/es/config/jvm.options
  • 修改/opt/es/jdk/conf/security/java.policy配置
vi /opt/es/jdk/conf/security/java.policy
#增加如下配置
grant {
permission org.elasticsearch.ThreadPermission "modifyArbitraryThreadGroup";
permission org.elasticsearch.ThreadPermission "modifyArbitraryThread";
}; grant {
permission java.io.FilePermission "<<ALL FILES>>", "read,write";
permission java.util.PropertyPermission "JM.LOG.PATH", "write";
permission java.lang.RuntimePermission "*";
permission java.lang.reflect.ReflectPermission "*";
permission java.net.SocketPermission "*", "connect,listen,resolve,accept";
permission ognl.OgnlInvokePermission "*";
};
  • 启动elasticsearch
/opt/es/bin/elasticsearch -d

安装arthas

  • 配置环境变量(这里使用es自带的jdk)
echo 'export JAVA_HOME=/opt/es/jdk' >>  ~/.bashrc
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
chmod +x ~/.bashrc
source ~/.bashrc
  • 安装arthas
[elastic@3f24eb371050 opt]$ curl -O https://arthas.aliyun.com/arthas-boot.jar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 135k 100 135k 0 0 217k 0 --:--:-- --:--:-- --:--:-- 217k
[elastic@3f24eb371050 opt]$ java -jar arthas-boot.jar --repo-mirror aliyun --use-http
[INFO] arthas-boot version: 3.4.4
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 513 org.elasticsearch.bootstrap.Elasticsearch
1
[INFO] Start download arthas from remote server: http://arthas.aliyun.com/download/3.4.4?mirror=aliyun
[INFO] File size: 11.94 MB, downloaded size: 4.32 MB, downloading ...
[INFO] File size: 11.94 MB, downloaded size: 7.45 MB, downloading ...
[INFO] File size: 11.94 MB, downloaded size: 9.85 MB, downloading ...
[INFO] Download arthas success.
[INFO] arthas home: /home/elastic/.arthas/lib/3.4.4/arthas
[INFO] Try to attach process 513
[INFO] Attach process 513 success.
[INFO] arthas-client connect 127.0.0.1 3658
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----' wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version 3.4.4
pid 513
time 2020-11-30 05:37:25 [arthas@513]$ shutdown ##安装完成后先退出增加--target-ip参数启动
  • 启动
[elastic@3f24eb371050 opt]$ java -jar arthas-boot.jar  --target-ip 0.0.0.0
[INFO] arthas-boot version: 3.4.4
[INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
* [1]: 513 org.elasticsearch.bootstrap.Elasticsearch
1
[INFO] arthas home: /home/elastic/.arthas/lib/3.4.4/arthas
[INFO] Try to attach process 513
[INFO] Attach process 513 success.
[INFO] arthas-client connect 0.0.0.0 3658
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----' wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version 3.4.4
pid 513
time 2020-11-30 05:39:45 [arthas@513]$ dashboard
  • 监控数据,成功启动
ID   NAME                          GROUP          PRIORITY  STATE     %CPU      DELTA_TIM TIME      INTERRUPT DAEMON
-1 C1 CompilerThread0 - -1 - 0.23 0.011 0:2.577 false true
-1 C2 CompilerThread0 - -1 - 0.13 0.006 0:9.784 false true
153 Timer-for-arthas-dashboard-02 system 5 RUNNABLE 0.08 0.004 0:0.055 false true
151 arthas-NettyHttpTelnetBootstr system 5 RUNNABLE 0.06 0.003 0:0.086 false true
19 elasticsearch[3f24eb371050][s main 5 TIMED_WAI 0.06 0.003 0:0.599 false true
43 elasticsearch[3f24eb371050][m main 5 TIMED_WAI 0.05 0.002 0:0.032 false true
45 elasticsearch[3f24eb371050][m main 5 TIMED_WAI 0.04 0.002 0:0.023 false true
-1 VM Periodic Task Thread - -1 - 0.04 0.002 0:0.391 false true
-1 VM Thread - -1 - 0.01 0.000 0:0.225 false true
18 elasticsearch[3f24eb371050][[ main 5 TIMED_WAI 0.01 0.000 0:0.101 false true
-1 Sweeper thread - -1 - 0.0 0.000 0:0.159 false true
Memory used total max usage GC
heap 264M 989M 989M 26.73% gc.parnew.count 8
par_eden_space 190M 273M 273M 69.70% gc.parnew.time(ms) 138
par_survivor_space 26M 34M 34M 77.56% gc.concurrentmarksweep.count 2
cms_old_gen 47M 682M 682M 7.00% gc.concurrentmarksweep.time(m 39
nonheap 126M 137M -1 92.30% s)
codeheap_'non-nmethods' 1M 2M 5M 27.30%
metaspace 97M 104M -1 93.26% Runtime
os.name Linux
os.version 4.19.76-linuxkit
java.version 13.0.2
java.home /opt/es/jdk
systemload.average 0.00
processors 6
uptime

通过web访问arthas

  • 增加--target-ip参数(上面的操作步骤中已经加过了)
  • 通过宿主机浏览器进行访问(http://localhost:3658

arthas监控elasticsearch(7.x)的更多相关文章

  1. zabbix通过简单命令监控elasticsearch集群状态

    简单命令监控elasticsearch集群状态 原理: 使用curl命令模拟访问任意一个es节点可以反馈的集群状态,集群的状态需要为green curl -sXGET http://serverip: ...

  2. zabbix通过简单shell命令监控elasticsearch集群状态

    简单命令监控elasticsearch集群状态 原理: 使用curl命令模拟访问任意一个es节点可以反馈的集群状态,集群的状态需要为green curl -sXGET http://serverip: ...

  3. 监控Elasticsearch的插件【check_es_system】

    监控Elasticsearch的插件推荐  强大的shell脚本 #!/bin/bash ####################################################### ...

  4. 使用supervior 监控 elasticsearch 进程

    elasticsearch引擎在使用中可能会出现后台守护进程挂掉的情况,需要手动启动来恢复正常. 这时则可以引用supervior进程管理工具来监控elasticsearch进程状态,实现进程挂掉自动 ...

  5. 如何监控 Elasticsearch 集群状态?

    Marvel 让你可以很简单的通过 Kibana 监控 Elasticsearch.你可以实时查看你 的集群健康状态和性能,也可以分析过去的集群.索引和节点指标.

  6. zabbix监控Elasticsearch集群

    本节以 zabbix 为例,介绍如何使用监控系统完成 Elasticsearch 的监控报警. github 上有好几个版本的 ESZabbix 仓库,都源自 Elastic 公司员工 unterge ...

  7. Prometheus监控elasticsearch集群(以elasticsearch-6.4.2版本为例)

    部署elasticsearch集群,配置文件可"浓缩"为以下: cluster.name: es_cluster node.name: node1 path.data: /app/ ...

  8. zabbix 监控 ElasticSearch

    ElasticSearch  可以直接使用zabbix官方的模板 模板地址: https://github.com/mkhpalm/elastizabbix 通过zabbix server 直接监控 ...

  9. prometheus 监控ElasticSearch核心指标

    ES监控方案 本文主要讲述使用 Prometheus监控ES,梳理核心监控指标并构建 Dashboard ,当集群有异常或者节点发生故障时,可以根据性能图表以高效率的方式进行问题诊断,再对核心指标筛选 ...

随机推荐

  1. 云计算管理平台之OpenStack启动虚拟机实例

    在前边的博客中,我们主要聊了下openstack的基础环境.核心服务(认证服务keystone/镜像服务glance/计算服务nova/网络服务neutron)的安装配置:回顾请查看前边的博客:今天我 ...

  2. 监控制图OxyPlot组件的下载与安装

    1.在工具(T)-NuGet包管理器(N)-管理解决方案的NuGet程序包(N),打开组件管理界面 2.切换到浏览窗口,安装以下三个窗口组件即可 3.OxyPlot文档手册 https://oxypl ...

  3. Android Google官方文档解析之——System Permissions

    Android is a privilege-separated operating system, in which each application runs with a distinct sy ...

  4. C++ 数据结构 2:栈和队列

    1 栈 1.1 栈的基本概念 栈(stack)又名堆栈,它是一种 运算受限的线性表.限定 仅在表尾进行插入和删除操作 的线性表.表尾被称为栈顶,相对地,把另一端称为栈底. 1.1.1 特点 它的特殊之 ...

  5. C++ 数据结构 1:线性表

    1 数据结构 1.1 数据结构中基本概念 数据:程序的操作对象,用于描述客观事物. 数据的特点: 可以输入到计算机 可以被计算机程序处理 数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型. ...

  6. .NetMvc从http或本地下载pdf文件

    1.帮助类 1 public static class PdfHelper 2 { 3 #region 从http链接下载 4 public static void Download(string u ...

  7. 各大数据库Java数据源参数

    Sybase: driver=com.sybase.jdbc3.jdbc.SybDriver url=jdbc:sybase:Tds:172.22.12.212:5000/ctninfo user=s ...

  8. 索引--mysql 数据库Load data大量数据时性能因素之一

    发现load data infile 插入数据时越来越慢,后来发现是因为创建表时有创建索引的动作. 把索引创建删除掉之后,导入很迅速,导入后再创建索引,效率果有提高.

  9. JavaScript探秘:可执行的上下文堆栈

    这一系列的文章,挺不错的,值得收藏细读 JavaScript探秘:可执行的上下文堆栈

  10. Vue3教程:用 Vue3 开发小程序,这里有一份实际的代码案例!

    前言 寻寻觅觅冷冷清清,凄凄惨惨戚戚. Vue 3 发布以后,最近也在学习和写一些 Vue3 的 demo 和项目,我也一直想着什么时候能在小程序里使用新特性? 于是我翻遍了市面上的小程序框架,如 u ...