From 1ebfea34d4255abd7303fceadd3009054cd4c6f1 Mon Sep 17 00:00:00 2001 From: Zakhar Bessarab Date: Wed, 21 Jun 2023 11:04:03 +0400 Subject: [PATCH] deployment/logs-benchmark: add benchmark setup (#4470) * deployment/logs-benchmark: add benchmark setup Signed-off-by: Zakhar Bessarab * deployment/logs-benchmark: update readme info - add sizes of uncompressed logs - add more info about dashboard Signed-off-by: Zakhar Bessarab --------- Signed-off-by: Zakhar Bessarab --- deployment/logs-benchmark/docker-compose.yml | 134 ++++ deployment/logs-benchmark/du/config.yml | 3 + .../elk/elastic/elasticsearch.yml | 4 + .../elk/filebeat/filebeat-elastic.yml | 15 + .../elk/filebeat/filebeat-vlogs.yml | 19 + .../logs-benchmark/elk/kibana/kibana.yml | 3 + deployment/logs-benchmark/generator/main.go | 101 +++ .../logs-benchmark/grafana-dashboard.png | Bin 0 -> 156229 bytes .../grafana/dashboards/comparison.json | 680 ++++++++++++++++++ .../grafana/dashboards/stats.json | 393 ++++++++++ .../provisioning/dashboards/dashboard.yml | 9 + .../provisioning/datasources/datasource.yml | 8 + deployment/logs-benchmark/readme.md | 86 +++ .../logs-benchmark/source_logs/.gitignore | 2 + .../logs-benchmark/source_logs/download.sh | 34 + .../logs-benchmark/vmsingle/promscrape.yml | 24 + 16 files changed, 1515 insertions(+) create mode 100644 deployment/logs-benchmark/docker-compose.yml create mode 100644 deployment/logs-benchmark/du/config.yml create mode 100644 deployment/logs-benchmark/elk/elastic/elasticsearch.yml create mode 100644 deployment/logs-benchmark/elk/filebeat/filebeat-elastic.yml create mode 100644 deployment/logs-benchmark/elk/filebeat/filebeat-vlogs.yml create mode 100644 deployment/logs-benchmark/elk/kibana/kibana.yml create mode 100644 deployment/logs-benchmark/generator/main.go create mode 100644 deployment/logs-benchmark/grafana-dashboard.png create mode 100644 deployment/logs-benchmark/grafana/dashboards/comparison.json create mode 100644 deployment/logs-benchmark/grafana/dashboards/stats.json create mode 100644 deployment/logs-benchmark/grafana/provisioning/dashboards/dashboard.yml create mode 100644 deployment/logs-benchmark/grafana/provisioning/datasources/datasource.yml create mode 100644 deployment/logs-benchmark/readme.md create mode 100644 deployment/logs-benchmark/source_logs/.gitignore create mode 100755 deployment/logs-benchmark/source_logs/download.sh create mode 100644 deployment/logs-benchmark/vmsingle/promscrape.yml diff --git a/deployment/logs-benchmark/docker-compose.yml b/deployment/logs-benchmark/docker-compose.yml new file mode 100644 index 000000000..0d2763b75 --- /dev/null +++ b/deployment/logs-benchmark/docker-compose.yml @@ -0,0 +1,134 @@ +version: '3' + +services: + filebeat-elastic: + image: docker.elastic.co/beats/filebeat:8.8.0 + restart: on-failure + volumes: + - ./elk/filebeat/filebeat-elastic.yml:/usr/share/filebeat/filebeat.yml:ro + depends_on: [ elastic ] + + filebeat-vlogs: + image: docker.elastic.co/beats/filebeat:8.8.0 + restart: on-failure + volumes: + - ./elk/filebeat/filebeat-vlogs.yml:/usr/share/filebeat/filebeat.yml:ro + depends_on: [ vlogs ] + + generator: + image: golang:1.20-alpine + restart: always + working_dir: /go/src/app + volumes: + - ./generator:/go/src/app + - ./source_logs:/go/src/source_logs + command: + - go + - run + - main.go + - -logsPath=/go/src/source_logs/logs + - -outputRateLimitItems=10000 + - -outputRateLimitPeriod=1s + - -syslog.addr=filebeat-elastic:12345 + - -syslog.addr2=filebeat-vlogs:12345 + - -logs.randomSuffix=false + depends_on: [ filebeat-vlogs, filebeat-elastic ] + + elastic: + image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 + volumes: + - ./elk/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml + - elastic:/usr/share/elasticsearch/data + environment: + ES_JAVA_OPTS: "-Xmx2048m" + + # Run `make package-victoria-logs` to build victoria-logs image + vlogs: + image: docker.io/victoriametrics/victoria-logs:heads-logs-0-gcc3fa9cd3 + volumes: + - vlogs:/vlogs + ports: + - '9428:9428' + command: + - -storageDataPath=/vlogs + + kibana: + image: docker.elastic.co/kibana/kibana:8.8.0 + volumes: + - ./elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml + ports: + - '5601:5601' + depends_on: [ elastic ] + + beat-exporter-elastic: + image: trustpilot/beat-exporter:0.4.0 + command: + - -beat.uri=http://filebeat-elastic:5066 + + beat-exporter-vlogs: + image: trustpilot/beat-exporter:0.4.0 + command: + - -beat.uri=http://filebeat-vlogs:5066 + + cadvisor: + image: gcr.io/cadvisor/cadvisor:v0.47.0 + restart: unless-stopped + privileged: true + volumes: + - /:/rootfs:ro + - /var/run:/var/run:ro + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + - /dev/disk/:/dev/disk:ro + + node-exporter: + image: prom/node-exporter:latest + restart: unless-stopped + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + command: + - '--path.procfs=/host/proc' + - '--path.rootfs=/rootfs' + - '--path.sysfs=/host/sys' + - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' + + du-exporter: + image: ghcr.io/dundee/disk_usage_exporter/disk_usage_exporter-c4084307c537335c2ddb6f4b9b527422:latest + restart: unless-stopped + user: "root" + volumes: + - /var/lib/docker/volumes:/var/lib/docker/volumes:ro + - ./du/config.yml:/config.yml:ro + command: + - '--config=/config.yml' + + vmsingle: + image: victoriametrics/victoria-metrics:v1.91.2 + ports: + - '8428:8428' + command: + - -storageDataPath=/vmsingle + - -promscrape.config=/promscrape.yml + - -promscrape.maxScrapeSize=1Gb + volumes: + - vmsingle:/vmsingle + - ./vmsingle/promscrape.yml:/promscrape.yml + + grafana: + image: grafana/grafana:9.2.7 + depends_on: [vmsingle] + ports: + - 3000:3000 + volumes: + - grafanadata:/var/lib/grafana + - ./grafana/provisioning/:/etc/grafana/provisioning/ + - ./grafana/dashboards:/var/lib/grafana/dashboards/ + restart: always + +volumes: + elastic: + vlogs: + vmsingle: + grafanadata: {} diff --git a/deployment/logs-benchmark/du/config.yml b/deployment/logs-benchmark/du/config.yml new file mode 100644 index 000000000..04549df1b --- /dev/null +++ b/deployment/logs-benchmark/du/config.yml @@ -0,0 +1,3 @@ +analyzed-path: /var/lib/docker/volumes +bind-address: 0.0.0.0:9995 +dir-level: 1 diff --git a/deployment/logs-benchmark/elk/elastic/elasticsearch.yml b/deployment/logs-benchmark/elk/elastic/elasticsearch.yml new file mode 100644 index 000000000..4f2914833 --- /dev/null +++ b/deployment/logs-benchmark/elk/elastic/elasticsearch.yml @@ -0,0 +1,4 @@ +cluster.name: "bench" +network.host: 0.0.0.0 +xpack.security.enabled: false +discovery.type: single-node diff --git a/deployment/logs-benchmark/elk/filebeat/filebeat-elastic.yml b/deployment/logs-benchmark/elk/filebeat/filebeat-elastic.yml new file mode 100644 index 000000000..a8efb45f8 --- /dev/null +++ b/deployment/logs-benchmark/elk/filebeat/filebeat-elastic.yml @@ -0,0 +1,15 @@ +filebeat.inputs: + - type: syslog + format: rfc3164 + protocol.tcp: + host: "0.0.0.0:12345" + +output.elasticsearch: + hosts: [ "http://elastic:9200" ] + worker: 5 + bulk_max_size: 1000 + +http: + enabled: true + host: 0.0.0.0 + port: 5066 diff --git a/deployment/logs-benchmark/elk/filebeat/filebeat-vlogs.yml b/deployment/logs-benchmark/elk/filebeat/filebeat-vlogs.yml new file mode 100644 index 000000000..7bc4d755f --- /dev/null +++ b/deployment/logs-benchmark/elk/filebeat/filebeat-vlogs.yml @@ -0,0 +1,19 @@ +filebeat.inputs: + - type: syslog + format: rfc3164 + protocol.tcp: + host: "0.0.0.0:12345" + +output.elasticsearch: + hosts: [ "http://vlogs:9428/insert/elasticsearch/" ] + worker: 5 + bulk_max_size: 1000 + parameters: + _msg_field: "message" + _time_field: "@timestamp" + _stream_fields: "host.name,process.program,process.pid" + +http: + enabled: true + host: 0.0.0.0 + port: 5066 diff --git a/deployment/logs-benchmark/elk/kibana/kibana.yml b/deployment/logs-benchmark/elk/kibana/kibana.yml new file mode 100644 index 000000000..dbbdc4c6e --- /dev/null +++ b/deployment/logs-benchmark/elk/kibana/kibana.yml @@ -0,0 +1,3 @@ +server.name: kibana +server.host: "0.0.0.0" +elasticsearch.hosts: [ "http://elastic:9200" ] diff --git a/deployment/logs-benchmark/generator/main.go b/deployment/logs-benchmark/generator/main.go new file mode 100644 index 000000000..44401c74b --- /dev/null +++ b/deployment/logs-benchmark/generator/main.go @@ -0,0 +1,101 @@ +package main + +import ( + "bufio" + "encoding/binary" + "flag" + "fmt" + "log" + "log/syslog" + "math/rand" + "net" + "os" + "strconv" + "strings" + "time" +) + +var ( + logsPath = flag.String("logsPath", "", "Path to logs directory") + syslogAddr = flag.String("syslog.addr", "logstash:12345", "Addr to send logs to") + syslogAddr2 = flag.String("syslog.addr2", "logstash:12345", "Addr to send logs to") + randomSuffix = flag.Bool("logs.randomSuffix", false, "Whether to add a random suffix to a log line") + + outputRateLimitItems = flag.Int("outputRateLimitItems", 100, "Number of items to send per second") + outputRateLimitPeriod = flag.Duration("outputRateLimitPeriod", time.Second, "Period of time to send items") +) + +func main() { + flag.Parse() + startedAt := time.Now().Unix() + + logFiles, err := os.ReadDir(*logsPath) + if err != nil { + panic(fmt.Errorf("error reading directory %s:%w", *logsPath, err)) + } + + sourceFiles := make([]string, 0) + + for _, logFile := range logFiles { + if strings.HasSuffix(logFile.Name(), ".log") { + sourceFiles = append(sourceFiles, logFile.Name()) + } + } + log.Printf("sourceFiles: %v", sourceFiles) + log.Printf("running with rate limit: %d items per %s", *outputRateLimitItems, *outputRateLimitPeriod) + + limitTicker := time.NewTicker(*outputRateLimitPeriod) + limitItems := *outputRateLimitItems + limitter := make(chan struct{}, limitItems) + go func() { + for { + select { + case <-limitTicker.C: + for i := 0; i < limitItems; i++ { + limitter <- struct{}{} + } + } + } + }() + + for _, sourceFile := range sourceFiles { + log.Printf("sourceFile: %s", sourceFile) + f, err := os.Open(*logsPath + "/" + sourceFile) + if err != nil { + panic(err) + } + + syslogTag := "logs-benchmark-" + sourceFile + "-" + strconv.FormatInt(startedAt, 10) + logger, err := syslog.Dial("tcp", *syslogAddr, syslog.LOG_INFO, syslogTag) + if err != nil { + panic(fmt.Errorf("error dialing syslog: %w", err)) + } + logger2, err := syslog.Dial("tcp", *syslogAddr2, syslog.LOG_INFO, syslogTag) + if err != nil { + panic(fmt.Errorf("error dialing syslog: %w", err)) + } + + scanner := bufio.NewScanner(f) + for scanner.Scan() { + <-limitter + line := scanner.Text() + if *randomSuffix { + line = line + " " + randomString() + } + _ = logger.Info(line) + _ = logger2.Info(line) + } + + logger.Close() + logger2.Close() + } + +} + +func randomString() string { + buf := make([]byte, 4) + ip := rand.Uint32() + + binary.LittleEndian.PutUint32(buf, ip) + return net.IP(buf).String() +} diff --git a/deployment/logs-benchmark/grafana-dashboard.png b/deployment/logs-benchmark/grafana-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..659e83c2316383cfc4a1ceaa87a4467c544ba7ff GIT binary patch literal 156229 zcma%iWn5g#wbI|O$~LV(~j?u`U@r*UY!fd(2H zr>F0{x&L?XoB1&33+GoH>QwEj+Gp*x7Ex*{vbb2Uu+Y%ZaOLHsHPFy7=FrfdW=I`ofpCod>twH!j)%PkdSecI+ISb)zvBs*Z#{2 zZnozzqPo1CbyU41H7jc;uj!+tGuN`c^`P zMZE$ex@PN>a0&kVYNn^m9ZpP4RA01uIbg}1nB-T|=|41etJeOeaM+SNH4}c3@8O?X z*wFgvAu3MM`4Go=`b@euL$xE;S{t2VA^sr4L%FGKwAJtAG!G>uB7EuVVZ+3y||S!jl_s;`A_ zo}6N078=eHQy(8|IkDusjzVvk{fP~YN??#M@TB3ddp0JL`0%jwEALOgOz%5_?#cOF zKIbjP(;z9nGWLt*?0TScx{kG(r)<5yXt*cm`b}2>{Z#xDEOQ3_{K2!_Y;}1y)Og@s zAMinf+o``({!Va<*D?Mf>4<6Gj=zOxub@P9WkeiSY(S*@u-N0*)*mNHqr5$+56!&l z)biL(7Fufb%khS})7cyd<{7xev)rS_Y8{>7Xd2^mI?QY3c>{2{_UYkxaDXbjAGBHf z=oty<>a8YXTfOcSFI*+B+rmBg+Ufk(u6>q%#T?dl%1yQo-Zf!4(r{7o3wYe_>pptj z{;{^m?`kkbqg?LqHQ!q6x8t8)tok?xyOqLEEiuLVUJz(tGh3brL)1eBh$u)sDOi{d zpX%tKX|R&qEYA`Zm%rF`i4H61?-&LfYcDRM{=C3eHtU*y%=NZoBBWdor1$813MOi$ zCfi*ZmzNEzmbBBxX3>xhg2KWt$lX88>yWE;&89|BQ>M8}u$SUJ*k3y%mI>QUNSSoU z=j!L%g(Mn3?+kCLG8on0qozRTW%79p2GzM&A8{F(0U_PRUrj%W(4;LlAdyo_A`loC z*`EWj=GWT}v?A|=;{f)(qQ^+Oz5};??ffe?IM~$HtqhDy9f0ez2iJYc-eSJ(9zdFi97|ZL_7;V7DZ>o<>z@lo$Db zt^rWE>@2g}xnnlmSIbQ)6VsQLM+^VNQSmTSkXdU0XL2lO5NC4Knuq$+3OT>!3)fu^ zR-TQP2w!Vum3Zqn1?EmJygU|jhG>1Uuli1IG1QAal-Y}Qhoo0f`x)oe1gU_44kC=& z+*8d-MH$spcV;Wev(`6Lsh1oUlTKV_tXVM@+YVw%Z@lX+KiXwV9rQdJ(yWyv(&w*I zp4wT{BlR!DYV~Q)PF7eSWl( zY~2wT869tS)Tb;hV-N1iBP)wxINZu@y;Yq9wM7Pn zNPo;n4UqcIyw}TK5ym=%FC!b*Ba&dS^r(E;5#7=rXHnrZKfpp&E}q)`+^oIj}%QdA*|M}*Tw_mDUaXY>u0!o1`LlC z2k?&kPxuQaO+MY{}P(!q;XQ3jr_*XN26sX<1wfWut4e)X~m*#QqRWE z9=}lTyL|E^gv=TF+Il3@Kq1w5V`oPpx;F`sK|$;vjLOT05>DT`E)lKt^XWhZ3!lr+ zijb^rAO`mvI)%dpq*m{B-oWboq+y%-aTt?SR|}Q$@j-k#Q+V@q+78z2BRfN!n>biN zPy>VPa;%eZt3?t}6c_etNb2$iVo*T2zuOH4+Obauto7@$2x%51)Mod?Yd7*HJtybN z-t>jO^SI;69S;f^rt%L9BL$caDTU7q)^x7`Hs$~{-<-?Sq6Kr^XFTaB2^Qa&rz{?4Fv)7Dl?+Q z0}&C5yK}Z~uufOUxJ{KMy>@RpOZn~O1HRUo9-*f5;H_hC{LWb3|!=+xKKSqWkwJ zWZ~|W2@%)aj34+(0P0Cl`=2;03j7YP<%`NdU((}*1JY=e zTQ)dW4kr)5n&ql~0e&U%`kv0t)+e10IMfUH1332pt2kYZ=Xgx_ljr~0?#TQ)2k;vJ z?&j~kj5iq25Sya)qon3v2Ry!to_p%Y-v(D!ayKpk&kn(o{aF{;&rci;th?PAWqDeI zgY{|yh-~K^TWpr<6P|8mv3=(~-^&upMb!T=fu>~+qg&>40G*xhxE*Q#N({2|D)V7k zR!NhYuiRJU@RsBwXJZ^jhm2a$$Jn=C!VAD78R|V~SBJx}O6;+MpQ_6>&|$4+ ze)mHQaP7v6RQ<-jvOn>x0tLEVK8U&*v{hsGs-@#2BY`#6TD87XUI$&wu?kC1FKQxN z-El&}U5dx964vizW4IjQ59>qH4!VO0iX5BE)hr=>ZSksM0^Vo0=!Rp9vs#zbt3FJ5 z_fTyf#)-u66`yJE5$sPj+(R^wWmOnEeHI~DzIn(&SDpP~0EWAf4X97L zUesz+R1bb^k<@$i4%}vLsy3jEukdw7q(MXC`knAoa>EmfTRa%v@9x2hKrY{Xy+fPE zAAz9at2TA3y!%H)9hT8Ar3PH#ZMs6A~C_MVI9jR2WbR zH7O~HT+HPik%?E|m{W zuD=+~`bx_pQT#lS?h7b|3%tTYhStDkw5#3$7tkD@Snb3AjkQOQ9lZx^?gwi`6pYK-eMy(s_dD* z74js=n}uc%^i~xs>LsnN?D&NiWCjXldZV)Uu!ek#7{JLuj&eZBEu zcNDwNa7*;4H<7EOXPq%KP{Q{yS?u4uf>+9PfIk5MPw-1pgwHfEQPyIT=)kJ$blN7sN&&uM4*asi~y@iM(4XMzi&<-C=#tFt*jwz|Qb?%Xeit35qQz(vk#=U#QNqnW(jb zLK{eL+tLWtf0>Fg3Bl9&uOaf@cC9IJxMqSx63i9bs{H*&0lGO?=Rez)iO)tViJ4$d z^c4aN8j%v|O3bEbZ4rzZb8pYmqhj-k^2n>%4aS3J2K^=iIaf%iEx}>syWm_%m5wpw zHYAg_#kt3udCV(={|IW)D3-yCqXiWUPgEw6rU#aHP8cH zHJ_*78BCS{#Uy>F(L@d!Ta$;gmsjZF{J#P2=?y^GIak>Q*gS^HJ=~xnn{CSK3o(f?*@VhyT{+@=Obvm2(TF zVo(BS*OT-rXwwAb!HnDT8E>C*n{_cA`oXN+TF-Ly5hO$%ShR!BszdpD7)~$t4g(}T zW}wUD91z-$0ADQZam$8*n)TtklP?mef-X5sLY8>3;n9PA=GC3oYq$?4cFb$Rt=9$( z_T!kN5?5YWo)-ryeE6O|YqPkd003IYgNHDP!%!b}z{6rWvh2Vlz6xf!}PEZ{`$4;1ddGhxGe?z|xF77wxOKSa{R-qeb&`q$|s@H|P zY{*>=20T>NcpkAl8jt>+l#ACWi2Aw=3A`PqRu@CzG9Nc+29MF*(O;0w|M(!2$DE2= z>S8W{Z6W=Wr!2C8?CYq3rxPn{4yws(rv%7q(%dpoiZKA2BF~f< z6+AiM)2J|#cvjESKPa}O>->Wfcj;=f9TZl}!~Y^todDF~IXQOma%ui(C)gJK@uHhm zHCqt5NMp@HC2>2tjVqHII>iS%xGrK&rmGCLxN&&+b#gNM0piC5`}|gnHkyh>8_0B^ zv8u||GWk7-!WZw5zOslTK%9!qSRivc0!!9Y4C*w=bG+l4ctGCk1n~zG!npcOMOCfA*V)M#B zD2?)v@#%};T~YJ)>gXtZB`eP?%<=f6)3-U9OB|aTgKU8O-xCFf2d<3DP!tXY%)wP) zR**y%v+9cvIFnHmO&^{f2Ju=D--+=3+1SEr_#>zWOp=<*JEg>l>zQfgiZdi3%)~N< zXe=a_=hqr8b}=Rx`X&~-o=LOr_myfn@qO4xfB$G`vQ(C0h$d@1yn8I5Q@4Z#nZ0t+ z;)93e3}OrvQy)=K@>)USbX0D0nHHEW^=TQ`GU;GMwk^mlQVkp{+JAIjLq8W(L~T==T^_N}$)Z{q~*3&SYEocF@y(n$Wq)&PO8Z26?sd2~+q0excA(PMFd z7nC{A`b73#sF6y|yqTjOgxU6ndKM#Q-UQQ-hFOLkplOde=#P{p9+6Q_yh`{u?DPeU z<7x0xf(?5V1>dJ4g}ri~Wb2H<35k*hIK3xEsz_LLWD@PdWU@jI?`p+M>ajZY+3LHNeTallf@#o>4E z%g-0oMk4C7?O4ah$A7lDqQyMbJm43vnka#BAB&TO$eqJ2vxBBp+)wRHa$h+-d&AzO z(K{;LmuYdh8W{TaXY;p-Zz9|pz}|d@Lrc*w3r&9f(bYsz0@c4t6SsJ{a@f;lbWhaB z7C-fmgM=RZ9}8YUnB%wkOcy*dL!jwEeo^!xqoSb&hnaZrV0Y?|w`QB=w)V%i>nfjk za>mMDFVTOPXEn3(63$5ey$Qx1FHPlAcdCxxew?@gtg8-Y+sEmT?@y8u%DU$3X1jil z{jk`#R$>~Y=I}UtEJbxYY=#Ttb-yQu5S1(k8Vak2B;in)(VZcS6qf{=FErT=yPE2_De{f z&gpX4WnEI_KBMkTlhhX`qdasT@a7B?lL+i&8IJpkeMIe(6d-inoOr-jW>zNvKbhz8 zx@ti$Qtz4teoZRR6tFFLME7+vB+D~{v-xs2+2qCqa;VH?+p9ocB=RH~eQ3$u7H zYvNb>sdI2ObP`Qhbwz6$jm*$svNjIgx7eQT?ZlX+@^kaPE#goUKEV|Q^DQt%g^*~TUs-=d4jXE{F83(CW5!NU7FH`C( z?>}k>BGK7Q0z+j%8DkR}1&1pXBMosB3)K?r3C1=;vOC>#afj3*kC0!({fOG~&$Ev9 z4si)2?0396(9e#38~0EZSg|A)SAGdQ|NQ1BH|K1b3|}&V>}50=&xa^+y@|a5mPy58 zuAa-M)IK}dB(c$(@8zD0G}@V8G;ofQo-VO5F=Ybs0^?BhWD<{y7^qWJM9TzdBSsT& z_Hokq{ofRy^uwt>Dv6@%B_R+}G*EJEoIe@2?0&TJqYrep@>9q%la1C$)D+8(%<`ec zjU!jcqs`6D$movQqbx~3!^ib^ORgpY_{>5=rZu%a1Kx*9&jthsJN%t_?Uur1`*~k) z!sNQ~Xc+dS3HQJ57nvZrH-cg?$Mr<61Q~IUV~@1cZ}<)c)8<`zbb;2$R*Bi*-e=m1 zSWIXO)w)wavu?}awvYrIjp>?7APzPOi)qd9NP6_J7C{2D2icIoPDek*?xHE(Y9VF# zheeo-9xF*e9_Sl^6nDBYnw*^6`tCKhqTS6|o8gE)H?4?U05X~B>9NV|N^Z<)VeQD{ z_eYC-pCO)%K?a^A%|@&w*r+A(0FWULP0Yz_~Q22#qOZSKq|q(gx%85im}yr&dpo^qkKY`5!9GH+Y@8QKcbv--ya7xaTe8!Q5lfhK+778_N$-h#2uLS1f58EPsv@pF~8JFodjm=l6@L0ypRN zM#Q|5;OX2>M}ldW5iKMY;g6%s_SQ1BLr=hSS3fUS6-0Wva$6UC3yjh$lO#vZRIk?@ zY2Ris@-%LU#Cl!n$xsJ`(cqK1aT%Fk7Ky!eKQEAK2ftm}mmN(p4OmP~fm3TBjYmZ+ zJkM%P41}+)r=}dyIL?vybOHgx!!#9i!ugJv2Hg&Ghe~}Qf8Q)6kbxZ%?*zxDE6nNsubEpAbIh4$-Dhii`+5`2ft=PeoG9+F76toJtQgVyTH0YA z8meU4E(hj`Df>nDYB1ODQv2uKyP6GSZ1D}<_kkg^7t}X=Dptsr)bdFAq8!-D@)~pN zuH-AOAP`(C6kqw3&n9FxD}e2;$#wd10NB0Zi7^e%GxP;Jz5MvNUooe@HYJ6M{gO|i z3F>cBmm^2~hJ74p0xN|S{8VC1>F7==$;0YQPDyXu-*|dqEvHTJGBei}$lm)HhvfyL z7(M-Z8z-pxhC#@@?>9*mr zx1EQ|uRI)UfR?zkje0A#mEmhd4sk(QkSne4LcYoCTvZjv()l>wEWv76_T{zPU~{?C z{QJUiriG?K(-qyY_!U3-6(J#8tc#`5Auz~7uHg}rY$kj|l{fe9MUM%k@?PkdLxmAg zk)rQoaNbN1f=cAumO)I481_PDPCcldWwtc6-{TZ#LqwaP!-CiqXN;Hno+LRU*7|Dk zz4&tCn$3RtLcIg&Y3||#*b~?Jk$W|DR#&*K>`xQ=+yzYlu)a#t2%m1rrOMl}Gzef% zG`BGQ$6D7pQY>P0OR_>F_QW%wpI7rVp1J9l(fXgnqdR9yk-!mt4dAG5hZmH+Z?!e3 zlP3P9+W3WbrM@D}*hpSMsl&klQQzP)yJ${T`y0gzcq6XoyrV zQNQLg9RZ)q1DTT!HA14~{RLXMHLuT>ns&K3Jyzp(a zK(B7pB3~{r7vHM?foyCsR%^J4aF^V$eQ%}-8$V(}|IjzkA zHUp<~U9X^xzc>z*q(Lh3o=qMI7)vq-PSnXm9*11m0@hK{dMp0pTxQY4*>(5gNL(Vi zpc>97fbZ$~_--jlqnipnnvdAe3|bfw_VJ~^@&(k=$?iJ;@CZrf8AmZX7qtdtyL|3^ zJET?dO@v-`ccDS-4_;fgZ+P8Cm1?6at*xiUw)XN`PhZwr$h*z2X4QG-{fKweufUlb zVri#0CdIWkyyWj-OA(J!FVCQT$y=oGS5&!9ykt&JZQO}sMa;|I0Odou))M%F?r1)B z90zc_qTP_DaW&veV&K{8eBAX;SgV(FH!XFbBM|`JnrN~*-j^$XzQ+|U${fXQ0&0UGj+HX27Y%--j1}Y=!5;+0e$uqx@SAPS+-K%u zaYDf5;+5e1!pV?;s=&U_#UL+_WjBN#TDhU9OROfj*r^BmrX6N;-REQM&i#cE3MrWJ zO0}8AcIicE7{EjS^z^hX3R-Sz*5Bie2%E3;VRahDvmVRr_ea0w@lp#k%*l0~GonE; zXazEOR$V_O_+0*@CjWXVD3rCox0d#Mk8G2OuzC?Z@XlhoTSQpciNW@MYgxZBwx{C5 zwMOZIO}sS^N~~>To>Fw^AkU~{>T@MpdVbA^&w|Iy3 zc{;obRB;98?LI8=H}7248*T07Y36`3;(?VMDgyJ?Gq5~l(D-Rc0NGR@1@{K7 zR&pahp_IR$sV3McZBV;>w@{arUR*2?g|U^dZSZpe~o{Al3}|7nr$z}wLlUcK!rXt4Em zQQ;5G^tIS}AddHek@%PDVBG#B=TeC5+A5pV!u3-Y{`|Kfd4;KXJHS$=@j1;k1I_I7 zx92~JR_)P0f11WbPj~WYnY3Jy%Vp0k33L{jmWnSofcaZQZ-u(K)OL_$|*Q%eT{P7e4fRe>sivW6+T|gY~T#9!`ct zM^S*Ac85r-kM6Vs4E#BgZ$x_m&m6Tw|0EfAWmjH4S$8pGu?@z)X0E5S9NnosrniR4Icu$~g*IQtj|y0TTJ?0dzwzf?s$)=zpiH#JhSRS}WS?Q08Q zKm=worRo45oVd54x6`fu_J_3~yo$-Yi(8drZy>&--}(RzMZ8Pi&=q1&ibaYw&`wle zj&B}*a)S0fD?$X;CPYBv$no0M@@jr<>@`0EXI8Y71@U3VU3YW4t-qON12 ze@TpA11bKYBU*Ll-x@mAaKvS*RslQ)d~a?ZeYBN>Enumh=qo=h*jl-$(mIr1eK_=0#F64NNHRj3S!Ouyw=2KbTrlUqCK4+>fy9$ zO+pKjBxelKZEolGyq+!aZ+&Zy7fPW0L&#W2B*%Ol!71A6GgbcaF@bNq%g)uaoqO-h z;|JU?;2$L9^3Ie?ZCPxLQ(f9}xA*9%TA)ZJdoYqVgbbyf0)fubeSb`Wzcx3F!%#SC zbL%q$ic&}MW>bxx_$Zc6)8@iqwWXjF%5r-@Q?>gM^$Geqf+y`_`-kx@CrVpCn1^>y z+7*?yilDp;&gZ&mwwJkV2h21#r~ev<=}4m4mJVJ@_W ztu(`K8l*i`{8Q6a@d47~d9j#IUF;X41YI%SxBVtyH{e7@juf=<1&`@#Voyg)1NEZ8 zM*5oDrFpN7t>@GS^C4VEIdZKpdO9RP)>9l%!L0VjK^LrL5&=Zhboe}NiYC-{sY)Xq zxPBMPf(c@?nAK)IePH)|c&yb6eB9%a?-8x*=1od=x||XnToK+~VQc`Wb{pzU=(5s- zB_R+9a4FLL>!b6R%LS#s<@Jg?$fLL+tC@ijCx7j^NcXRu6(Wii41a?$g67Thu$ogx zBua&Ta@A-xGGNxEJz&W0esv#Gx!5mey8`2)i`YOBI$HDZ;#K9=)4j3D#og4#aM0}U zj^Fa0bD~w;>%SnTlIkxn2@A|@te%mbWxul^4>>*>Mu~+eA^h8lB&|*bXmzMc2vuRY za)}3p1+ube_lL#q#VOspSv-jR3IihMIbApmTex)avOEx+Wq~3}dC4e9BiQD{9uZUh z_`Sx!8*!{b3n?2)+A`7?E_D5J5`90%6SjRi6=oL6{l3Ai@y?)IAwmX32==Xl_U3$= zt|=x>-7I*g)td&^oh7zrgkJWoVS|eU(nM(~zqQnDjAo_VQPx#rKlf?yW-6@>__56MBxBUNPm3xX+?BJdL`UDd zexP46!OQL2vfE}^)hd3SEbr|wp2w~45bK{Dk#TK?J*RTT!4tpsz@)Tg6aQ!&xL&Vq zmwo;^`SG;E-IXHgy^_n^-U)HpoKby+XO%-Nwa`ldDc}a5Qhl?^NQ)>x|2+!1y9WGC zd6dl3{Y}qn%n1pn)6o^IBVitYd2U=S-EdG4TeK#4HwF_kCrV85-bcv76ioh7DZAXg zme#d&IUCbQnSqFD@M%H>+tBSmMZF33!L1i@2b~iyt0*HcQ?!9P$NQ)ABPwX9NsHc| z>r#&D$gBh+wmpSFq>UAhpV~7uKYRYnbSw~Ugkg*QLGgwP{`_dy$bL(1;#)tq(h;Y2 z0+hPVJmtTkZERwHr~l#`^dZLpapAt!?k_Jd&vvGD(pYme6m4*kiH1Wx0V{>|ETfXo zmG?upIZf@miw^`L?xduEV~Pc2OMh}w^0mL2b$-rm&75(^94sa+DMgD!`x%mvTMY;{ zI)_JD%+g5yd61ePyOQNjDZZ%obr(WC57fl8uYiDMf}&i>w76(4f-`GQ8qR8eq$XGR+( zf1HvM!Htq=t9*us+RwF{Q}d(1c15W8l?jVmEs?+Ule%mt#GU*2;67Bp4t6vyOpqdD zK`xK{fHT}njH;J&4*itKzs`6{0{ty+TbWfVE=;PJw<>nS*hB8Q0!kM z+LnoQSBsoD_ZXGwqz;De`KK>Be{Zz^`dK)ryZH1!L-?saxKpuwWgzEtC+YS8oIqg>O1<_Fni$PHU4;$m}JJCsnGi5HGGk2NZe}whM5Hw zn3vl;*TpLZk8mn0Q=>_`V*WjqJM7faW9NU*_>EO)u={_%{ja;k$7EC^J5!aC|KT0~ z_sy>nZsBy#K1%@ek?_BNBR%xCVAQ5}a1dAreev(Un37}pvvGYfFyi$8Lj(QS6N4cH zozE7QmeO6A{^y8Pt*agC&0+tSp><2YFNY>J3(NT5uiw(w33g8ge!u^Bv-Cr1O40v_ zz{^hdTMXN9J{Z;E5hr-bf|Ja_KpiQ~pB;ya`PB4OmCy2LZZk&!hK)EuVomR}FZ=tt zJlqPcg#VZo6QuG9bgnJrX>z+5YHnqGuyrGDa-3(VC7XW=MR<7pDk?Is1uK+r6A%o> zbeVQ`bv=stSB#lL2|7)AlhU%%cJZEtNd9mlSg>nolf9r&yN!xWk>t--u8sP~%E={K zK7+p3*I(^w`9~}2b^w$)Y0CL6ElWYBrKp?uA7ez_Hm6OR^158RD14cx{da&h7|4@} zlKJ%ibu^@<-_rDH#T3@r{?8SxjV(0#`tKLZ=@tFI%*Mk{WLrR7`6l`2y~hop1}bIh z`!r%0;(PE0Kd25U+*35Nn|*7WvKsZdyzf4Fm&abWBD<=qnQFkYb=$~%_k^bGXQVQ$$)~$uGR@3ma6|ca30nybfgozN|5ks}*2G7;n zLt}1F$E+r+{+)^NsvU0O6}fe-EBxp5z3K_rQ&lb6>Yo$X+D86406A7h=bJCUq#fy_xrOsa0@DAh2rwOwvlDXN97${EjxiEfj;-ng4k82hf$pHz$vi73k)Sp z->ZO4!Epb!++P%epnqDw9qPG-%~wLp*1TS6%Q3h>si&|Orqf=GMCHc6%^QE0na)qv zseLmT|09RgpPHiQB>tkrPH;SNH0J7{^%G@lie7fEtO&Kg1Ft`Y&L6_s?64)}<#`CD zW86dDx*Iw>?#;=$X2|msmtKzzL5f`!2y}bHa0pf*G*`F=r{Vc-VPu%}MpppJ(qTv* z_7siolm2}KX2Noui84k~w|Ma7-M{46D|4^C zECaDE>d}k~iD0@^pMN6CmzyeP&9jsF@fWUFdS?3vug$^hP=hYr5+{n>}=#HX9yB3k83nmr`D+($Ny32QEdk7v-Isw$p}-QYbV|%|K;hqRQpNUw$f14 zi-#QXIIzfg(j(J%vOT^uyUn!rzwJ8)e$UwBz@|Lv>BJ!-IG#sznbO5E>)E8uSY@GLh8zY=;co6 zTT^r#_SJKLFJ38O{?48aLUl>S>oa&*=$|FdzcvpDr?&;g?LAZg4X&9XA1ZI^K64)8 zig#RcONb&LDgK>Z z<=vV2ZMHoA67c(;^;t(_uGWYbf^zfXojM_?B{Ed+757y>f=uw@MSH$~oCvcu+Y@^S>6OHoeKGoAUkQVRK%|P` zE3^XA3zO^Y4pr67G13q+&I?XYF|KedMCFY4&GRGu^d4O#l@I8W;giy{L#VhkR40V& zL|O2DHAlvuV}3+HZ8Bfjhs_yk5~B zj)#!dl8C+gkzp-Yo<|-{E3J7!G;Dv6z3n(&+ww!%rR%GXBw~yaJSS!CZh@9K#JLWT zJv9p}A918a-yANam9(E{r!fCH{8cXohgw1o91sf8dL%v4AFP ziM6hDS>wR3i$A8xkON-EH~TM@`<1sgimnq58XcG8`w~HCAWV+av8lI)%+MO>J`53d?Ci6EmPs>{kNIXu(Skobm}B z%bnA7SbS#~3OZhh(1H z09X~pcP1xQPdBSbzlfNLqT9au-#w2GuV`FDDga(icjI)VY6 zOnE_Q0kUqI5K?ji?Ob*uqiLIa3XL8oyF77iYaQw{s%r1s3rBo?l+JJAb!$fRbGM^E z8JRnh^irbb#*%|FKd@D66y{*%RBU9+0~JToB!KSdZcA5(p%4-EK{T@Ey_;p**vgg& zjy#I-1^K|lscUj$ay7Bt9l%-(#|lyU=~y7+*-p({eF^?(<4-u5^$k85mkhl09;>aQ zXM1IS|{q=5a;0;@m?95KkDf(yA$2i;jf)DQ0W$qaz9HLz(#U18=?XI?mNE#I( zjPeiDi-7CxqjWESbzYs8R~f(O{6%3n&X(ZTWW87Z_Ao5$u53?>FLU7{wRqM#Aij#> zuo`F2DR(o^u6$auGPjLp9gIx^;bhW&P!}MG-R)p6ak_{B7SzVyL0)VP>dKHc-hfWn zh@LF=xVbSk-|lTCFm6DOQsJ#A(Cwv{OkPdd2npLk0@Ol|9yJ~goN#itU zk5dtj|Hsbh=TQ5aYjJ*RvMY_nd~`t*;u;Tx$5&Id&ToovQ0Pn3S!j2|@EA4zWyT}O z)k^AnS!jCi%bhKr+wEN-q1@LVbsOdgMhp^37kLy8q9>@)RvqBRYn^#Owj9T+IRxXF zJtY(?u%6*Kgq%=ZK6XF_YPS*Q+Aw8N_iBpN)ng2zO>>*!_*}0gO$&xucQF6$>Zug! z|0Yy_U3UbTRP{C5uliZ!Qr{I{cn92?<7LO^?`%!J@3{73A~m=umc^wjYN6Wy1bYio zy^e~Dpc5jg%NgGd--|U&sFM%JrCe@6Hk>M{7EC| z;%n_68b`!jFpOHg%p&OQpRLA0`^f$3Z=O#wc7x9$hWwd}6TJc~zZ;D#k383Ecm;z` z(4p7F=>?%j=tpO-;SXt4oEzIlR75X8 zt|UnRW9$HI@h))FbAI-fF(yx%gHKIoW7ATkJnpB)@zOc8Tq4yCts$+99Rsh^PUmE8 zg%b00ScreHxd3y)e`Lq+62`SDcecQ~coq7+mBa3z_r5$<(n2`(yD_J*VW_$=n+w!R z+~zpW_nX!hnaKmcSwA(%dKyE2-?BcvH60g#`(VAA^7QcLmRJ4u!F&jxqRFrVFV*o( zy59EuHBb6O-;l&E&n-|ULkzatN}mZDr&$XQCN+8|+uGIsyUm|JpBw#~_T}epe5EpHRL`DtYzb?k8lA zUJ{V|dDo^>w^rn`QLIZfnY4y(lQ)re_-ZEsR5B05^|Y+lyy*(_yMcS)-BXPrOmqm8 z?EP%OL0w^p`^TIW`Ge_Y2`-yjg4qCN!0IHH*WB1ahbgA{O>qp^nKim6C`QkFB(}H_ z1HAG?4&1A{=4fgn{q~1#AmC$0;+DMx{JuphR5rB6Zi9bJ`{K`1FIs~Z-oqKcs>)5O zJpn+7g80v-J3-Tx*X~U8k*KZp!$`}-^Pl4eHPpOn9oKRUagLo`91`mh{__~yXleHb z;KWr*q_uTtsA_9k3jS(eC3MG_Qtl^iTUPb`xkr>}rBgTl!Ef*?cS9l!XhapsSken;0EH^ag9e-=G*?DU+(ZHX?* zx9Wo};klrPKTI(}@bn{jdnZhhR_z%ZqnNEYRl*jwCuL>=MK>a+w(~^&_StB1__+#u zX{owLaWi|7E#42@2vHgN``34TD(2wLX+{LP}d#_CF?YQsPSF&#-g{k^XqA>?*V?PrtCNnWZs zdL|(2+OQ<23ew1Bb0!6`?T=D8`k@5E+{1m%Sw1R_g@L+m+Vec4*vqCl@_1 z7s}Usadn4UBR+YMen^R7`zu7>u$PapX8jzL^*Hq&>zNYXvtX9=VXOl-Lj~Z@Op>)c zdNMj5&DGtns0#~C$FANsG_WO)v>-8w(l^$&VI(LAme61&gZej2L65Kq`$$7xzWwY$1Bu5t zG!goWTIR6KM`Qj6m+DwXKLjj7cH|@&n4=)WUG)WJzXGeOs?yI|caJ?GTPZO@^?p1s zQgZufswd<22AY{KDe{^wY#4mqFd9rxe0b#Q@1@N`E|hM~%v7SCM40RCbg)&irBh423wbA&apmLLrDCwn({EZNk2$H5{*#PmoEo`rV$0#p11&aS~<)-(Pio2UX5;1mi2r|Hr zz6kSEki~lAG>*#s(RP2$CgZQ#%j}R5iy)gWfLFX@Tpg6_4<|rp7$IKi(#qd~$xcvq zns$F)iUivY;LO=K8o5Dn08=8|ua8 zKiF}PJsj^c?Y68VY*?pas1VIAV?a-fiCVzI{Axe9)NI^NFy2MvUEupRd5wI$2t+h+ zLfKcxk@fOM3D8PZzP7K@A0a!z?e$7ho`0&!zAT3LN>$R{d6bJP3uku);D0TFI2I9& zKCp*ec`DY(%h9Hi_{cu_MfZB@P7dvtBEg|JGHDekv*Xo?vpV?C0-ya;d9{ zcvFhc_uCyZFB8;0$Uo1J4!PWIap^i9Idt90u}UA|85g2h^$+oE3{A9aN!@TY`FYiR z6tAi1eX(DmWjm2k6!&U+H@APkW6xe@WYu-_GHYYV2V{&Q|37;!U&I9^Qul74tACA3 z;+x{)HWzF`zLtf%0S21`W&5mP#>tpUBuZpWI8NJV`a+k(;%TZr@kjjVoEu6}T`B{g zjJy0!88B+elLSs5Tuo|NmZ%II zY#(b=nHL<>h^-TYM*jAs2@$Ta8d2R4jJqm3|HRO$?HFbjS7Ia{{*>rV``=ywhOXP| z4d&@i6JMMzP8`mfzO&LPeE0<%U01z~wo#xZP9)zuA`kzbroiNCpZTc8nTR3a{Sc2o zT86Oy+?p5tKlr%BRaNGA{3QZsLRp{4B*UlVRNPuBTMqP!sb+Q*sE8^pSl zNpA+*;?Ep4)jS=1YgqcS7o~yLLJGED-RXq~H>E2$ zI;C|&lqGdh;$sy_;TcFmS$w8cGkyVAQO}(+gSJxT=GI?ql=N+s-p=Z3zdgzLcp!ul6#p&4XGd(_9?G#?bk4C>N_kn`t__ItQ2D zd87P&I{`4D^m*wvG#JX##di zK=<>@=Y_uv&cjZzL?~qK{N8}0E2_qb2ctL{tyt2xyT4^9I`?ae?W=Lo?D9&CYecm) zcEiZ_Pw?;~wVzEB`cKKnUq+3BM{{G!;9ZUOC1R=}yhIQ$+rhy2TnnGEiF+s)(Suvxoaw(rc38pY-7i}<+A`ckHYH*{Ks2x*Ro-j#fO1Q;hrRS&$w^HjD%Pc6pPb1Cv`jO}h6+$34d-zm>gz{-4m}lrc@v;~HrO zy55)Af3*5z1atEvzmj`9!8s!}oYysCW`MnUrUjP8LXU(bjg+u3y3CP{F zbl{h!qWpI`(xltGC5peEDogiET(3X>mmIA#zTzYlC3#vgBb@sjx4ucKVopDc;xdfw z#OFnuWAu?J_3f!g0@;E@W;yazG!)keQ9nlVv3HGdPr3x95o5VIM|l<5rQ>Wp*RiZ*)y5HJ?KvB2;s}xul|3;vpiLGf;ObQ_Ety-uq7mBMEYz zh?WbOGAzhiOuK^@oE~~*7BZ#kTN0lPk}u+b>m{f~*Mo$%c;|?emjmL27$?VS3XQz# zWJzE}q8%}jbt&Y-(sv7^Rib`B0Y%W@&}ZVi1Uw+t;835=_62q1c4-BTU;~)}Fs> zS&V#a ze5FCblY8YdIoAlgu&Rd$2O6g*NmI@@%Q|>>Nix2^R{+*i4zk4J${q(jh`fnD-Q_rV zY}%qra7Zy9P)05G1>h+-=Y#M~Sf{?#RkJbdUE0Ox7+wzA5n=Wo(ri48i2WfZ%j4o3 zzN#joeLCr}zSpM{Ch9gv+;}~MAtQeEc+B=_*RaY@f|dntPV%~w?|O|{k5Q|MIefCM zi-&dk?dACa5Si)LPU`z~aL6IN%kDKtI>_#^l=35rg-dL;^*wsH4)%;`RJj{Jhtgil zaIS&5%J-yNDe^?bwyj1dSsg=z!`GdAFqLGfnGLGtxM2Kf4-YmNr~yZpMF4d2te>#w zfO_EPmh2Gc_76%N#Pzg#{xQ!C#1osV2vfU)o@-+$z$Wa+(}v_8hcBGgpQsrY>}X6j zxT|+nez;Cj9McshwXpa>fH^}p{dmr_Y#?eyM(_4WV}-(hg)8Mo%#P1+yQ`khWhN4< zSQ-z~>${?HQln}gIDmue#v1J=Jq=|=mb%Q<{m0NX!N2D_3;1TeN4Yy?|*^;kLk`DFTE zhy6PgouX*WM$UfKqZflP%;+wN%zj2|hxRbDlhQCKCHi z*}U`$>hR**1*@&;)_i>*ABY_j1p|~Q40%a^U0L{MD~fx3Z$81^%|r{b?ij6*|F7YG zU5#U&JbAyYUYK%N3?}yWg2@)>y!6OQH%9y7FPHiTq+b=#qulLZ@_H3AiV4rlyp

z3*tXMJJr6q(X@_Gi|vDkhd;KX%0*=s{UYBE7c-IQTOTm$3>kY~HS3`MU#8aJRatuE zV;5$Rr%$gCr=D3#|KitU#vE4t+=?OgQ5$FRywUetf~Qx++(}A~aglcal6KL3+9g#1 zWAtALHSI*~2zW9yVLsx(eZGH_6BCl%LX^sy}%)Dj(J&$^!JyQa&&piJXu=sr| z^p5oZ+93W5o&Ju0uD%KW?-&BTS7q$~wF@!WHtFu=b*5EXEgy#m{x!_sw@gM41XJ-S zNRxoG$mC$Rf&t3V4*#*Wn>o9G@BPp(UI~=7z0^Ij#Bx1A+lZ&rm;NuXZ`Ot7oi=@z&s&@_+}Ri3wQCf{c&-x zHza+j#Ukz@O?m)1cojaR;Yhc4gV$j-jJ)qzS@gD)CzTD`l4}itNk@jEp}^;rXj#7? zzc8Af6|`qDLR@iat;?#S9!HL`?fr8LGdgaDete{mfnw68h_qo-v1f0Am>Mi4Sy1gF)=-HJH#jXt85Vja zx<{hW$n3|;Hl1bLL4k!~hq*HZZD=!-oPZ%@!aJl!)-C75?t}FqM6lgpvMV{yXM{ou z*A@TTjHc(@h3?LnOnfRH_@Z>yU?khk@sLYkY0St+KPMa$;JA>TA zQbNF4*)?$rEPa|8cT72thuvdU^>wDcTAZmWPE#1B&QXzdjK3e~p1)y1>AH~(=>T|6 zk93{76vDgG;dKrELg#QxrBq17X9Y?Uz8q|I)+;W-f0h|#pZ||gj7HsyExIEmVefeK z2=QRikut7MFpeLpP=7rk%=J*xMwh)9rR2yO

@ZsCR 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

67h7etrRx=JG6Mjzm=v3n)rG)h#`J4 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 QClX;O%BsnfN|^-y4}N~|n*aa+ literal 0 HcmV?d00001 diff --git a/deployment/logs-benchmark/grafana/dashboards/comparison.json b/deployment/logs-benchmark/grafana/dashboards/comparison.json new file mode 100644 index 000000000..2ccd3815a --- /dev/null +++ b/deployment/logs-benchmark/grafana/dashboards/comparison.json @@ -0,0 +1,680 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 4, + "options": { + "legend": { + "calcs": [ + "last" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(rate(filebeat_libbeat_output_events{type=\"acked\"})) by (instance, type) *100", + "legendFormat": "{{instance}} - {{type}}", + "range": true, + "refId": "A" + } + ], + "title": "Filebeat items", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 7 + }, + "id": 2, + "options": { + "legend": { + "calcs": [ + "mean", + "min", + "max" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(rate(container_cpu_usage_seconds_total{name=~\"$containers\"})) by (name) *100", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 7 + }, + "id": 3, + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(container_memory_rss{name=~\"$containers\"}) by (name)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Memory Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 18 + }, + "id": 5, + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(node_disk_usage_bytes{path=~\"$containers_selector\"}) by (path)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Disk space used", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 18 + }, + "id": 6, + "options": { + "legend": { + "calcs": [ + "min", + "max", + "mean" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(delta(node_disk_usage_bytes{path=~\"$containers_selector\"}[1m])) by (path)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Disk space used", + "type": "timeseries" + } + ], + "refresh": "10s", + "schemaVersion": 37, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "hide": 2, + "name": "containers_selector", + "query": ".*(vlogs|elastic).*", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "selected": true, + "text": [ + "logs-benchmark-elastic-1", + "logs-benchmark-vlogs-1" + ], + "value": [ + "logs-benchmark-elastic-1", + "logs-benchmark-vlogs-1" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "definition": "label_values(container_cpu_usage_seconds_total{name!=\"\",}, name)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "containers", + "options": [], + "query": { + "query": "label_values(container_cpu_usage_seconds_total{name!=\"\",}, name)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": ".*vlogs|elastic.*", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Elastic vs VLogs", + "uid": "hkm6P6_4z", + "version": 1, + "weekStart": "" +} diff --git a/deployment/logs-benchmark/grafana/dashboards/stats.json b/deployment/logs-benchmark/grafana/dashboards/stats.json new file mode 100644 index 000000000..147fca8fe --- /dev/null +++ b/deployment/logs-benchmark/grafana/dashboards/stats.json @@ -0,0 +1,393 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percent" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "displayName", + "value": "victoria-logs" + }, + { + "id": "color", + "value": { + "fixedColor": "purple", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "displayName", + "value": "elasticsearch" + }, + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 5, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "9.2.7", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(rate(container_cpu_usage_seconds_total{name=~\"$containers\"}[5m])) by (name) * 100", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "CPU Usage", + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "purple", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "victoria-logs" + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "elasticsearch" + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 5, + "x": 5, + "y": 0 + }, + "id": 3, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "9.2.7", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(container_memory_rss{name=~\"$containers\"}[5m]) by (name)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Memory Usage", + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byRegexp", + "options": ".*vlogs.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "purple", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "victoria-logs" + } + ] + }, + { + "matcher": { + "id": "byRegexp", + "options": ".*elastic.*" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "yellow", + "mode": "fixed" + } + }, + { + "id": "displayName", + "value": "elasticsearch" + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 5, + "x": 10, + "y": 0 + }, + "id": 5, + "options": { + "displayMode": "gradient", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "9.2.7", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "editorMode": "code", + "expr": "sum(node_disk_usage_bytes{path=~\"$containers_selector\"}[5m]) by (path)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Disk space used", + "type": "bargauge" + } + ], + "refresh": false, + "schemaVersion": 37, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "hide": 2, + "name": "containers_selector", + "query": ".*(vlogs|elastic).*", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "selected": true, + "text": [ + "logs-benchmark-elastic-1", + "logs-benchmark-vlogs-1" + ], + "value": [ + "logs-benchmark-elastic-1", + "logs-benchmark-vlogs-1" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "P4169E866C3094E38" + }, + "definition": "label_values(container_cpu_usage_seconds_total{name!=\"\",}, name)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "containers", + "options": [], + "query": { + "query": "label_values(container_cpu_usage_seconds_total{name!=\"\",}, name)", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": ".*vlogs|elastic.*", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Elastic vs VLogs - stats only", + "uid": "hkm6P6_4J", + "version": 2, + "weekStart": "" +} diff --git a/deployment/logs-benchmark/grafana/provisioning/dashboards/dashboard.yml b/deployment/logs-benchmark/grafana/provisioning/dashboards/dashboard.yml new file mode 100644 index 000000000..c071995d0 --- /dev/null +++ b/deployment/logs-benchmark/grafana/provisioning/dashboards/dashboard.yml @@ -0,0 +1,9 @@ +apiVersion: 1 + +providers: +- name: Prometheus + orgId: 1 + folder: '' + type: file + options: + path: /var/lib/grafana/dashboards diff --git a/deployment/logs-benchmark/grafana/provisioning/datasources/datasource.yml b/deployment/logs-benchmark/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 000000000..11560e6f8 --- /dev/null +++ b/deployment/logs-benchmark/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,8 @@ +apiVersion: 1 + +datasources: + - name: VictoriaMetrics + type: prometheus + access: proxy + url: http://vmsingle:8428 + isDefault: true diff --git a/deployment/logs-benchmark/readme.md b/deployment/logs-benchmark/readme.md new file mode 100644 index 000000000..63c48ce22 --- /dev/null +++ b/deployment/logs-benchmark/readme.md @@ -0,0 +1,86 @@ +# Benchmark for VictoriaLogs + +Benchmark is based on: + +- Logs from this repository - https://github.com/logpai/loghub +- filebeat - https://www.elastic.co/beats/filebeat +- elastic + kibana +- [logs generator](./generator) + +## How it works + +docker-compose.yml contains: + +- 2 filebeat instances - one for elastic and one for VictoriaLogs. +- elastic instance +- VictoriaLogs instance +- kibana instance - port forwarded to `localhost:5601` to see UI +- vmsingle - port forwarded to `localhost:8428` to see UI +- [logs generator](./generator) +- exporters for filebeat/system + +[Logs generator](./generator) generates logs based on logs located at `./source_logs/logs` and sends them to filebeat +instances via syslog. +Logs are generated by reading files line by line, adding randomized suffix to each line and sending them to filebeat via +syslog. +By default, generator will exit once all files are read. `docker-compose` will restart it and files will be read again +generating new logs. + +Each filebeat than writes logs to elastic and VictoriaLogs via elasticsearch-compatible API. + +## How to run + +1. Download and unarchive logs by running: + +```shell +cd source_logs +bash download.sh +``` + +Note that with logs listed in `download.sh` it will require 49GB of free space: + +- 3GB for archives +- 46GB for unarchived logs + +If it is needed to minimize disk footprint, you can download only some of them by commenting out lines in `download.sh`. +Unarchived logs size per file for reference: +```shell +2.3M Linux.log + 73M SSH.log + 32G Thunderbird.log +5.1M Apache.log + 13G hadoop-*.log +``` + + +2. (optional) If needed, adjust amount of logs sent by generator by modifying `-outputRateLimitItems` and + `outputRateLimitPeriod` parameters in [docker-compose.yml](./docker-compose.yml). By default, it is configured to + send 10000 logs per second. + +3. Build victoria-logs image and adjust `image` parameter in [docker-compose.yml](./docker-compose.yml): + +```shell +make package-victoria-logs + +=> exporting to image 0.5s +=> => exporting layers 0.5s +=> => writing image sha256:3ef5d4d5dfc767353d897abba25314ae7820b6f4d8422b5b2a1342e7be5dd579 0.0s +=> => naming to docker.io/victoriametrics/victoria-logs:heads-logs-0-gcc3fa9cd3-dirty-cbfad271 +``` + +Image name should be replaced at `vlogs` service in [docker-compose.yml](./docker-compose.yml). + +It is also possible to configure filebeat to send logs to VictoriaLogs running on local machine. +To do this modify [filebeat config for vlogs](./elk/filebeat/filebeat-vlogs.yml) and replace `vlogs` address +with address of local VictoriaLogs instance: + +```yaml +output.elasticsearch: + hosts: [ "http://vlogs:9428/insert/elasticsearch/" ] +``` + +4. Run `docker-compose up -d` to start benchmark. + +5. Navigate to `http://localhost:3000/d/hkm6P6_4z/elastic-vs-vlogs` to see Grafana dashboard with resource usage comparison. + +![grafana-dashboard.png](grafana-dashboard.png) diff --git a/deployment/logs-benchmark/source_logs/.gitignore b/deployment/logs-benchmark/source_logs/.gitignore new file mode 100644 index 000000000..730022a6c --- /dev/null +++ b/deployment/logs-benchmark/source_logs/.gitignore @@ -0,0 +1,2 @@ +*.log +*.tar.gz diff --git a/deployment/logs-benchmark/source_logs/download.sh b/deployment/logs-benchmark/source_logs/download.sh new file mode 100755 index 000000000..b89015112 --- /dev/null +++ b/deployment/logs-benchmark/source_logs/download.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +set -ex + +# Unarchived size: 5.1M Apache.log +if [ ! -f Apache.tar.gz ]; then + curl -o Apache.tar.gz -C - https://zenodo.org/record/3227177/files/Apache.tar.gz?download=1 +fi + +# Unarchived size: 13G hadoop-*.log +if [ ! -f HDFS_2.tar.gz ]; then + curl -o HDFS_2.tar.gz -C - https://zenodo.org/record/3227177/files/HDFS_2.tar.gz?download=1 +fi + +# Unarchived size: 2.3M Linux.log +if [ ! -f Linux.tar.gz ]; then + curl -o Linux.tar.gz -C - https://zenodo.org/record/3227177/files/Linux.tar.gz?download=1 +fi + +# Unarchived size: 32G Thunderbird.log +if [ ! -f Thunderbird.tar.gz ]; then + curl -o Thunderbird.tar.gz -C - https://zenodo.org/record/3227177/files/Thunderbird.tar.gz?download=1 +fi + +# Unarchived size: 73M SSH.log +if [ ! -f SSH.tar.gz ]; then + curl -o SSH.tar.gz -C - https://zenodo.org/record/3227177/files/SSH.tar.gz?download=1 +fi + +mkdir -p logs + +for file in *.tar.gz; do + tar -xzf $file -C logs +done diff --git a/deployment/logs-benchmark/vmsingle/promscrape.yml b/deployment/logs-benchmark/vmsingle/promscrape.yml new file mode 100644 index 000000000..6f289cd93 --- /dev/null +++ b/deployment/logs-benchmark/vmsingle/promscrape.yml @@ -0,0 +1,24 @@ +scrape_configs: + - job_name: "filebeat" + scrape_interval: 30s + static_configs: + - targets: + - beat-exporter-elastic:9479 + - beat-exporter-vlogs:9479 + - job_name: "victoria-logs" + scrape_interval: 30s + static_configs: + - targets: + - vlogs:9428 + - job_name: "cadvisor" + scrape_interval: 30s + metric_relabel_configs: + - action: labeldrop + regex: "container_label_.*" + static_configs: + - targets: + - cadvisor:8080 + - job_name: 'node' + static_configs: + - targets: ['node-exporter:9100'] + - targets: ['du-exporter:9995']