diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 7993c259d31c..96f64bd5f646 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -351,6 +351,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Added a new beta `enterprisesearch` module for Elastic Enterprise Search {pull}27549[27549] - Preliminary AIX support {pull}27954[27954] - Register additional name for `storage` metricset in the azure module. {pull}28447[28447] +- Update reference to gosigar pacakge for filesystem windows fix. {pull}28909[28909] *Packetbeat* diff --git a/NOTICE.txt b/NOTICE.txt index adaf36eead11..bc51aedbebc8 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -8276,11 +8276,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-windows@v1.0 -------------------------------------------------------------------------------- Dependency : github.com/elastic/gosigar -Version: v0.14.1 +Version: v0.14.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.14.1/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.14.2/LICENSE: Apache License Version 2.0, January 2004 diff --git a/go.mod b/go.mod index 4a676add9ed1..03e326d989f8 100644 --- a/go.mod +++ b/go.mod @@ -75,7 +75,7 @@ require ( github.com/elastic/go-txfile v0.0.8 github.com/elastic/go-ucfg v0.8.3 github.com/elastic/go-windows v1.0.1 - github.com/elastic/gosigar v0.14.1 + github.com/elastic/gosigar v0.14.2 github.com/fatih/color v1.9.0 github.com/fearful-symmetry/gorapl v0.0.4 github.com/fsnotify/fsevents v0.1.1 diff --git a/go.sum b/go.sum index 8aea9026c1e7..2ac0203237b8 100644 --- a/go.sum +++ b/go.sum @@ -536,8 +536,8 @@ github.com/elastic/go-ucfg v0.8.3/go.mod h1:iaiY0NBIYeasNgycLyTvhJftQlQEUO2hpF+F github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= -github.com/elastic/gosigar v0.14.1 h1:T0aQ7n/n2ZA9W7DmAnj60v+qzqKERdBgJBO1CG2W6rc= -github.com/elastic/gosigar v0.14.1/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= +github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= github.com/elastic/sarama v1.19.1-0.20210823122811-11c3ef800752 h1:5/RUNg7rkIvayjPhAIoI3v8p45NfWcfWs5DZSElycis= github.com/elastic/sarama v1.19.1-0.20210823122811-11c3ef800752/go.mod h1:mdtqvCSg8JOxk8PmpTNGyo6wzd4BMm4QXSfDnTXmgkE= github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index cba51ff349f2..4d4a8bfd22c6 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -58924,7 +58924,7 @@ type: keyword *`system.filesystem.type`*:: + -- -The disk type. For example: `ext4` +The disk type. For example: `ext4`. In some case for Windows OS the value will be `unavailable` as access to this information is not allowed (ex. external disks). type: keyword diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index 28a267656964..10611be6660f 100644 --- a/metricbeat/module/system/fields.go +++ b/metricbeat/module/system/fields.go @@ -32,5 +32,5 @@ func init() { // AssetSystem returns asset data. // This is the base64 encoded zlib format compressed contents of module/system. func AssetSystem() string { - return "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" + return "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" } diff --git a/metricbeat/module/system/filesystem/_meta/fields.yml b/metricbeat/module/system/filesystem/_meta/fields.yml index a66f7efb41e5..0c1e7d556198 100644 --- a/metricbeat/module/system/filesystem/_meta/fields.yml +++ b/metricbeat/module/system/filesystem/_meta/fields.yml @@ -16,7 +16,7 @@ - name: type type: keyword description: > - The disk type. For example: `ext4` + The disk type. For example: `ext4`. In some case for Windows OS the value will be `unavailable` as access to this information is not allowed (ex. external disks). - name: mount_point type: keyword description: > diff --git a/metricbeat/module/system/filesystem/filesystem.go b/metricbeat/module/system/filesystem/filesystem.go index 579f1daaf6dd..98633fd43450 100644 --- a/metricbeat/module/system/filesystem/filesystem.go +++ b/metricbeat/module/system/filesystem/filesystem.go @@ -78,15 +78,23 @@ func (m *MetricSet) Fetch(r mb.ReporterV2) error { } for _, fs := range fss { - fsStat, err := GetFileSystemStat(fs) + stat, err := GetFileSystemStat(fs) + addStats := true if err != nil { - debugf("error getting filesystem stats for '%s': %v", fs.DirName, err) - continue + addStats = false + m.Logger().Debugf("error fetching filesystem stats for '%s': %v", fs.DirName, err) } - AddFileSystemUsedPercentage(fsStat) + fsStat := FSStat{ + FileSystemUsage: stat, + DevName: fs.DevName, + Mount: fs.DirName, + SysTypeName: fs.SysTypeName, + } + + AddFileSystemUsedPercentage(&fsStat) event := mb.Event{ - MetricSetFields: GetFilesystemEvent(fsStat), + MetricSetFields: GetFilesystemEvent(&fsStat, addStats), } if !r.Event(event) { return nil diff --git a/metricbeat/module/system/filesystem/helper.go b/metricbeat/module/system/filesystem/helper.go index b42504d88251..29b68a34d4d2 100644 --- a/metricbeat/module/system/filesystem/helper.go +++ b/metricbeat/module/system/filesystem/helper.go @@ -110,20 +110,13 @@ func filterFileSystemList(fsList []sigar.FileSystem) []sigar.FileSystem { } // GetFileSystemStat retreves stats for a single filesystem -func GetFileSystemStat(fs sigar.FileSystem) (*FSStat, error) { +func GetFileSystemStat(fs sigar.FileSystem) (sigar.FileSystemUsage, error) { stat := sigar.FileSystemUsage{} + // In some case for Windows OS the disk type value will be `unavailable` and access to this information is not allowed (ex. external disks). if err := stat.Get(fs.DirName); err != nil { - return nil, err - } - - filesystem := FSStat{ - FileSystemUsage: stat, - DevName: fs.DevName, - Mount: fs.DirName, - SysTypeName: fs.SysTypeName, + return stat, err } - - return &filesystem, nil + return stat, nil } // AddFileSystemUsedPercentage adds usage data to the filesystem struct @@ -137,18 +130,20 @@ func AddFileSystemUsedPercentage(f *FSStat) { } // GetFilesystemEvent turns a stat struct into a MapStr -func GetFilesystemEvent(fsStat *FSStat) common.MapStr { +func GetFilesystemEvent(fsStat *FSStat, addStats bool) common.MapStr { evt := common.MapStr{ "type": fsStat.SysTypeName, "device_name": fsStat.DevName, "mount_point": fsStat.Mount, - "total": fsStat.Total, - "available": fsStat.Avail, - "free": fsStat.Free, - "used": common.MapStr{ + } + if addStats == true { + evt.Put("total", fsStat.Total) + evt.Put("available", fsStat.Avail) + evt.Put("free", fsStat.Free) + evt.Put("used", common.MapStr{ "pct": fsStat.UsedPercent, "bytes": fsStat.Used, - }, + }) } if runtime.GOOS != "windows" { evt.Put("files", fsStat.Files) diff --git a/metricbeat/module/system/filesystem/helper_test.go b/metricbeat/module/system/filesystem/helper_test.go index 1f7d0027f5a2..126a44d38a35 100644 --- a/metricbeat/module/system/filesystem/helper_test.go +++ b/metricbeat/module/system/filesystem/helper_test.go @@ -60,7 +60,7 @@ func TestFileSystemList(t *testing.T) { assert.True(t, (stat.Used >= 0)) if runtime.GOOS != "windows" { - assert.NotEqual(t, "", stat.SysTypeName) + assert.NotEqual(t, "", fs.SysTypeName) } } } diff --git a/metricbeat/module/system/fsstat/fsstat.go b/metricbeat/module/system/fsstat/fsstat.go index ab80640a0c4a..6a963dbaf6f5 100644 --- a/metricbeat/module/system/fsstat/fsstat.go +++ b/metricbeat/module/system/fsstat/fsstat.go @@ -85,7 +85,7 @@ func (m *MetricSet) Fetch(r mb.ReporterV2) error { m.Logger().Debugf("error fetching filesystem stats for '%s': %v", fs.DirName, err) continue } - m.Logger().Debugf("filesystem: %s total=%d, used=%d, free=%d", stat.Mount, stat.Total, stat.Used, stat.Free) + m.Logger().Debugf("filesystem: %s total=%d, used=%d, free=%d", fs.DirName, stat.Total, stat.Used, stat.Free) totalFiles += stat.Files totalSize += stat.Total