Arthas

Logstash+ElasticSearch+Kibana处理nginx访问日志(转)

与世无争的帅哥 提交于 2020-11-18 08:41:38
ELK 似乎是当前最为流行的日志收集-存储-分析的全套解决方案. 去年年初, 公司里已经在用, 当时自己还 山寨 了一个统计系统(postgresql-echarts, 日志无结构化, json形式存储到postgresql, 构建统一前端配置生成, 调用统一查询接口, 具体细节 ), 已经过了一年有余. 一年刚好, 发生了很多事, 那套系统不知现在如何了. 在新的公司, 一切都得从0到1, 近期开始关注日志/数据上报/统计, 以及后续的数据挖掘等. 搭建, 测试并上线了一套简单的系统, 初期将所有服务器的nginx日志, 以及搜索日志进行处理. 下面主要介绍对nginx日志进行处理的过程, 不是针对 elk 的介绍, 所有涉及ip的地方都改成 127.0.0.1 了, 根据自己环境进行修改 1. nginx日志 -> logstash shipper -> redis 在 centos 使用 yum 安装 nginx 后, 默认 /etc/nginx/nginx.conf 中的日志格式定义为: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x

2020 中国技术力量年度榜单

偶尔善良 提交于 2020-11-12 14:40:29
2020 年,新基建的全面铺开加速了全行业数字化、智能化转型升级。在这一过程中,越来越多的企业开始思考借助优质创新技术,提升自身业务水平。然而在数字化技术变得越来越为重要的当下,国内 IT 产业的发展却正面临着全新的挑战。在技术供给侧,不同技术方案的性能良莠不齐,国内 IT 软件行业的发展面临资源错配、内耗严重等挑战,而这些乱象往往又会导致用户在选择技术方案时犹豫不决,进一步削弱数字化转型意愿。 InfoQ 面向云计算与开源赛道,正式启动 2020 中国技术力量年度榜单评选活动。阿里云作为云原生和开源领域的引领者和实践者,在刚刚结束的 2020 年 双11 实现了核心系统全面云原生化,成为全球最大规模的云原生实践,并首次实现自研、开源、商业“三位一体”,在本次 InfoQ 的中国技术力量年度榜单评选中,新锐开源项目榜单中有 12 个开源项目入围,在开源杰出人物榜单中共有 2 位入围。以下是入围项目和入围人物的概览。 如果你了解甚至熟悉他们, 欢迎给他们投上关键的一票。 在阿里巴巴云原生公号评论区回复你和相关开源项目和开源大佬的故事, 我们将选出 3 位送出阿里云定制充电宝。 截止时间 11 月 13 日晚上 11 点。 榜单一:开源新锐项目 1. Nacos 地址 : https://github.com/alibaba/nacos 上榜理由 :Nacos 是 2018 年 8

java应用线上诊断神器--Arthas

…衆ロ難τιáo~ 提交于 2020-10-28 12:24:14
前言 1、什么是Arthas? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱(截止2020.9.19 github star是23K)。通过Arthas我们可以在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。 2、Arthas有哪些特性 实时查看系统的运行状况 查看函数调用的参数,返回值和异常 代码在线热更新 秒解类冲突问题,定位类加载路径 快速定位应用的热点,生成火焰图 在线诊断,点开网页诊断线上应用 3、Arthas能帮我们解决什么问题 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态? 怎么快速定位应用的热点,生成火焰图? 4、安装 下载arthas-boot.jar,然后用java -jar的方式启动: curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar

Java工程师成神之路 | 2020正式版

﹥>﹥吖頭↗ 提交于 2020-10-27 10:02:06
Java工程师成神之路 | 2020正式版 △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 262 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 主要版本 更新时间 更新内容 v3.0 2020-04-13 知识体系完善,在v2.0的基础上,新增20%左右的知识点; 调整部分知识的顺序及结构,方便阅读和理解; 通过GitHub Page搭建,便于阅读 v2.0 2019-02-19 结构调整,更适合从入门到精通; 进一步完善知识体系; 新技术补充; v1.1 2018-03-12 增加新技术知识、完善知识体系 v1.0 2015-08-01 首次发布; 基础篇 面向对象 什么是面向对象 面向对象与面向过程 面向对象的三大基本特征 面向对象的五大基本原则 封装、继承、多态 什么是多态 方法重写与重载 Java的继承与实现 Java的继承与组合 构造函数与默认构造函数 类变量、成员变量和局部变量 成员变量和方法作用域 平台无关性 Java如何实现的平台无关性的 JVM还支持哪些语言 值传递 值传递、引用传递 为什么说Java中只有值传递 Java基础知识 基本数据类型 8种基本数据类型 整型中byte、short、int、long的取值范围 什么是浮点型? 什么是单精度和双精度? 为什么不能用浮点型表示金额?

Arthas在centOS7使用

倾然丶 夕夏残阳落幕 提交于 2020-10-24 06:56:48
安装wget yum install wget 下载Arthas wget https://arthas.gitee.io/arthas-boot.jar chown tep:tep arthas-boot.jar 查看jvm已加载的方法 java -jar arthas-boot.jar jad com.xxxx 查看jvm jvm 来源: oschina 链接: https://my.oschina.net/odetteisgorgeous/blog/4477681

Java 虚拟机诊断利器

我怕爱的太早我们不能终老 提交于 2020-10-23 20:42:26
作者 | 小白一只 【Arthas 官方社区正在举行征文活动,参加即有奖品拿~ 点击投稿 】 背景 最近学习Java字节码过程中遇到了反射,有段代码是这样的: package com.example.classstudy; import java.lang.reflect.Method; /** * @author TY */ public class ReflectionTest { private static int count = 0; public static void foo() { new Exception("test#" + (count++)).printStackTrace(); } public static void main(String[] args) throws Exception { Class<?> clz = Class.forName("com.example.classstudy.ReflectionTest"); Method method = clz.getMethod("foo"); for (int i = 0; i < 20; i++) { method.invoke(null); } } } 就是一段简单的反射调用 foo 方法,执行 20 次,然后看执行结果: 可以看到在 15 次调用 foo 方法后,第 16 次调用

是谁在调用我?使用 arthas+jprofiler 做复杂链路分析

三世轮回 提交于 2020-10-07 09:25:20
简介: Arthas 是阿里巴巴开源的应用诊断利器,提供了 profiler 命令,可以生成热点火焰图。通过采样录制调用链路来做性能分析,极大提升了线上排查性能问题的效率。 作者 | 羽涅 阿里巴巴 CCO 技术部技术专家,承担 CCO 技术部架构治理、基础技术能力建设方面工作,热衷开源技术,喜欢折腾电子产品。 【Arthas 官方社区正在举行征文活动,参加即有奖品拿~ 点击投稿 】 背景 Arthas 是阿里巴巴开源的应用诊断利器,提供了 profiler 命令,可以生成热点火焰图。通过采样录制调用链路来做性能分析,极大提升了线上排查性能问题的效率。 但是有一个问题,当 async-profiler 全量采样导出的 svg 文件太大时,想要找到关键的调用点,就非常困难。 比如下图: 没有办法做聚合或过滤,这方面本地的 profiler 工具比如 jprofiler、yourkits 就方便很多,有没有办法将两者结合起来呢? 经过分析发现,async-profiler 支持 jfr (Java Flight Recorder) 格式输出,jprofiler 也支持打开 jfr 快照,成了!具体操作步骤如下: 1. arthas 采样生成 jfr 文件 启动 arthas 之后,执行以下采样命令: profiler start -f /home/admin/yourAppName

一种简单快捷的 java 热部署方式

三世轮回 提交于 2020-10-04 00:43:29
简介: 本文热部署插件(Arthas Hot Swap)是基于 Arthas redefine 命令实现的,使用该插件进行远程热部署无需任何配置,无需使用 debug 端口,只需几个简单动作就能完成。 作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 【Arthas 官方社区正在举行征文活动,参加即有奖品拿~ 点击投稿 】 Arthas Hot Swap 插件介绍 引言 热部署是帮助开发人员提高效率的利器,如果你的开发语言是 java,开发环境是远程服务器,远程服务器 debug 端口被限制,那么你可能无法通过 debug HotSwap 实现热部署,那么本文介绍的 IntelliJ IDEA 插件可以帮助你在远程服务器实现热部署,而且操作简单快捷。 本文热部署插件(Arthas Hot Swap)是基于 Arthas redefine 命令实现的,使用该插件进行远程热部署无需任何配置,无需使用 debug 端口,只需几个简单动作就能完成。gitHub 地址: https://github.com/xxxtai/arthas-hotswap 使用方法 IntelliJ IDEA 安装插件“Arthas Hot Swap”,从 gitHub Releases 下载安装包; 热部署使用的是 class 文件,所以需要先使用“mvn compile”编译相关工程,后续可以使用 IDEA

Java 线上问题排查神器 Arthas 快速上手与原理浅谈

最后都变了- 提交于 2020-10-02 14:20:33
【Arthas 官方社区正在举行征文活动,参加即有奖品拿哦~ 点击投稿 】 作者 | 杨桢栋,笔名叫蛮三刀把刀,是一名一线互联网码农,留美访学一年,主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向。 前言 当你兴冲冲地开始运行自己的 Java 项目时,你是否遇到过如下问题: 程序在稳定运行了,可是实现的功能点了没反应。 为了修复 Bug 而上线的新版本,上线后发现 Bug 依然在,却想不通哪里有问题? 想到可能出现问题的地方,却发现那里没打日志,没法在运行中看到问题,只能加了日志输出重新打包——部署——上线 程序功能正常了,可是为啥响应时间这么慢,在哪里出现了问题? 程序不但稳定运行,而且功能完美,但跑了几天或者几周过后,发现响应速度变慢了,是不是内存泄漏了? 以前,你碰到这些问题,解决的办法大多是,修改代码,重新上线。但是在大公司里,上线的流 来源: oschina 链接: https://my.oschina.net/u/4263556/blog/4310091