logging - GCP 日志路由器接收器未将日志路由到主题?
问题描述
上下文:我正在尝试通过日志接收器将 GCP 审核日志存储在 Pub/Sub 主题中,以便我可以将这些消息提取到订阅中(并让第 3 方订阅该订阅。
尝试的解决方案:
带有包含过滤器的日志接收器:logName:"cloudaudit.googleapis.com"
将日志路由到-> Pub/Sub 主题以存储这些消息->订阅(基于拉取)以查看这些消息。
问题:接收器中的日志似乎没有出现在主题中。当我尝试查看主题中的消息时(通过单击 GCP GUI 中的 pull),我没有收到任何消息,即使我确定存在审核日志(我对上面的包含过滤器运行了查询)并继续非常频繁地生成。
问题:为什么日志没有被路由到主题,或者当我从主题中提取时,为什么主题没有显示日志?
解决方案
这是一个权限问题。当你创建一个 sink 时,这个 sink 作为一个身份,你可以这样获取
gcloud logging sinks describe \
--format='value(writerIdentity)' <SINK_NAME>
然后,授予此身份发布到 pubsub 的权限,例如
gcloud pubsub topics add-iam-policy-binding <TOPIC_ID> \
--member=<WRITER_IDENTITY> --role=roles/pubsub.publisher
编辑 1
虽然控制台
推荐阅读
- javascript - 如何将 Json 数组转换为 JSON 对象并保持元素的顺序
- javascript - 为什么我的过渡不适用于班级切换?
- android - Android:结果按下的活动关闭应用程序
- ruby-on-rails - 分配分支条件太高 robocop 进攻
- c - 没有数组的结构的生命周期
- java - Pentaho 勺子不启动
- python - Python.Net 无法解析 Microsoft.Data.SqlClient
- javascript - 如何使用正则表达式简化嵌套花括号?
- c++ - 如何导入GDAL lib Qt、Qt Creator?
- unit-testing - 如何在 Cgreen 的 c 文件上编译(gcc)?