Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
metadata-collect-agent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xiaowu Zhang
metadata-collect-agent
Commits
1c46c15d
Commit
1c46c15d
authored
Jun 09, 2021
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move to other repository
parent
f8337abf
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
4 additions
and
238 deletions
+4
-238
dracut.module/90metadata-collect/flb.conf
dracut.module/90metadata-collect/flb.conf
+1
-1
dracut.module/90metadata-collect/module-setup.sh
dracut.module/90metadata-collect/module-setup.sh
+1
-1
dracut.module/Makefile
dracut.module/Makefile
+1
-1
src/go_plugin/go.mod
src/go_plugin/go.mod
+0
-7
src/go_plugin/go.sum
src/go_plugin/go.sum
+0
-5
src/go_plugin/install.sh
src/go_plugin/install.sh
+0
-9
src/go_plugin/out_gstdout.go
src/go_plugin/out_gstdout.go
+0
-132
src/go_plugin/out_gstdout.h
src/go_plugin/out_gstdout.h
+0
-81
src/main.rs
src/main.rs
+1
-1
No files found.
dracut.module/90metadata-collect/flb.conf
View file @
1c46c15d
...
...
@@ -6,7 +6,7 @@
path
/
var
/
log
/
metadata_collect
.
log
[
output
]
name
wendelin_fluentbit
name
fluentbit_wendelin
match
*
streamtool_uri
https
://
softinst143932
.
host
.
vifib
.
net
/
erp5
/
portal_ingestion_policies
/
default
user
zope
...
...
dracut.module/90metadata-collect/module-setup.sh
View file @
1c46c15d
...
...
@@ -14,6 +14,6 @@ install() {
inst
"
$moddir
"
/metadata-collect-agent
"/sbin/metadata-collect-agent"
inst
"
$moddir
"
/fluent-bit
"/sbin/fluent-bit"
inst
"
$moddir
"
/flb.conf
"/etc/flb.conf"
inst
"
$moddir
"
/
out_gstdout.so
"/etc/out_gstdout
.so"
inst
"
$moddir
"
/
fluentbit_wendelin.so
"/etc/fluentbit_wendelin
.so"
inst_hook pre-pivot 10
"
$moddir
"
/collect.sh
}
dracut.module/Makefile
View file @
1c46c15d
...
...
@@ -5,7 +5,7 @@ include collect-sh-template.mk
echo
"
$
${collect_sh}
"
>>
90metadata-collect/collect.sh
90metadata-collect/metadata-collect-agent
:
cd
../
&&
./rust-build-static.bash
&&
./fluent-bit-install.sh
&&
cd
./src/go_plugin/
&&
./install.sh
cd
../
&&
./rust-build-static.bash
&&
./fluent-bit-install.sh
.PHONY
:
clean
clean
:
...
...
src/go_plugin/go.mod
deleted
100644 → 0
View file @
f8337abf
module github.com/fluent/fluent-bit-go/examples/gstdout
go 1.14
require github.com/fluent/fluent-bit-go v0.0.0-20200420155746-e125cab17963
replace github.com/fluent/fluent-bit-go => ./fluent-bit-go
src/go_plugin/go.sum
deleted
100644 → 0
View file @
f8337abf
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
jithub.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
src/go_plugin/install.sh
deleted
100755 → 0
View file @
f8337abf
rm
-rf
*
.so
*
.h
*
~ fluent-bit-go
rm
-rf
/usr/local/go
rm
go1.16.4.linux-amd64.tar.gz
wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
tar
-C
/usr/local
-xzf
go1.16.4.linux-amd64.tar.gz
export
PATH
=
$PATH
:/usr/local/go/bin
git clone https://github.com/fluent/fluent-bit-go.git
go build
-buildmode
=
c-shared
-o
out_gstdout.so
cp
out_gstdout.so ../../dracut.module/90metadata-collect
src/go_plugin/out_gstdout.go
deleted
100644 → 0
View file @
f8337abf
package
main
import
(
"bytes"
"C"
"fmt"
"time"
"os"
"unsafe"
"net/http"
"crypto/tls"
"strings"
"github.com/fluent/fluent-bit-go/output"
)
//export FLBPluginRegister
func
FLBPluginRegister
(
def
unsafe
.
Pointer
)
int
{
return
output
.
FLBPluginRegister
(
def
,
"wendelin_fluentbit"
,
"Wendelin Fluentbit"
)
}
//export FLBPluginInit
// (fluentbit will call this)
// plugin (context) pointer to fluentbit context (state/ c code)
func
FLBPluginInit
(
plugin
unsafe
.
Pointer
)
int
{
streamtool_uri
:=
output
.
FLBPluginConfigKey
(
plugin
,
"streamtool_uri"
)
user
:=
output
.
FLBPluginConfigKey
(
plugin
,
"user"
)
password
:=
output
.
FLBPluginConfigKey
(
plugin
,
"password"
)
buffer_type
:=
output
.
FLBPluginConfigKey
(
plugin
,
"buffer_type"
)
flush_interval
:=
output
.
FLBPluginConfigKey
(
plugin
,
"flush_interval"
)
disable_retry_limit
:=
output
.
FLBPluginConfigKey
(
plugin
,
"disable_retry_limit"
)
dict
:=
map
[
string
]
string
{
"streamtool_uri"
:
streamtool_uri
,
"user"
:
user
,
"password"
:
password
,
"buffer_type"
:
buffer_type
,
"flush_interval"
:
flush_interval
,
"disable_retry_limit"
:
disable_retry_limit
,
}
output
.
FLBPluginSetContext
(
plugin
,
dict
)
return
output
.
FLB_OK
}
//export FLBPluginFlushCtx
func
FLBPluginFlushCtx
(
ctx
,
data
unsafe
.
Pointer
,
length
C
.
int
,
tag
*
C
.
char
)
int
{
var
ret
int
var
ts
interface
{}
var
record
map
[
interface
{}]
interface
{}
// Create Fluent Bit decoder
dec
:=
output
.
NewDecoder
(
data
,
int
(
length
))
dict
:=
output
.
FLBPluginGetContext
(
ctx
)
.
(
map
[
string
]
string
)
// Iterate Records
var
result
string
result
=
""
var
is_end
bool
=
false
for
{
// Extract Record
ret
,
ts
,
record
=
output
.
GetRecord
(
dec
)
if
ret
!=
0
{
break
}
var
timestamp
time
.
Time
switch
t
:=
ts
.
(
type
)
{
case
output
.
FLBTime
:
timestamp
=
ts
.
(
output
.
FLBTime
)
.
Time
case
uint64
:
timestamp
=
time
.
Unix
(
int64
(
t
),
0
)
default
:
fmt
.
Println
(
"time provided invalid, defaulting to now."
)
timestamp
=
time
.
Now
()
}
// Print record keys and values
result
=
result
+
C
.
GoString
(
tag
)
+
":"
+
timestamp
.
String
()
for
_
,
v
:=
range
record
{
result
+=
"["
var
output_string
string
=
""
for
_
,
s
:=
range
v
.
([]
uint8
)
{
output_string
=
output_string
+
string
(
s
)
}
if
strings
.
Contains
(
output_string
,
"fluentbit_end"
)
{
is_end
=
true
}
result
=
result
+
output_string
+
"]"
}
result
+=
"
\n
"
}
// Return options:
//
// output.FLB_OK = data have been processed.
// output.FLB_ERROR = unrecoverable error, do not try this again.
// output.FLB_RETRY = retry to flush later.
//body result
// content type "application/octet-stream"
//
var
b
=
[]
byte
(
result
)
uri
:=
fmt
.
Sprintf
(
"%s/ingest?reference=#%s"
,
dict
[
"streamtool_uri"
],
C
.
GoString
(
tag
))
client
:=
&
http
.
Client
{
Transport
:
&
http
.
Transport
{
TLSClientConfig
:
&
tls
.
Config
{
InsecureSkipVerify
:
true
},
},
}
req
,
err
:=
http
.
NewRequest
(
"POST"
,
uri
,
bytes
.
NewReader
(
b
))
if
err
!=
nil
{
fmt
.
Fprintf
(
os
.
Stderr
,
"Got error %s"
,
err
.
Error
())
return
output
.
FLB_RETRY
}
req
.
SetBasicAuth
(
dict
[
"user"
],
dict
[
"password"
])
req
.
Header
.
Set
(
"Content-Type"
,
"application/octet-stream"
)
rsp
,
err
:=
client
.
Do
(
req
)
if
err
!=
nil
{
fmt
.
Fprintf
(
os
.
Stderr
,
"got error %s"
,
err
.
Error
())
return
output
.
FLB_RETRY
}
if
rsp
.
StatusCode
!=
204
{
fmt
.
Fprintf
(
os
.
Stderr
,
"status code %d"
,
rsp
.
StatusCode
)
return
output
.
FLB_RETRY
}
if
is_end
{
os
.
Exit
(
0
)
}
return
output
.
FLB_OK
}
//export FLBPluginExit
func
FLBPluginExit
()
int
{
return
output
.
FLB_OK
}
func
main
()
{
}
src/go_plugin/out_gstdout.h
deleted
100644 → 0
View file @
f8337abf
/* Code generated by cmd/cgo; DO NOT EDIT. */
/* package github.com/fluent/fluent-bit-go/examples/gstdout */
#line 1 "cgo-builtin-export-prolog"
#include <stddef.h>
/* for ptrdiff_t below */
#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef
struct
{
const
char
*
p
;
ptrdiff_t
n
;
}
_GoString_
;
#endif
#endif
/* Start of preamble from import "C" comments. */
/* End of preamble from import "C" comments. */
/* Start of boilerplate cgo prologue. */
#line 1 "cgo-gcc-export-header-prolog"
#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H
typedef
signed
char
GoInt8
;
typedef
unsigned
char
GoUint8
;
typedef
short
GoInt16
;
typedef
unsigned
short
GoUint16
;
typedef
int
GoInt32
;
typedef
unsigned
int
GoUint32
;
typedef
long
long
GoInt64
;
typedef
unsigned
long
long
GoUint64
;
typedef
GoInt64
GoInt
;
typedef
GoUint64
GoUint
;
typedef
__SIZE_TYPE__
GoUintptr
;
typedef
float
GoFloat32
;
typedef
double
GoFloat64
;
typedef
float
_Complex
GoComplex64
;
typedef
double
_Complex
GoComplex128
;
/*
static assertion to make sure the file is being used on architecture
at least with matching size of GoInt.
*/
typedef
char
_check_for_64_bit_pointer_matching_GoInt
[
sizeof
(
void
*
)
==
64
/
8
?
1
:-
1
];
#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef
_GoString_
GoString
;
#endif
typedef
void
*
GoMap
;
typedef
void
*
GoChan
;
typedef
struct
{
void
*
t
;
void
*
v
;
}
GoInterface
;
typedef
struct
{
void
*
data
;
GoInt
len
;
GoInt
cap
;
}
GoSlice
;
#endif
/* End of boilerplate cgo prologue. */
#ifdef __cplusplus
extern
"C"
{
#endif
extern
GoInt
FLBPluginRegister
(
void
*
def
);
// (fluentbit will call this)
// plugin (context) pointer to fluentbit context (state/ c code)
extern
GoInt
FLBPluginInit
(
void
*
plugin
);
extern
GoInt
FLBPluginFlushCtx
(
void
*
ctx
,
void
*
data
,
int
length
,
char
*
tag
);
extern
GoInt
FLBPluginExit
();
#ifdef __cplusplus
}
#endif
src/main.rs
View file @
1c46c15d
...
...
@@ -229,7 +229,7 @@ fn main() -> Result<()> {
.map
(
PathBuf
::
from
)
.collect
();
let
mut
file
=
OpenOptions
::
new
()
.write
(
true
)
.append
(
true
)
.create
(
true
)
.open
(
"/var/log/metadata_collect.log"
)
.unwrap
();
let
mut
child
=
Command
::
new
(
"/sbin/fluent-bit"
)
.args
(
&
[
"-e"
,
"/etc/
out_gstdout
.so"
,
"-c"
,
"/etc/flb.conf"
])
.spawn
()
.unwrap
();
let
mut
child
=
Command
::
new
(
"/sbin/fluent-bit"
)
.args
(
&
[
"-e"
,
"/etc/
fluentbit_wendelin
.so"
,
"-c"
,
"/etc/flb.conf"
])
.spawn
()
.unwrap
();
let
disk_partitions
=
psutil
::
disk
::
partitions_physical
()
?
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment