【linux】Grok Debugger本地安装过程

2023-10-29

在这里插入图片描述

1.概述

转载:https://blog.51cto.com/fengwan/1758845

最近在使用ELK对日志进行集中管理,因为涉及到日志的规则经常要用到http://grokdebug.herokuapp.com/进行调试,但是因为国内网络的特殊原因网站用到的js文件无法访问,所以经常要使用科学上网才能进行调试,幸好程序已经在github上开源出来了,使得在本地搭建调试环境得以实现

1.Ruby的安装

yum -y install  openssl-devel gcc
wget https://ruby.taobao.org/mirrors/ruby/2.1/ruby-2.1.7.tar.gz
tar zxf ruby-2.1.7.tar.gz
cd ruby-2.1.7
./configure --prefix=/usr/local/ruby2.1.7
make && make install
echo 'export PATH=/usr/local/ruby2.1.7/bin:$PATH'>>/etc/profile
source /etc/profile

说明:别使用ruby最新的2.2或者2.3的版本,可能出现部分组件无法安装

2.RubyGems工具安装

wget http://rubygems.global.ssl.fastly.net/rubygems/rubygems-2.6.2.tgz
tar zxf rubygems-2.6.2.tgz
cd rubygems-2.6.2
ruby setup.rb

3.替换gem源,又是由于网络环境的问题,访问官方源非常慢

gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
gem sources -l

4.Grokbug的安装

mkdir /usr/local/grokbug
cd /usr/local/grokbug
wget https://codeload.github.com/nickethier/grokdebug/zip/master
unzip master
mv grokdebug-master/* .
rm -rf grokdebug-master/

5.Ruby组件安装(以下组件都对版本有相应的要求)

查看缺少的组件

ruby config.ru

就会提示组件及对应的版本

gem install bundler
gem install cabin -v=0.5.0
gem install haml -v=3.1.7
gem install jls-grok -v=0.10.10
gem install json -v=1.7.5
gem install kgio -v=2.8.0
gem install rack -v=1.4.1
gem install rack-protection -v=1.2.0
gem install raindrops -v=0.11.0  
gem install shotgun -v=0.9
gem install tilt -v=1.3.3
gem install sinatra -v=1.3.3
gem install unicorn -v=4.6.3

6.启动服务

nohup bundle exec unicorn -p 8080 -c ./unicorn &

上面的8080就是访问的端口,可以自定义

7.替换Google的jquery源

cd views
sed -i 's#//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js#//lib.sinaapp.com/js/jquery/1.8.1/jquery.min.js#g' index.haml
sed -i 's#//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js#//lib.sinaapp.com/js/jquery-ui/1.9.2/jquery-ui.min.js#g' index.haml
sed -i 's#//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js#//lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js#g' patterns.haml
sed -i 's#//ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/ui-lightness/jquery-ui.css#//lib.sinaapp.com/js/jquery-ui/1.9.0/themes/ui-lightness/jquery-ui.css#g' layout.haml
sed -i 's#//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js#//lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js#g' discover.haml

以上将使用google的源替换为国内的新浪源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【linux】Grok Debugger本地安装过程 的相关文章

  • Web 应用程序的带宽和流量模拟器?

    您能否建议如何创建一个测试环境来模拟 Web 应用程序中的各种类型的带宽和流量 或者也许是一个针对本地主机执行此操作的开源程序 我认为在编写网络应用程序时这是一个非常重要的主题 但这不是一个常见的主题 我能想象创建这种环境的唯一方法是在本地
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 如何使用 echo 写入非 ASCII 字符?

    如何写非ASCII http en wikipedia org wiki ASCII使用 echo 的字符 是否有转义序列 例如 012或类似的东西 我想使用以下方法将 ASCII 字符附加到文件中 echo gt gt file 如果您关
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • Fortran 中的共享库,最小示例不起作用

    我试图了解如何在 Linux 下的 Fortran 中动态创建和链接共享库 我有两个文件 第一个 liblol f90 看起来像这样 subroutine func print lol end subroutine func 我用它编译gf
  • 查看 Linux 上的多核或多 CPU 利用率

    我有一个在 Linux 上运行的程序 我需要确定它如何利用所有 CPU 内核 有没有什么程序可以查看这些信息 跑过 top 命令并按下 1 查看各个核心
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • C++:Linux平台上的线程同步场景

    我正在为 Linux 平台实现多线程 C 程序 其中我需要类似于 WaitForMultipleObjects 的功能 在搜索解决方案时 我发现有一些文章描述了如何在 Linux 中实现 WaitForMultipleObjects 功能
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • 裸机交叉编译器输入

    裸机交叉编译器的输入限制是什么 比如它不编译带有指针或 malloc 的程序 或者任何需要比底层硬件更多的东西 以及如何才能找到这些限制 我还想问 我为目标 mips 构建了一个交叉编译器 我需要使用这个交叉编译器创建一个 mips 可执行
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • Visual Studio - X11:缺少 DISPLAY 环境变量

    我正在使用 Visual Studio 2019 Enterprise 开发跨平台 Windows Linux x64 GUI 应用程序 在这个 2019 版本中 我们可以使用 Visual Studio调试平台 Windows 本机 和
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec

随机推荐

  • js 刷新页面但是不闪烁_Js历史

    1 Js是为了赶上java的潮流 把名字从LiveScript改为JavaScript 2 Js出现原因 最初的输入验证必须把表单数据发到服务端上才能验证 而最初的js是为了解决这个问题 3 Web浏览器只是js实现的可能的宿主环境之一 其
  • C - Candy Machine 二分

    传送门 题意 JB非常喜欢糖果 有一天 他发现了一台糖果机 里面有 N里面有糖果 看完机器的说明书后 他知道他可以选择一个子集 N糖果 每颗糖果都有一个甜味价值 JB 选择子集后 假设所选糖果的平均甜度值为 X 所有甜度值严格大于的糖果 X
  • 可以写进简历的软件测试电商项目(超详细版),不进来get一下?

    前言 说实话 在找项目的过程中 我下载过 甚至付费下载过 N多个项目 联系过很多项目的作者 但是绝大部分项目 在我看来 并不适合你拿来练习 它们或多或少都存在着 问题 比如 1 大部分项目是web项目 很难找到app项目 特别是有app安装
  • svn 服务器忽略文件夹,SVN忽略不提交文件夹

    层次分析模型 AHP 及其MATLAB实现 今天用将近一天的时间学习了层次分析模型 AHP 主要参考了一份pdf 这个网站 和暨南大学章老师的课件 现写出一些自己总结的要点 一 层次分析法的基本步骤 角度一 实际问题 分解 gt SQL S
  • spring 总结

    1 spring是什么 是一个开源的控制反转和面向切面的容器框架 2 控制反转就是应用本身不负责依赖对象的创建和维护 依赖对象的创建和维护是由外部容器负责的 这样控制权就由应用转移到了外部容器 控制权的转移就是所谓反转 3 依赖注入 在运行
  • 有头链表实现(C++描述)

    有头链表实现 include
  • PAT(Advanced Level)刷题指南 —— 第八弹

    一 1015 Reversible Primes 进制转换 质数判定 1 问题描述 不断给出两个数 N 和 D 直到输入负数终止 判断 N 是否为素数 并以 D 为基数倒转该数后 判断转化为 10进制 后还是不是素数 如果都满足 就输出Ye
  • [数值计算-19]:万能的任意函数的数值求导数方法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120378620 目录 第1章 前言
  • C++ inline内联函数详解

    函数是一个可以重复使用的代码块 CPU 会一条一条地挨着执行其中的代码 CPU 在执行主调函数代码时如果遇到了被调函数 主调函数就会暂停 CPU 转而执行被调函数的代码 被调函数执行完毕后再返回到主调函数 主调函数根据刚才的状态继续往下执行
  • for循环2(python)

    在python中 for循环的功能更加强大 对于可迭代对象的遍历更加的方便 可迭代对象 字符串 列表 元组等可以通过下标来访问元素的数据类型 同时这种数据类型也可以使用切片 例如我们遍历一个字符串 str hello for i in st
  • python时间序列动图_Python绘制时间序列数据的时序图、自相关图和偏自相关图

    时序图 自相关图和偏相关图是判断时间序列数据是否平稳的重要依据 本文涉及的扩展库numpy pandas statsmodels一般可以使用pip进行在线安装 如果安装失败 可以到http www lfd uci edu gohlke py
  • Java 基本命名规则

    一 项目名称 所有单词全部用小写 如 testjavaproject studentmanagement等 二 Java project中相关命名 1 包名 包名统一使用小写 点分隔符之间有且仅有一个自然语义的英语单词 用域名反过来写 不会
  • 关于uni-app课程开发的一心一得

    在当今互联网和移动互联网的时代 APP成为了人们生活和工作中不可或缺的一部分 而对于开发者来说 如何快速 高效 跨平台地开发一款APP也成为了关注焦点 而Uni App就是一种可以快速开发跨平台APP的方式 通过一套代码可以同时发布到多个平
  • Python3《机器学习实战》学习笔记(四):朴素贝叶斯实战篇之新浪新闻分类

    一 朴素贝叶斯改进之拉普拉斯平滑 上篇文章提到过 算法存在一定的问题 需要进行改进 那么需要改进的地方在哪里呢 利用贝叶斯分类器对文档进行分类时 要计算多个概率的乘积以获得文档属于某个类别的概率 即计算p w0 1 p w1 1 p w2
  • cocos2d-html5 碰撞检测的几种方法

    游戏中的碰撞还是比较多的 比如角色与角色的碰撞 角色与墙壁的碰撞 角色与怪物的碰撞等 都需要 进行碰撞的检测 来触发一定的事件 最近在尝试制作一个小游戏的时候需要用到碰撞检测 然后就查了下资料 并在论坛进行提问等算是找到了比较满意的碰撞检测
  • 大白话用Transformer做Object Detection

    作者 张恒 单位 法国国家信息与自动化研究所 研究方向 目标检测 传感器融合 记录一下隔离期间学习的 DETR 1 系列文章 追求简单 清晰 易懂 分上下两部分 上篇介绍 DETR 的基本原理 下篇是针对 DETR 缺点的改进工作 大白话
  • Android动态权限申请框架

    XmPermissions 项目介绍 Android动态权限申请框架 Github地址 https github com lhm0603 XmPermissionsProject 使用说明 XmPermissions 支持 Android
  • 2020年蓝桥杯

    专栏 蓝桥杯题目 目录 一 门牌制作 二 跑步锻炼 三 蛇形填数 四 排序 五 寻找2020 六 成绩统计 七 单词分析 八 数字三角形 九 平面切分 一 门牌制作 题目描述 小蓝要为一条街的住户制作门牌号 这条街一共有2020 位住户 门
  • 【NLP】第 1 章 : 语言模型简介

    使人不同于地球上其他动物物种的最大发展之一是语言的进化 这使我们能够交流和交流想法和思想 从而导致包括互联网在内的许多科学发现 这就是语言的重要性 因此 当我们涉足人工智能领域 时 除非我们确保机器能够理解和理解自然语言 否则在那里取得的进
  • 【linux】Grok Debugger本地安装过程

    1 概述 转载 https blog 51cto com fengwan 1758845 最近在使用ELK对日志进行集中管理 因为涉及到日志的规则经常要用到http grokdebug herokuapp com 进行调试 但是因为国内网络