有没有一种方法可以直接将日志发送给 Loki,而无需使用其代理之一?
例如,如果我有一个 API,是否可以从 API 直接向 Loki 发送请求/响应日志,而不受 Promtail 等的干扰?
我是 Loki 的新手,并且已在 Loki 中发出警报,但我在警报管理器中没有看到任何通知。Loki 工作正常(收集日志),Alertmanager 也工作正常(从其他来源获取警报),但来自 loki 的日志不会推送到 Alertmanager。
洛基配置:
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 127.0.0.1
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 1h # Any chunk not receiving new logs in this time will be flushed
max_chunk_age: 1h # All chunks will be flushed when they hit this age, default is 1h
chunk_target_size: 1048576 # Loki will attempt to build chunks up to 1.5MB, flushing first if chunk_idle_period or max_chunk_age is reached first …Run Code Online (Sandbox Code Playgroud) yaml grafana prometheus prometheus-alertmanager grafana-loki
我有一个由 3 列组成的表:系统、模块和块。表被填充在一个接受系统、模块和块的过程中,然后它检查三重奏是否在表中:
select count(*) into any_rows_found from logs_table llt
where system=llt.system and module=llt.module and block=llt.block;
Run Code Online (Sandbox Code Playgroud)
如果表中已有包含这三个值的行,则不要将它们写入表中,如果没有,则将它们写入。问题是,如果表具有值 'system=a module=b block=c' 并且我查询值 'does the table has system=a module=d block=e' 它返回 yes,或者,准确地说,any_rows_found=1。仅当我发送表中没有其值之一的三重奏组时才显示值 1,例如:'system=g module=h and block=i'。我的查询有什么问题?
我正在尝试通过 PM2 在服务器上部署我的 React 应用程序。我的 React 应用程序当前有 2 个环境:prod 和 dev。因此,在我的应用程序文件夹中,我有一个包含 2 个文件的环境文件夹:.dev.env和.prod.env。第一个用于调用本地 API,第二个用于生产 API URL。prod.env 如下所示:

当我想启动应用程序时,我使用命令npm run start:dev或npm run start:prod,具体取决于我希望应用程序运行的环境。
这里的问题是,当我尝试通过 PM2 部署我的应用程序时,我应该执行什么命令或修改才能确定我的应用程序部署在生产/生产模式下?
我当前的 PM2 配置文件如下所示:
{
apps : [
{
name : "random_app", //name of my app
script : "npm",
interpreter: "none",
args: "run start:dev"
}
]
}
Run Code Online (Sandbox Code Playgroud) grafana ×2
grafana-loki ×2
prometheus ×2
grafana-api ×1
oracle ×1
pm2 ×1
reactjs ×1
sql ×1
yaml ×1