jaeger es

158 阅读1分钟

启动 es: docker run -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" -d docker.elastic.co/elasticsearch/elasticsearch:7.17.11

清理 docker 空间: stackoverflow.com/questions/4…

启动 jaeger: SPAN_STORAGE_TYPE=elasticsearch nohup ./jaeger-collector --es.version=7 --es.use-aliases=true > /dev/null 2>&1 & SPAN_STORAGE_TYPE=elasticsearch nohup ./jaeger-query --es.version=7 --es.use-aliases=true > /dev/null 2>&1 & [2] 15553

查看一级子目录大小: du -h --max-depth=1 |sort

rollover:

package main

import (
        "bytes"
        "log"
        "os/exec"
        "strings"
        "time"
)

func main() {
        // remove -it to not tty
        // https://stackoverflow.com/questions/43099116/error-the-input-device-is-not-a-tty
        cmds := [][]string{
                []string{"docker", "run", "--rm", "--net=host", "-e", `CONDITIONS={"max_age": "2d"}`, "jaegertracing/jaeger-es-rollover:latest", "rollover", "http://localhost:9200"},
        }
        for _, cmd := range []string{
                `docker run  --rm --net=host -e UNIT=days -e UNIT_COUNT=7 jaegertracing/jaeger-es-rollover:latest lookback  http://localhost:9200`,
                `docker run  --rm --net=host -e ROLLOVER=true jaegertracing/jaeger-es-index-cleaner:latest 7 http://localhost:9200`,
        } {
                strs := strings.Fields(cmd)
                cmds = append(cmds, strs)
        }

        for _, cmd := range cmds {
                for _, w := range cmd {
                        log.Println(w)
                }
        }

        for _, cmd := range cmds {
                var b bytes.Buffer
                execcmd := exec.Command(cmd[0], cmd[1:]...)
                execcmd.Stdout = &b
                execcmd.Stderr = &b
                err := execcmd.Run()
                if err != nil {
                        log.Fatal(err, cmd, b.String())
                }
        }
        t := time.NewTicker(24 * time.Hour)
        for {
                select {
                case <-t.C:
                        for _, cmd := range cmds {
                                var b bytes.Buffer
                                execcmd := exec.Command(cmd[0], cmd[1:]...)
                                execcmd.Stdout = &b
                                execcmd.Stderr = &b
                                err := execcmd.Run()
                                if err != nil {
                                        log.Fatal(err, cmd, b.String())
                                }
                        }
                }
        }
}