发布于2026-07-18 阅读(0)
扫一扫,手机访问
在Debian系统上,用Golang写日志程序再对接可视化工具,这个需求其实很常见,但很多人容易卡在数据采集和展示的衔接上。下面这套方案,从日志生成到可视化展示,每一步都给你拆明白,照着做就行。

操作之前,先确认系统里有没有装Golang。如果还没装,终端里跑两行命令就搞定:
sudo apt update
sudo apt install golang
接下来写一个日志生成器,让它每秒往文件里写一条带时间戳的记录。代码很短,核心逻辑就是打开文件、设置日志输出、然后循环写:
package main
import (
"log"
"os"
"time"
)
func main() {
logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening log file: %v", err)
}
defer logFile.Close()
log.SetOutput(logFile)
log.SetFlags(log.LstdFlags | log.Lshortfile)
for {
log.Printf("This is a log entry at %s", time.Now().Format(time.RFC3339))
time.Sleep(1 * time.Second)
}
}
编译并启动,等待几秒就能看到当前目录下生成了 app.log 文件,并且每秒新增一条日志:
go build -o log_generator
./log_generator
日志有了,但得让它变成图表才直观。这里用 Prometheus + Grafana 这套经典组合,完全开源,社区活跃,配置起来也不复杂。
先去 Prometheus 官方仓库下个二进制包,解压就能用:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvfz prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
编辑 prometheus.yml,加一个抓取任务,指向你的 Golang 应用(假设应用暴露了 metrics 端口 8080):
scrape_configs:
- job_name: 'golang_app'
static_configs:
- targets: ['localhost:8080']
在 Prometheus 目录下直接启动:
./prometheus --config.file=prometheus.yml
Grafana 的安装用官方源最省事:
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:grafana/stable
sudo apt update
sudo apt install grafana
启动服务后,浏览器访问 http://localhost:3000,默认账号密码都是 admin:
sudo systemctl start grafana-server
进入 Grafana,左侧菜单点齿轮图标 → Data Sources → Add data source,选 Prometheus,URL 填 http://localhost:9090,然后 Sa ve & Test。
最后一步,点左侧“+”号 → Dashboard → Add new panel。在 Query 选项卡里选择 Prometheus 数据源,输入查询语句就能看到实时数据曲线了,比如:
rate(log_entries_total[1m])
调整好图表样式,点击 Apply,一个实时日志可视化面板就诞生了。
这套流程走下来,从日志生成到可视化展示的链路就彻底打通了。后续如果想做更复杂的告警或历史分析,Prometheus 和 Grafana 的能力也足够支撑,完全可以在生产环境落地。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8