Lambda(Golang)でイベントデータをいい感じにパースする

Posted 21. March 2024

Programming #Go #Lambda #AWS

Table of Contents

はじめに

Lambdaで色々なイベントソース(SQS, SNS, EventBridge etc.)からのデータをハンドリングする必要があり、各サービス固有の差分を吸収して欲しいデータを取得する処理を実装する機会があったのでメモしておきます。

ベースはこちらの記事を参考にしています。 ...


READ MORE

Time to read 3 min

EnvoyでgRPCのヘルスチェックをHTTP/2で公開する(GKE Ingress向け)

Posted 23. July 2023

Infrastructure #envoy #GKE #GCP #Kubernetes #gRPC

最近、GKE Ingressで立てたロードバランサーでgRPCサーバーを公開するようなことをやったのですが、思ったよりも面倒で大変だったので備忘録も兼ねて記事化しておこうと思います。

Table of Contents

背景

元々GKE上に構築したgRPCサーバーをgrpc-gatewayで公開していたのですが、それを直接公開することになりました(クライアント起因でHTTPにする必要があったが、その必要が無くなったため)。 ...


READ MORE

Time to read 5 min

特定Podのeventをリストアップするコマンド

Posted 30. March 2023

Infrastructure #Kubernetes #snippet

K8s podがdeleteされるときにReadiness probeが失敗する事象を調査していて、特定のpodのeventをリストアップする方法を探すのに少し手間取ったのでメモしておきます。

kubectl get events --sort-by .lastTimestamp --field-selector involvedObject.name={your-pod-name}

なお、ソートやフィルタリング条件を変えたい場合は、kubectl get events -o jsonでどんな構造でフィールド指定すれば良いか確認することができます。 ...


READ MORE

Time to read 1 min

NginxでOpenTelemetry(旧バージョンを含む)

Posted 26. March 2023

Observability #OpenTelemetry #Go #nginx

NginxでOpenTelemetryを使ってみたかったので色々調べてみました(仕事でも一部Nginxを置いているサーバーがあるというのもあり)。

instrumentationできることはもちろんですが、アクセスログの末尾にtrace idやspan idを渡せれば既存のアクセスログの出力方法はそのままで、DatadogのようなSaaS側でログとトレーシングを紐付けることが可能になるのでよりシームレスに移行することが可能になるかと思います。 ...


READ MORE

Time to read 6 min

OpenTelemetryとOpencensusを共存させる

Posted 12. February 2023

Observability #OpenTelemetry #OpenCensus #Tracing #APM #Go

最近Spanner周りのレイテンシーが気にあることがあり、とりあえずgRPCのTracerを入れてみたはいいものの、イマイチしっくり来る情報が取れませんでした。

もともとSpanner clientにはOpenCensusによるトレーシングがすでに実装されていますが、アプリのトレーシングで使用しているFWがOpenTelemetryだったので仕方なくotelgrpcを使用してお茶を濁していたのですが、特にSpanner固有のイベント(トランザクションのリトライとか)を確認できればもう少し深い洞察ができそうだなと思い、共存する方法を調査しました。 ...


READ MORE

Time to read 2 min