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. css-设置背景透明度

    实现透明的css方法通常有以下3种方式,以下是不透明度都为80%的写法: css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8 兼容性:IE6.7.8不支持,IE9及以上 ...

  2. 测试可变字符序列stringBuilder

    测试可变字符序列 stringBuilder(线程不安全,效率高,一般用),stringBuffer(线程安全,效率低)stringBuilder,stringBuffer和string的区别前者可变 ...

  3. Java入门(4)

    阅读书目:Java入门经典(第7版) 作者:罗格斯·卡登海德 面向对象编程(OOP)将程序视为对象的集合,确定程序要完成的任务,然后将这些任务指派给最适合完成它们的对象.换言之,计算机程序是一组对象, ...

  4. Maven依赖管理系统

    [背景] 之前在领英上读到一篇软文,<Managing Software Dependency at Scale>,讲述了领英是如何处理模块之间的依赖解析,以及如何去更好的处理依赖关系以及 ...

  5. JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果

    HTML代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <l ...

  6. 云计算之路-出海记:命令行下的 AWS

    俗话说"三百六十行,行行出状元",自从有了电脑之后,三百六十行又多了一行 -- 命令行.GUI 的诞生开创了繁荣的 PC "窗口"(windows)时代,互联网 ...

  7. layui下拉框后台动态赋值

    前台页面: <select name="xm" id="xm" lay-verify="required" lay-filter=&q ...

  8. 腾讯云对象存储COS新品发布——智能分层存储,自动优化您的存储成本

    近日,腾讯云正式发布对象存储新品--智能分层存储,能够根据用户数据的访问模式,自动地转换数据的冷热层级,为用户提供与标准存储一致的低延迟和高吞吐的产品体验,同时具有更低的存储成本. 熟悉数据存储的用户 ...

  9. 力扣 - 146. LRU缓存机制

    目录 题目 思路 代码 复杂度分析 题目 146. LRU缓存机制 思路 利用双链表和HashMap来解题 看到链表题目,我们可以使用头尾结点可以更好进行链表操作和边界判断等 还需要使用size变量来 ...

  10. 基于selenium微博个人主页视频下载

    # -*- coding: utf-8 -*- import selenium from selenium import webdriver import time import urllib.req ...