mirror of
https://github.com/netdata/netdata.git
synced 2025-04-13 09:11:50 +00:00
Perf plugin (#6225)
* Add perf plugin skeleton * Initialize events * Collect data * Configure default counters * Add charts for hardware and software counters * Add charts for cache counters * Don't show zeroes for non-existent metrics * Reinit events when stalled * Do not reinit disabled events * Update the documentation * Scale values when multiplexing is happening
This commit is contained in:
parent
fe8279c31d
commit
21cd00c84a
15 changed files with 1515 additions and 15 deletions
.gitignoreCMakeLists.txtMakefile.am
collectors
configure.acdocs
netdata-installer.shweb/gui
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -56,6 +56,9 @@ nfacct.plugin
|
|||
xenstat.plugin
|
||||
!xenstat.plugin/
|
||||
|
||||
perf.plugin
|
||||
!perf.plugin/
|
||||
|
||||
cgroup-network
|
||||
!cgroup-network/
|
||||
|
||||
|
|
|
@ -370,6 +370,10 @@ set(XENSTAT_PLUGIN_FILES
|
|||
collectors/xenstat.plugin/xenstat_plugin.c
|
||||
)
|
||||
|
||||
set(PERF_PLUGIN_FILES
|
||||
collectors/perf.plugin/perf_plugin.c
|
||||
)
|
||||
|
||||
set(PROC_PLUGIN_FILES
|
||||
collectors/proc.plugin/ipc.c
|
||||
collectors/proc.plugin/plugin_proc.c
|
||||
|
@ -678,6 +682,7 @@ IF(LINUX)
|
|||
|
||||
SET(ENABLE_PLUGIN_CGROUP_NETWORK True)
|
||||
SET(ENABLE_PLUGIN_APPS True)
|
||||
SET(ENABLE_PLUGIN_PERF True)
|
||||
|
||||
ELSEIF(FREEBSD)
|
||||
add_executable(netdata config.h ${NETDATA_FILES} ${FREEBSD_PLUGIN_FILES})
|
||||
|
@ -686,6 +691,7 @@ ELSEIF(FREEBSD)
|
|||
target_compile_options(netdata PUBLIC ${NETDATA_COMMON_CFLAGS})
|
||||
SET(ENABLE_PLUGIN_CGROUP_NETWORK False)
|
||||
SET(ENABLE_PLUGIN_APPS True)
|
||||
SET(ENABLE_PLUGIN_PERF False)
|
||||
|
||||
ELSEIF(MACOS)
|
||||
add_executable(netdata config.h ${NETDATA_FILES} ${MACOS_PLUGIN_FILES})
|
||||
|
@ -694,6 +700,7 @@ ELSEIF(MACOS)
|
|||
target_compile_options(netdata PUBLIC ${NETDATA_COMMON_CFLAGS})
|
||||
SET(ENABLE_PLUGIN_CGROUP_NETWORK False)
|
||||
SET(ENABLE_PLUGIN_APPS False)
|
||||
SET(ENABLE_PLUGIN_PERF False)
|
||||
|
||||
ENDIF()
|
||||
|
||||
|
@ -777,6 +784,20 @@ ELSE()
|
|||
ENDIF()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# perf.plugin
|
||||
|
||||
IF(ENABLE_PLUGIN_PERF)
|
||||
message(STATUS "perf.plugin: enabled")
|
||||
add_executable(perf.plugin config.h ${PERF_PLUGIN_FILES})
|
||||
target_link_libraries (perf.plugin libnetdata ${NETDATA_COMMON_LIBRARIES})
|
||||
target_include_directories(perf.plugin PUBLIC ${NETDATA_COMMON_INCLUDE_DIRS})
|
||||
target_compile_options(perf.plugin PUBLIC ${NETDATA_COMMON_CFLAGS})
|
||||
ELSE()
|
||||
message(STATUS "perf.plugin: disabled")
|
||||
ENDIF()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# cgroup-network
|
||||
|
||||
|
|
13
Makefile.am
13
Makefile.am
|
@ -234,6 +234,11 @@ XENSTAT_PLUGIN_FILES = \
|
|||
$(LIBNETDATA_FILES) \
|
||||
$(NULL)
|
||||
|
||||
PERF_PLUGIN_FILES = \
|
||||
collectors/perf.plugin/perf_plugin.c \
|
||||
$(LIBNETDATA_FILES) \
|
||||
$(NULL)
|
||||
|
||||
PROC_PLUGIN_FILES = \
|
||||
collectors/proc.plugin/ipc.c \
|
||||
collectors/proc.plugin/plugin_proc.c \
|
||||
|
@ -573,6 +578,14 @@ if ENABLE_PLUGIN_XENSTAT
|
|||
$(NULL)
|
||||
endif
|
||||
|
||||
if ENABLE_PLUGIN_PERF
|
||||
plugins_PROGRAMS += perf.plugin
|
||||
perf_plugin_SOURCES = $(PERF_PLUGIN_FILES)
|
||||
perf_plugin_LDADD = \
|
||||
$(NETDATA_COMMON_LIBS) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if ENABLE_BACKEND_KINESIS
|
||||
netdata_SOURCES += $(KINESIS_BACKEND_FILES)
|
||||
netdata_LDADD += $(OPTIONAL_KINESIS_LIBS)
|
||||
|
|
|
@ -18,6 +18,7 @@ SUBDIRS = \
|
|||
macos.plugin \
|
||||
nfacct.plugin \
|
||||
xenstat.plugin \
|
||||
perf.plugin \
|
||||
node.d.plugin \
|
||||
proc.plugin \
|
||||
python.d.plugin \
|
||||
|
|
|
@ -37,6 +37,7 @@ plugin|lang|O/S|runs as|modular|description
|
|||
[macos.plugin](macos.plugin/)|`C`|macos|internal|yes|collects resource usage and performance data on MacOS systems
|
||||
[nfacct.plugin](nfacct.plugin/)|`C`|linux|external|-|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`
|
||||
[xenstat.plugin](xenstat.plugin/)|`C`|linux|external|-|collects XenServer and XCP-ng metrics using `libxenstat`
|
||||
[perf.plugin](perf.plugin/)|`C`|linux|external|-|collects CPU performance metrics using performance monitoring units (PMU).
|
||||
[node.d.plugin](node.d.plugin/)|`node.js`|any|external|yes|a **plugin orchestrator** for data collection modules written in `node.js`.
|
||||
[plugins.d](plugins.d/)|`C`|any|internal|-|implements the **external plugins** API and serves external plugins
|
||||
[proc.plugin](proc.plugin/)|`C`|linux|internal|yes|collects resource usage and performance data on Linux systems
|
||||
|
|
|
@ -77,6 +77,7 @@ freeipmi.plugin: freeipmi.plugin
|
|||
nfacct.plugin: nfacct.plugin
|
||||
cups.plugin: cups.plugin
|
||||
xenstat.plugin: xenstat.plugin
|
||||
perf.plugin: perf.plugin
|
||||
charts.d.plugin: *charts.d.plugin*
|
||||
node.d.plugin: *node.d.plugin*
|
||||
python.d.plugin: *python.d.plugin*
|
||||
|
|
8
collectors/perf.plugin/Makefile.am
Normal file
8
collectors/perf.plugin/Makefile.am
Normal file
|
@ -0,0 +1,8 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
|
||||
|
||||
dist_noinst_DATA = \
|
||||
README.md \
|
||||
$(NULL)
|
72
collectors/perf.plugin/README.md
Normal file
72
collectors/perf.plugin/README.md
Normal file
|
@ -0,0 +1,72 @@
|
|||
# perf.plugin
|
||||
|
||||
`perf.plugin` collects system-wide CPU performance statistics from Performance Monitoring Units (PMU) using
|
||||
the `perf_event_open()` system call.
|
||||
|
||||
## Important Notes
|
||||
|
||||
Accessing hardware PMUs requires root permissions, so the plugin is setuid to root.
|
||||
|
||||
Keep in mind that the number of PMUs in a system is usually quite limited and every hardware monitoring
|
||||
event for every CPU core needs a separate file descriptor to be opened.
|
||||
|
||||
## Charts
|
||||
|
||||
The plugin provides statistics for general hardware and software performance monitoring events:
|
||||
|
||||
Hardware events:
|
||||
1. CPU cycles
|
||||
2. Instructions
|
||||
3. Branch instructions
|
||||
4. Cache operations
|
||||
5. BUS cycles
|
||||
6. Stalled frontend and backend cycles
|
||||
|
||||
Software events:
|
||||
1. CPU migrations
|
||||
2. Alignment faults
|
||||
3. Emulation faults
|
||||
|
||||
Hardware cache events:
|
||||
1. L1D cache operations
|
||||
2. L1D prefetch cache operations
|
||||
3. L1I cache operations
|
||||
4. LL cache operations
|
||||
5. DTLB cache operations
|
||||
6. ITLB cache operations
|
||||
7. PBU cache operations
|
||||
|
||||
## Configuration
|
||||
|
||||
The plugin is disabled by default because the number of PMUs is usually quite limited and it is not desired to
|
||||
allow Netdata to struggle silently for PMUs, interfering with other performance monitoring software. If you need to
|
||||
enable the perf plugin, edit /etc/netdata/netdata.conf and set:
|
||||
|
||||
```raw
|
||||
[plugins]
|
||||
perf = yes
|
||||
```
|
||||
|
||||
```raw
|
||||
[plugin:perf]
|
||||
update every = 1
|
||||
command options = all
|
||||
```
|
||||
|
||||
You can use the `command options` parameter to pick what data should be collected and which charts should be
|
||||
displayed. If `all` is used, all general performance monitoring counters are probed and corresponding charts
|
||||
are enabled for the available counters. You can also define a particular set of enabled charts using the
|
||||
following keywords: `cycles`, `instructions`, `branch`, `cache`, `bus`, `stalled`, `migrations`, `alighnment`,
|
||||
`emulation`, `L1D`, `L1D-prefetch`, `L1I`, `LL`, `DTLB`, `ITLB`, `PBU`.
|
||||
|
||||
## Debugging
|
||||
|
||||
You can run the plugin by hand:
|
||||
|
||||
```raw
|
||||
sudo /usr/libexec/netdata/plugins.d/perf.plugin 1 all debug
|
||||
```
|
||||
|
||||
You will get verbose output on what the plugin does.
|
||||
|
||||
[]()
|
1348
collectors/perf.plugin/perf_plugin.c
Normal file
1348
collectors/perf.plugin/perf_plugin.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -15,6 +15,7 @@ plugin|language|O/S|description
|
|||
[freeipmi.plugin](../freeipmi.plugin/)|`C`|linux|collects metrics from enterprise hardware sensors, on Linux servers.
|
||||
[nfacct.plugin](../nfacct.plugin/)|`C`|linux|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`.
|
||||
[xenstat.plugin](../xenstat.plugin/)|`C`|linux|collects XenServer and XCP-ng metrics using `lxenstat`.
|
||||
[perf.plugin](../perf.plugin/)|`C`|linux|collects CPU performance metrics using performance monitoring units (PMU).
|
||||
[node.d.plugin](../node.d.plugin/)|`node.js`|all|a **plugin orchestrator** for data collection modules written in `node.js`.
|
||||
[python.d.plugin](../python.d.plugin/)|`python`|all|a **plugin orchestrator** for data collection modules written in `python` v2 or v3 (both are supported).
|
||||
|
||||
|
|
14
configure.ac
14
configure.ac
|
@ -685,6 +685,19 @@ AC_MSG_RESULT([${enable_plugin_xenstat}])
|
|||
AM_CONDITIONAL([ENABLE_PLUGIN_XENSTAT], [test "${enable_plugin_xenstat}" = "yes"])
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# perf.plugin
|
||||
|
||||
AC_MSG_CHECKING([if perf.plugin should be enabled])
|
||||
if test "${build_target}" == "linux" ; then
|
||||
enable_plugin_perf="yes"
|
||||
else
|
||||
enable_plugin_perf="no"
|
||||
fi
|
||||
AC_MSG_RESULT([${enable_plugin_perf}])
|
||||
AM_CONDITIONAL([ENABLE_PLUGIN_PERF], [test "${enable_plugin_perf}" = "yes"])
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# AWS Kinesis backend - libaws-cpp-sdk-kinesis, libaws-cpp-sdk-core, libssl, libcrypto, libcurl
|
||||
|
||||
|
@ -999,6 +1012,7 @@ AC_CONFIG_FILES([
|
|||
collectors/statsd.plugin/Makefile
|
||||
collectors/tc.plugin/Makefile
|
||||
collectors/xenstat.plugin/Makefile
|
||||
collectors/perf.plugin/Makefile
|
||||
daemon/Makefile
|
||||
database/Makefile
|
||||
database/engine/Makefile
|
||||
|
|
|
@ -69,6 +69,7 @@ To control which plugins Netdata run, edit `netdata.conf` and check the `[plugin
|
|||
# charts.d = yes
|
||||
# apps = yes
|
||||
# xenstat = yes
|
||||
# perf = no
|
||||
```
|
||||
|
||||
The default for all plugins is the option `enable running new plugins`. So, setting this to `no` will disable all the plugins, except the ones specifically enabled.
|
||||
|
@ -95,7 +96,7 @@ sudo su -s /bin/bash netdata
|
|||
```
|
||||
|
||||
Similarly, you can use `charts.d.plugin` for BASH plugins and `node.d.plugin` for node.js plugins.
|
||||
Other plugins (like `apps.plugin`, `freeipmi.plugin`, `fping.plugin`, `ioping.plugin`) use the native Netdata plugin API and can be run directly.
|
||||
Other plugins (like `apps.plugin`, `freeipmi.plugin`, `fping.plugin`, `ioping.plugin`, `nfacct.plugin`, `xenstat.plugin`, `perf.plugin`) use the native Netdata plugin API and can be run directly.
|
||||
|
||||
If you need to configure a Netdata plugin or module, all user supplied configuration is kept at `/etc/netdata` while the stock versions of all files is at `/usr/lib/netdata/conf.d`.
|
||||
To copy a stock file and edit it, run `/etc/netdata/edit-config`. Running this command without an argument, will list the available stock files.
|
||||
|
@ -116,6 +117,9 @@ plugin | language | plugin<br/>configuration | modules<br/>configuration |
|
|||
`fping.plugin`<br/>(external plugin for collecting network latencies)|`C`|`fping.conf`|This plugin is a wrapper for the `fping` command.
|
||||
`ioping.plugin`<br/>(external plugin for collecting disk latencies)|`C`|`ioping.conf`|This plugin is a wrapper for the `ioping` command.
|
||||
`freeipmi.plugin`<br/>(external plugin for collecting IPMI h/w sensors)|`C`|`netdata.conf` section `[plugin:freeipmi]`
|
||||
`nfacct.plugin`<br/>(external plugin for monitoring netfilter firewall and connection tracker)|`C`|`netdata.conf` section `[plugin:nfacct]`|N/A
|
||||
`xenstat.plugin`<br/>(external plugin for monitoring XCP-ng and XenServer)|`C`|`netdata.conf` section `[plugin:xenstat]`|N/A
|
||||
`perf.plugin`<br/>(external plugin for monitoring CPU performance on Linux)|`C`|`netdata.conf` section `[plugin:perf]`|N/A
|
||||
`idlejitter.plugin`<br/>(internal plugin for monitoring CPU jitter)|`C`|N/A|N/A
|
||||
`macos.plugin`<br/>(internal plugin for monitoring MacOS system resources)|`C`|`netdata.conf` section `[plugin:macos]`|one section for each module `[plugin:macos:MODULE]`. Each module may provide additional sections in the form of `[plugin:macos:MODULE:SUBSECTION]`.
|
||||
`node.d.plugin`<br/>(external plugin orchestrator of node.js modules)|`node.js`|`node.d.conf`|a file for each module in `/etc/netdata/node.d/`.
|
||||
|
@ -321,6 +325,7 @@ application|language|notes|
|
|||
:---------:|:------:|:----|
|
||||
apps|C|`apps.plugin` collects resource usage statistics for all processes running in the system. It groups the entire process tree and reports dozens of metrics for CPU utilization, memory footprint, disk I/O, swap memory, network connections, open files and sockets, etc. It reports metrics for application groups, users and user groups.<br/> <br/>[Documentation of `apps.plugin`](../collectors/apps.plugin/).<br/> <br/>Netdata plugin: [`apps_plugin.c`](../collectors/apps.plugin)<br/>configuration file: [`apps_groups.conf`](../collectors/apps.plugin)|
|
||||
ioping|C|Charts disk latency statistics for a directory/file/device, using the `ioping` command. A recent (probably unreleased) version of ioping is required. The plugin supplied can install it in `/usr/local`.<br/> <br/>Netdata plugin: [ioping.plugin](../collectors/ioping.plugin) (this is a shell wrapper to start ioping - once ioping is started, Netdata and ioping communicate directly - it can also install the right version of ioping)<br/>configuration file: [ioping.conf](../collectors/ioping.plugin)|
|
||||
perf|C|`perf.plugin` collects CPU performance metrics using hardware performance monitoring units (PMU).<br/> <br/>[Documentation of `perf.plugin`](../collectors/perf.plugin/).<br/> <br/>Netdata plugin: [`perf_plugin.c`](../collectors/perf.plugin)|
|
||||
cpu_apps|BASH<br/>Shell Script|Collects the CPU utilization of select apps.<br/><br/>DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [cpu_apps.chart.sh](../collectors/charts.d.plugin/cpu_apps)<br/>configuration file: [charts.d/cpu_apps.conf](../collectors/charts.d.plugin/cpu_apps)|
|
||||
load_average|BASH<br/>Shell Script|Collects the current system load average.<br/><br/>DEPRECATED IN FAVOR OF THE NETDATA INTERNAL ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [load_average.chart.sh](../collectors/charts.d.plugin/load_average)<br/>configuration file: [charts.d/load_average.conf](../collectors/charts.d.plugin/load_average)|
|
||||
mem_apps|BASH<br/>Shell Script|Collects the memory footprint of select applications.<br/><br/>DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [mem_apps.chart.sh](../collectors/charts.d.plugin/mem_apps)<br/>configuration file: [charts.d/mem_apps.conf](../collectors/charts.d.plugin/mem_apps)|
|
||||
|
|
|
@ -229,6 +229,7 @@ navpart 3 collectors/ioping.plugin
|
|||
navpart 3 collectors/freeipmi.plugin
|
||||
navpart 3 collectors/nfacct.plugin
|
||||
navpart 3 collectors/xenstat.plugin
|
||||
navpart 3 collectors/perf.plugin
|
||||
|
||||
|
||||
echo -ne " - 'docs/Third-Party-Plugins.md'
|
||||
|
|
|
@ -55,7 +55,7 @@ download_go() {
|
|||
else
|
||||
echo >&2
|
||||
echo >&2 "Downloading go.d plugin from '${url}' failed because of missing mandatory packages."
|
||||
echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
|
||||
echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
|
||||
echo >&2
|
||||
|
||||
run_failed "I need curl or wget to proceed, but neither is available on this system."
|
||||
|
@ -213,10 +213,10 @@ while [ -n "${1}" ]; do
|
|||
"--disable-plugin-nfacct") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-plugin-nfacct/} --disable-plugin-nfacct";;
|
||||
"--enable-plugin-xenstat") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-plugin-xenstat/} --enable-plugin-xenstat";;
|
||||
"--disable-plugin-xenstat") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-plugin-xenstat/} --disable-plugin-xenstat";;
|
||||
"--enable-backend-kinesis") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-backend-kinesis/} --enable-backend-kinesis";;
|
||||
"--disable-backend-kinesis") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-backend-kinesis/} --disable-backend-kinesis";;
|
||||
"--enable-backend-prometheus-remote-write") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-backend-prometheus-remote-write/} --enable-backend-prometheus-remote-write";;
|
||||
"--disable-backend-prometheus-remote-write") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-backend-prometheus-remote-write/} --disable-backend-prometheus-remote-write";;
|
||||
"--enable-backend-kinesis") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-backend-kinesis/} --enable-backend-kinesis";;
|
||||
"--disable-backend-kinesis") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-backend-kinesis/} --disable-backend-kinesis";;
|
||||
"--enable-backend-prometheus-remote-write") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-backend-prometheus-remote-write/} --enable-backend-prometheus-remote-write";;
|
||||
"--disable-backend-prometheus-remote-write") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-backend-prometheus-remote-write/} --disable-backend-prometheus-remote-write";;
|
||||
"--enable-lto") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-lto/} --enable-lto";;
|
||||
"--disable-lto") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-lto/} --disable-lto";;
|
||||
"--disable-x86-sse") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-x86-sse/} --disable-x86-sse";;
|
||||
|
@ -736,15 +736,20 @@ if [ "${UID}" -eq 0 ]; then
|
|||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/nfacct.plugin"
|
||||
fi
|
||||
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin" ]; then
|
||||
run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin"
|
||||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin"
|
||||
fi
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin" ]; then
|
||||
run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin"
|
||||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/xenstat.plugin"
|
||||
fi
|
||||
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping" ]; then
|
||||
run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping"
|
||||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping"
|
||||
fi
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/perf.plugin" ]; then
|
||||
run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/perf.plugin"
|
||||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/perf.plugin"
|
||||
fi
|
||||
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping" ]; then
|
||||
run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping"
|
||||
run chmod 4750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/ioping"
|
||||
fi
|
||||
|
||||
if [ -f "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/cgroup-network" ]; then
|
||||
run chown "root:${NETDATA_GROUP}" "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/cgroup-network"
|
||||
|
@ -876,7 +881,7 @@ else
|
|||
create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf" "http://localhost:${NETDATA_PORT}/netdata.conf"
|
||||
fi
|
||||
if [ "${UID}" -eq 0 ]; then
|
||||
run chown "${NETDATA_USER}" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
|
||||
run chown "${NETDATA_USER}" "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
|
||||
fi
|
||||
run chmod 0664 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
|
||||
|
||||
|
|
|
@ -473,6 +473,12 @@ netdataDashboard.menu = {
|
|||
title: 'wmi',
|
||||
icon: '<i class="fas fa-server"></i>',
|
||||
info: undefined
|
||||
},
|
||||
|
||||
'perf': {
|
||||
title: 'Perf Counters',
|
||||
icon: '<i class="fas fa-tachometer-alt"></i>',
|
||||
info: 'Performance Monitoring Counters (PMC). Data collected using <b>perf_event_open()</b> system call which utilises Hardware Performance Monitoring Units (PMU).'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue