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. 【源码】spring生命周期

    一.spring生命周期 1. 实例化Bean 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用crea ...

  2. 初步配置基于Struts的maven的Web项目demo

    1.创建mavenweb项目 eclipse | Idea 中创建maven项目,具体步骤PASS. 2.导入Struts2核心架包 Idea中在maven项目上,选择ADD FRAMEWORK ec ...

  3. 【USACO】Cow Brainiacs

    题意描述 Cow Brainiacs 求 \(n!\) 在 \(b\) 进制表示下的第一位非 \(0\) 位的数字. 算法分析 闲话 忙人自动略过 之前做过一道 \(10\) 进制表示下的题目,感觉差 ...

  4. [python学习手册-笔记]001.python前言

    001.python前言 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...

  5. Android网络性能监控方案

    阿里云 云原生应用研发平台EMAS 刘宝文(木睿) 背景 移动互联网时代,移动端极大部分业务都需要通过App和Server之间的数据交互来实现,所以大部分App提供的业务功能都需要使用网络请求.如果因 ...

  6. leetcode144add-two-numbers

    题目描述 给定两个代表非负数的链表,数字在链表中是反向存储的(链表头结点处的数字是个位数,第二个结点上的数字是十位数...),求这个两个数的和,结果也用链表表示. 输入:(2 -> 4 -> ...

  7. 基于C++语言实现机动车违章处罚管理系统

    这篇文章主要介绍了基于C++语言实现机动车违章处罚管理系统的相关资料,需要的朋友可以参考下 关键代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

  8. Pyston v2.0 发布,解决 Python 慢速的救星

    Pyston 自从 2017 年发布 0.6.1 版本后,已经淡出了人们的视线三年多了,导致现在新人都很少听过它的大名. 前两天(2020年10月28日)Pyston 在官方博客上(https://b ...

  9. 百度开源插件echarts介绍及如何使用

    前言 如果你想要用较少的代码实现比较酷炫的数据统计表,echarts是值得你考虑的一种实现方式.官网提供了很多实例供参考:http://echarts.baidu.com/examples.html. ...

  10. 线程安全的SimpleDateFormat

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...