AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 469684
Accepted
Soviero
Soviero
Asked: 2013-01-17 08:22:10 +0800 CST2013-01-17 08:22:10 +0800 CST 2013-01-17 08:22:10 +0800 CST

使用 Zabbix 监控 Tomcat 实例

  • 772

好的,先说一点背景故事,

我们有一个 Tomcat 实例,它作为一种“网关”连接到多个服务提供商。如果此 Tomcat 实例无法连接到给定的提供程序,它将生成错误。这些错误存储在日志文件中。

问题是我们需要监控文件的不仅仅是一个给定的字符串,我们需要使用几个正则表达式来过滤所有无意义的东西,这样我们就不会因为用户忘记密码而在凌晨 3 点醒来。;)

我已经尝试创建一个位于 Zabbix 和 Tomcat 之间的 python 脚本,但是对于超过 200MB 的日志文件(每天轮换),它过于占用 CPU(15 秒以上为 100%)。我尝试添加一个“sleep(0.000005)”来减慢它的速度,但现在它需要很长时间(> 1 分钟)并且仍然使用 25% 的 CPU ...

总而言之,解决方案掩盖了问题,我想与你们联系,看看你们是否知道更好的解决方案,或者其他可能有帮助的方法。

tomcat
  • 3 3 个回答
  • 3519 Views

3 个回答

  • Voted
  1. Naoyuki Yamada
    2013-01-18T00:36:50+08:002013-01-18T00:36:50+08:00

    (1)Zabbix可以自己处理正则表达式。您可以使用带有 zabbix 代理的正则表达式来监视日志。

    https://www.zabbix.com/documentation/1.8/manual/log_file_monitoring

    (2)使用'nice'命令可以降低脚本的CPU使用优先级。

    http://linux.die.net/man/1/nice

    除此之外,还需要更详细的信息。* 机器规格(CPU、内存、存储设备等) * python 脚本的来源

    • 1
  2. Best Answer
    Soviero
    2013-01-20T20:42:11+08:002013-01-20T20:42:11+08:00

    好吧,最后我们使用了一个过于复杂的 Python 脚本来完成这项工作,直到出现更可行的东西。

    只是为了让您了解这个“脚本”有多复杂,这里是它必须存在的最小文件/文件夹才能工作:

    /usr/local/bin/tomcat_log_alert.py (755)
    /usr/local/bin/tomcat_ack_errors.py (755)
    /etc/${COMPANY}/tomcat-log-alert.conf (644)
    /etc/cron.d/tomcat-log-alert (644)
    /var/log/${COMPANY}/tomcat_errors/ (755)
    /var/log/${COMPANY}/tomcat_errors_ack/ (755)
    /etc/zabbix/zabbix_agentd.d/tomcat-log-alert.conf (644)
    

    我真的不希望成为这个水力压裂创可贴的唯一维护者。

    • 0
  3. Log File Monitor
    2013-03-04T05:31:00+08:002013-03-04T05:31:00+08:00

    以下内容值得一看:

    logrobot autonda /prod/tomcat/error.log 60m 'tomcat errors' 'password forgotten|failed login' 1 2 -show
    

    上面的命令将在日志文件中搜索任何包含“tomcat 错误”的行。从它找到的行中,它将删除包含以下内容的所有行:

    • 忘记密码
    • 登录失败

    以上只是在一个日志文件中搜索定义的条目。如果您想在多个日志文件中搜索条目会怎样?

    你可以尝试这样的事情:

    logrobot automul /prod/tomcat/error.log_MULTIPLE 60m 'tomcat errors' 'password forgotten|failed login' 1 2 -show
    

    我可能有点偏离所以你应该检查这些网站之一以获得确切的用法:

    • Nagios 日志监控
    • 或者logrobot工具的主页
    • 0

相关问题

  • jvm性能调优技巧/资源?

  • 使 Jakarta 连接器与 IIS 一起工作时出现问题

  • 如何禁用tomcat缓存?我遇到了奇怪的静态文件问题

  • Hudson 无法在 tomcat5 中启动

  • Tomcat 6 HTTP 日志滚动和清除

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve