记录arthas的使用
参考: https://blog.csdn.net/qq_27184497/article/details/118875205 什么是 Arthas摘录一段官方 Github 上的简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态? Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。 Arthas 基于哪些工具开发而来 greys-anatomy: Arthas代码基于Greys二次开发而...
LOIC安全测试工具
LOIC安全测试工具什么是LOIC?LOIC是一款专著于web应用程序的Dos/DDOS攻击工具,它可以用TCP数据包、UDP数据包、HTTP请求于对目标网站进行DDOS/DOS测试 下载后电脑可能可能会报杀病毒,可以先关闭实时保护 LOIC 的工作原理它的工作原理是向目标服务器发送大量 TCP、UDP 或 HTTP 数据包以中断服务。一名攻击者使用 LOIC 无法产生足够的垃圾流量来严重影响目标;严重的攻击需要成千上万的用户协调,对同一目标同时发起攻击。为了使协同攻击更容易,用户可以使用 IRC 聊天频道来运行 LOIC 的“Hivemind”(蜂群思维)版本,该版本允许一个主要用户控制多台联网的次级计算机,从而创建一个自愿的僵尸网络。这是一种热门做法,因为次级设备的所有者可以声称自己是非自愿僵尸网络的无辜受害者。 LOIC Hivemind 在 2008 年被 Anonymous 用来攻击 Church of Scientology 网站,以回应该教会为撤下 YouTube 视频采取的法律手段。LOIC 还在 2010 年出现了一次著名用例,当时 ...
gitlab-runner安装
Gitlab-runner GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI结合使用,GitLab CI是GitLab随附的用于协调作业的开源持续集成服务。 要求 GitLab Runner是用Go编写的,可以作为一个二进制文件运行,不需要特定于语言的要求。它旨在在GNU / Linux,macOS和Windows操作系统上运行。只要您可以在其他操作系统上编译Go二进制文件,其他操作系统就可能会运行。 如果要使用Docker,请安装最新版本。GitLab Runner需要最少的Docker v1.13.0。 GitLab Runner版本应与GitLab版本同步。尽管较旧的Runner仍可以使用较新的GitLab版本,反之亦然,但在某些情况下,如果版本存在差异,则功能可能不可用或无法正常工作。在次要版本更新之间可以保证向后兼容性,但是请注意,GitLab的次要版本更新会引入新功能,这些新功能将要求Runner在同一次要版本上使用。 特点 允许运行: 同时执行多个作业。 对多个服务器(甚至每个项目)使用...
记录一次es分享会(主要内容倒排索引)
es分享一. 建立倒排索引认识 倒排索引是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射 12341问: 说出带"前"字的古诗词2问: 背一下李白的静夜思`窗前明月光,疑是地上霜`3问: 背诗的方式?按照书中排列顺序,先记诗名再记内容 14问: 具象化到关系库模型也就是如下 15问: 在脑子中形成的索引是这样的 123456786问: 在脑子里建立了name的索引, 关系库的表现方式就变成了如下当问到根据name找content的时候就会很快(sql: `select * from 古诗 where name = "静夜思";`)但反过来问的时候就变成如下的查询(sql: `select name from 古诗 where content like "%前%";`)(这里不考虑覆盖索引)7问: 如上所述,如果建立以"前"字作为索引查询,是不是解决了这个问题?(如下图) 12348问: 上面所说索引建立模式解决了寻找慢的问题,那么新的问题...
加速Docker多阶段构建
多阶段构建虽然能够减小镜像体积,但是构建的速度慢了许多。原因在于:一是相比于原先的单阶段构建,多了一些构建步骤;二是缓存失效,多阶段编译之后只保留最终镜像的缓存,中间镜像的缓存丢失。其中缓存失效的问题在CI环境中尤为显著。 加快多阶段构建的措施有两项:并行构建和保留缓存并行构建 从Docker 18.09开始引入了并行构建,启用方法有两种: 临时启用:设置环境变量DOCKER_BUILDKIT=1; 原构建命令: docker build -f Dockerfile -t test_name . 增加DOCKER_BUILDKIT=1后的命令: DOCKER_BUILDKIT=1 docker build -f Dockerfile -t test_name . 默认启用:在/etc/docker/daemon.json中设置{ "features": { "buidkit": true }}。 保留缓存 不仅保留最终镜像的缓存,还保留中间镜像的缓存。 do...
(Address already in use xxx) or (No buffer space available (maximum connections reached) connect)
No buffer space available (maximum connections reached?): connect Address already in use xxx 123一般可以先查看代码中是否有一些连接未关闭1. 比如es的restclient,或者其他的httpclient2. 再或者可以检查下是否有长时间占用未被释放的jdbc connection
BigDecimal工具类小记
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120...
uniq命令
语法1uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件] 参数: -c或--count 在每列旁边显示该行重复出现的次数。 -d或--repeated 仅显示重复出现的行列。 -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。 -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。 -u或--unique 仅显示出一次的行列。 -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。 --help 显示帮助。 --version 显示版本信息。 [输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据; [输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
xargs命令用法
xargs 一般是和管道一起使用。 命令格式: 1somecommand |xargs -item command 参数: -a file 从文件中读入作为 stdin -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。 -p 当每次执行一个argument的时候询问一次用户。 -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。 -t 表示先打印命令,然后再执行。 -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。 -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。 -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。 -L num 从标准输入一次读取 num 行送给 command 命令。 -l 同 -L。 -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改...
NodeJs整合elk+zipkin,输出日志到logstash
依赖 web框架(要求2.7+) 1"koa": "^2.13.1" 日志(基于tcp协议) 12"log4js": "^3.0.5","log4js-logstash-tcp": "^2.0.0" zipkin 12"zipkin-instrumentation-koa": "^0.22.0","zipkin-transport-http": "^0.22.0" 代码(ziplin部分)1234567891011# 下游(上游略,上游改localServiceName即可)const {Tracer, BatchRecorder, ExplicitContext} = require('zipkin');const {koaMiddleware} = require('zipkin-instrumentati...
