Fluentdバッファ(2)-Gin実装とFluentd接続のテスト
こんにちは!
私はカルビ餃子が好きな開発者の任太彬です.
Fluentdバッファのテスト(1)-Ginを使用してWebサーバを作成し、Fluentdと組み合わせて使用します.
△最初のポスターを見なかったら、リンクで見てください.
まずginをインストールするには、次のコードを入力します.
ginを使用したWebサーバを実現し、次に一貫した操作を行います.
まずモジュールをインストールし、Fluentdにログを送信します.
ginで作成したコードに追加します.
コードについて簡単に説明します.loggerとlogErrorを完全な変数として宣言し、init関数を使用してサーバの実行前にfluentd log設定を行います.
FluentNetworkdオプションで「tcp」を設定し、Fluentdの入力pluginの1つであるforwardを使用します.次にtag値とdataを作成してfluentdに値を送信します.
次に、このロケーションの最後の部分Fluentdのdockerイメージを作成します.
全部で2種類あります.
Dockerfileはfluentdを実行するためのconfファイルとDockerイメージを作成します.
まず、fluentdを実行するためにconfファイルを作成します.
試験があるconfというファイルを作成します.
あなたがよく実行していると思っていればいいです.
これがGin Webサーバの実装と一貫性です~~
次のプレゼンテーションでは、FluentdとFluentdの連動とバッファテストの最初のケースを行います.
私はカルビ餃子が好きな開発者の任太彬です.
Fluentdバッファのテスト(1)-Ginを使用してWebサーバを作成し、Fluentdと組み合わせて使用します.
△最初のポスターを見なかったら、リンクで見てください.
まずginをインストールするには、次のコードを入力します.
go get -u github.com/gin-gonic/gin
インストールが完了したら、簡単にGetMappingを行いましょう.package main
import (
"github.com/gin-gonic/gin"
"log"
"net/http"
)
func getting(c *gin.Context) {
log.Println("testtest")
c.String(http.StatusOK, "hello world")
}
func main() {
//gin 선언하기
router := gin.Default()
//Get Mapping
router.GET("/", getting)
//서버 실행
router.Run()
}
上記のコードを実行してlocalhost:8080にアクセスすると、helloworldが表示されます.ginを使用したWebサーバを実現し、次に一貫した操作を行います.
まずモジュールをインストールし、Fluentdにログを送信します.
go get github.com/fluent/fluent-logger-golang/fluent
上記コマンドでインストール可能:)ginで作成したコードに追加します.
package main
import (
"github.com/fluent/fluent-logger-golang/fluent"
"github.com/gin-gonic/gin"
"net/http"
)
var logError error
var logger *fluent.Fluent
func init() {
logger, logError = fluent.New(fluent.Config{FluentNetwork: "tcp"})
if logError != nil {
panic(logError.Error())
}
}
func getting(c *gin.Context) {
tag := "myapp.log"
var data = map[string]string{
"foo": "bar",
"hoge": "hoge",
}
logger.Post(tag, data)
c.String(http.StatusOK, "hello world")
}
func main() {
//gin 선언하기
router := gin.Default()
//Get Mapping
router.GET("/", getting)
//서버 실행
router.Run()
}
ginがやるべき部分はもう全部やったコードについて簡単に説明します.loggerとlogErrorを完全な変数として宣言し、init関数を使用してサーバの実行前にfluentd log設定を行います.
FluentNetworkdオプションで「tcp」を設定し、Fluentdの入力pluginの1つであるforwardを使用します.次にtag値とdataを作成してfluentdに値を送信します.
次に、このロケーションの最後の部分Fluentdのdockerイメージを作成します.
全部で2種類あります.
Dockerfileはfluentdを実行するためのconfファイルとDockerイメージを作成します.
まず、fluentdを実行するためにconfファイルを作成します.
試験があるconfというファイルを作成します.
# vi test.conf
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match *.log>
@type stdout
</match>
test.confファイルのコードを簡単に説明します.forwardというinput pluginを使用してデータを受信し、stdoutというplugin出力値を使用できます.FROM tae2089/ubuntu:1.1
WORKDIR /home/ubuntu
USER ubuntu
COPY test.conf /home/ubuntu
RUN sudo apt-get update -y
RUN sudo apt-get install -y git vim patch make bzip2 autoconf automake libtool bison curl ruby-full
RUN sudo gem install bundler
RUN sudo gem install fluentd
上記の内容を使用してDockerfileを作成すればよい.ここでテストconfファイルとDockerfileの場所は同じ線上にある必要があります.docker build . -t fluentd_test
docker run -it -d --rm --name fluentd_gin -p 24224:24224 fluentd_test:latest
docker exec -it agitated_elgamal sh -c "fluentd -c test.conf"
上記のコマンドを順番に実行するとfluentdが実行されます.最後に確認する必要があるのは入力した値です.postmanを使用するか、ブラウザにlocalhost:8080を直接入力してアクセスできます.あなたがよく実行していると思っていればいいです.
これがGin Webサーバの実装と一貫性です~~
次のプレゼンテーションでは、FluentdとFluentdの連動とバッファテストの最初のケースを行います.
Reference
この問題について(Fluentdバッファ(2)-Gin実装とFluentd接続のテスト), 我々は、より多くの情報をここで見つけました https://velog.io/@tae2089/Fluentd-버퍼-테스트-하기2-Gin구현-및-Fluentd연결テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol