发布于2026-07-27 阅读(0)
扫一扫,手机访问
在日常运维Ja va应用的过程中,日志监控可以说是一项基本功。无论是排查线上故障,还是追踪系统性能,手里有没有一套趁手的日志工具,往往决定了解决问题的效率。今天,我们来聊聊Ubuntu环境下,几种常用的Ja va日志监控方法,从命令行到集中化平台,覆盖不同场景下的需求。
命令行工具,可以说是最基础、最直接的监控方式,适合快速定位问题或临时检查日志。

tail命令,用来实时跟踪日志文件的最新内容,调试时非常顺手。比如,执行 tail -f /path/to/ja va.log,就能持续看到新增的行,按 Ctrl+C 停止;如果只想看最后100行,用 tail -n 100 /path/to/ja va.log 就够了。grep命令,用来过滤日志中的特定内容,比如错误信息。执行 grep "ERROR" /path/to/ja va.log,就能快速定位所有包含“ERROR”的行;如果不在意大小写,grep -i "warning" /path/to/ja va.log 可以帮你找到“warning”相关的记录。less命令,适合分页查看那些体积庞大的日志文件,支持按 Page Up/Page Down 翻页,查看历史日志非常方便。用法很简单,less /path/to/ja va.log,按 q 退出。journalctl命令,主要针对以 systemd 服务方式运行的Ja va应用。比如,如果应用是通过 systemctl start my-ja va-app 启动的,那么用 journalctl -u my-ja va-app -f 就能实时查看服务日志,而 journalctl -u my-ja va-app --since "2025-09-26" 可以查看指定日期的日志。对于生产环境,或者需要长期存储和深度分析的场景,命令行工具就显得有些力不从心了。这时候,建议引入日志管理工具,实现日志的集中收集、搜索和可视化。
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - 添加密钥,然后添加仓库 echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list,最后运行 sudo apt update && sudo apt install elasticsearch。sudo apt install logstash。sudo apt install kibana。/etc/logstash/conf.d/ja va.conf 文件,内容如下:input {file {path => "/path/to/ja va.log"start_position => "beginning"sincedb_path => "/dev/null"# 首次运行时忽略已读记录}}filter {grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{GREEDYDATA:logmessage}" } }# 根据日志格式调整grok模式date { match => ["timestamp", "ISO8601"] }}output {elasticsearch { hosts => ["localhost:9200"] }stdout { codec => rubydebug }# 控制台输出,调试用}sudo systemctl start elasticsearch、sudo systemctl start logstash、sudo systemctl start kibana,然后访问 http://localhost:5601 查看Kibana界面。如果需求更进一步,需要监控Ja va应用的性能指标(比如CPU、内存、线程)或错误信息,那么以下工具会更合适。
sudo apt install prometheus,然后编辑 /etc/prometheus/prometheus.yml,在 scrape_configs 部分添加Ja va应用的抓取目标。io.micrometer micrometer-registry-prometheus 1.10.5 并在 application.properties 中开启Actuator端点:management.endpoints.web.exposure.include=prometheus。wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - 添加密钥,然后添加仓库 echo "deb https://packages.grafana.com/oss/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/grafana.list,接着 sudo apt update && sudo apt install grafana,最后启动服务 sudo systemctl start grafana-server。访问 http://localhost:3000(默认账号 admin/admin),导入Prometheus数据源并创建仪表盘。git clone https://github.com/getsentry/self-hosted.git,然后运行 cd self-hosted && ./install.sh,配置 config.yml(如邮件通知),最后用 docker-compose up -d 启动服务。日志文件长期运行,很快就会占用大量磁盘空间,所以日志轮替是必须考虑的一环。logrotate 工具可以定期轮换、压缩和删除旧日志,是管理日志文件大小的利器。
/etc/logrotate.d/ja va-app,内容如下:/path/to/ja va.log {daily# 每天轮换rotate 7 # 保留最近7份compress # 压缩旧日志(如.gz格式)missingok# 若日志不存在也不报错notifempty # 若日志为空则不轮换copytruncate # 复制原日志后清空(不影响正在写入的日志)}sudo logrotate -d /etc/logrotate.d/ja va-app 模拟轮换,确认无误后,用 sudo logrotate -f /etc/logrotate.d/ja va-app 强制立即轮换。以上方法基本覆盖了从基础查看、实时监控到集中化分析的全流程,可以根据实际需求灵活组合。比如,开发阶段用 tail 和 grep 快速调试,生产环境则用 ELK 或 Prometheus+Grafana 实现长期监控。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8