0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-15 01:58:34 +00:00
Commit graph

82 commits

Author SHA1 Message Date
thiagoftsm
c56e086ba3 Easily disable alarms, by persisting the silencers configuration ()
This PR was created to fix , here I am completing the job initiated by Christopher, among the newest features that we are bring we have

JSON inside the core - We are bringing to the core the capacity to work with JSON files, this is available either using the JSON-C library case it is present in the system or using JSMN library that was incorporated to our core. The preference is to have JSON-C, because it is a more complete library, but case the user does not have the library installed we are keeping the JSMN for we do not lose the feature.
Health LIST - We are bringing more one command to the Health API, now with the LIST it is possible to get in JSON format the alarms active with Netdata.
Health reorganized - Previously we had duplicated code in different files, this PR is fixing this (Thanks @cakrit !), the Health is now better organized.
Removing memory leak - The first implementation of the json.c was creating SILENCERS without to link it in anywhere. Now it has been linked properly.
Script updated - We are bringing some changes to the script that tests the Health.
This PR also fixes the race condition created by the previous new position of the SILENCERS creation, I had to move it to daemon/main.c, because after various tests, it was confirmed that the error could happen in different parts of the code, case it was not initialized before the threads starts.

Component Name
health directory
health-cmd

Additional Information
Fixes  and 
2019-07-01 21:07:21 +02:00
Pavlos Emm. Katsoulakis
171d8f5d01 Revert "Easily disable alarms, by persisting the silencers configuration ()"
This reverts commit 60a73e90de.

Emergency rollback of potential culprit as per issue 
Will be re-merging the change after investigation
2019-06-28 08:27:57 +02:00
thiagoftsm
60a73e90de Easily disable alarms, by persisting the silencers configuration ()
* Alarms begin!

* Alarms web interface comments!

* Alarms web interface comments 2!

* Alarms bringing Christopher work!

* Alarms bringing Christopher work!

* Alarms commenting code that will be rewritten!

* Alarms json-c begin!

* Alarms json-c end!

* Alarms missed script!

* Alarms fix json-c parser and change script to test LIST!

* Alarms fix test script!

* Alarms documentation!

* Alarms script step 1!

* Alarms fix script!

* Alarms fix testing script and code!

* Alarms missing arguments to pkg_check_modules

* SSL_backend indentation!

* Alarms, description in Makefile

* Alarms missing extern!

* Alarms compilation!

* Alarms libnetdata/health!

* Alarms fill library!

* Alarms fill CMakeList!

* Alarm fix version!

* Alarm remove readme!

* Alarm fix readme version!
2019-06-27 13:16:28 +02:00
Vladimir Kobal
21cd00c84a
Perf plugin ()
* 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
2019-06-20 15:23:29 +03:00
Vladimir Kobal
77781d033d Prometheus remote write backend ()
* Add Prometheus remote write backend prototype

* Fix autotools issues

* Send HTTP POST request

* Add parameters to HTTP header

* Discard HTTP responce 200

* Update CMake build configuration

* Fix Codacy issue

* Check for C++ binary

* Fix compilation without remote write backend

* Add options to the installer script

* Fix configure script warning

* Fix make dist

* Downgrade to ByteSize for better compatibility

* Integrate remote write more tightly into the existing backends code

* Cleanup

* Fix build error

* Parse host tags

* Fix Codacy issue

* Fix counters for buffered data

* Rename preprocessor symbol

* Better error handling

* Cleanup

* Update the documentation
2019-06-07 10:48:32 +02:00
thiagoftsm
b6088e08a7 SSL implementation for Netdata ()
* SSL implementation for Netdata

* Upload of fixes asked by @paulkatsoulakis and @cakrit

* Fix local computer

* Adding openssl to webserver

* fixing..

* HTTPS almost there

* Codacity

* HTTPS day 3

* HTTPS without Bio step 1

* HTTPS without Bio step 2

* HTTPS without Bio step 3

* HTTPS without Bio step 4

* HTTPS without Bio step 5

* HTTPS without Bio step 6

* HTTPS without Bio step 7

* HTTPS without Bio step 8

* HTTPS without Bio step 9

* HTTPS without Bio step 10

* SSL on streaming 1

* Daily pull

* HTTPS without Bio step 11

* HTTPS without Bio step 12

* HTTPS without Bio step 13

* HTTPS without Bio step 14

* SSL_Interception change documentation

* HTTPS without Bio step 15

* HTTPS without Bio step 16

* SSL_Interception fix codacity

* SSL_Interception fix doc

* SSL_Interception comments

* SSL_Interception fixing problems!

* SSL_Interception killing bugs

* SSL_Interception changing parameter

* SSL_Implementation documentation and script

* SSL_Implementation multiple fixes

* SSL_Implementation installer and cipher

* SSL_Implementation Redirect 301

* SSL_Implementation webserver doc and install-or-update.sh

* SSL_Implementation error 00000001:lib(0):func(0):reason(1)

* SSL_Implementation web server doc

* SSL_Implementation SEGFAULT on Fedora

* SSL_Implementation fix ^SSL=force|optional

* SSL_Implementation Redirect and Ciphers

* SSL_Implementation race condition 1

* SSL_Implementation Fix Location

* SSL_Implementation Fix Location 2

* SSL_Implementation Fix stream

* SSL_Implementation Fix stream 2

* SSL_Implementation Fix stream 3

* SSL_Implementation last problems!

* SSL_Implementation adjusts to commit!

* SSL_Implementation documentation permission!

* SSL_Implementation documentation permission 2!

* SSL_Implementation documentation permission 3!
2019-05-31 16:27:35 +02:00
Markos Fountoulakis
caf7b19194 DB engine optimize RAM usage ()
* Optimize memory footprint of DB engine

* Update documentation with the new memory requirements of dbengine

* Fixed code style

* Fix code style

* Fix compile error
2019-05-30 11:09:26 +02:00
Markos Fountoulakis
6ca6d840dd Database engine ()
* Database engine prototype version 0

* Database engine initial integration with netdata POC

* Scalable database engine with file and memory management.

* Database engine integration with netdata

* Added MIN MAX definitions to fix alpine build of travis CI

* Bugfix for backends and new DB engine, remove useless rrdset_time2slot() calls and erroneous checks

* DB engine disk protocol correction

* Moved DB engine storage file location to /var/cache/netdata/{host}/dbengine

* Fix configure to require openSSL for DB engine

* Fix netdata daemon health not holding read lock when iterating chart dimensions

* Optimized query API for new DB engine and old netdata DB fallback code-path

* netdata database internal query API improvements and cleanup

* Bugfix for DB engine queries returning empty values

* Added netdata internal check for data queries for old and new DB

* Added statistics to DB engine and fixed memory corruption bug

* Added preliminary charts for DB engine statistics

* Changed DB engine ratio statistics to incremental

* Added netdata statistics charts for DB engine internal statistics

* Fix for netdata not compiling successfully when missing dbengine dependencies

* Added DB engine functional test to netdata unittest command parameter

* Implemented DB engine dataset generator based on example.random chart

* Fix build error in CI

* Support older versions of libuv1

* Fixes segmentation fault when using multiple DB engine instances concurrently

* Fix memory corruption bug

* Fixed createdataset advanced option not exiting

* Fix for DB engine not working on FreeBSD

* Support FreeBSD library paths of new dependencies

* Workaround for unsupported O_DIRECT in OS X

* Fix unittest crashing during cleanup

* Disable DB engine FS caching in Apple OS X since O_DIRECT is not available

* Fix segfault when unittest and DB engine dataset generator don't have permissions to create temporary host

* Modified DB engine dataset generator to create multiple files

* Toned down overzealous page cache prefetcher

* Reduce internal memory fragmentation for page-cache data pages

* Added documentation describing the DB engine

* Documentation bugfixes

* Fixed unit tests compilation errors since last rebase

* Added note to back-up the DB engine files in documentation

* Added codacy fix.

* Support old gcc versions for atomic counters in DB engine
2019-05-15 08:28:06 +03:00
Vladimir Kobal
198c7fa3e3 Add AWS Kinesis backend ()
* Add Kinesis backend

* Separate config file

* Send data in chunks

* Fix minor issues

* Add error handling

* Use existing JSON functions

* Do not retry on send failure

* Implement building with autotools

* Implement building with CMake

* Fix CMake variables

* Fix build when C++ compiler is not available

* Add checks for C++11

* Don't reinitialize API

* Don't reinitialize client

* Minor cleanup

* Fix Codacy warning

* Separate sending records and receiving results

* Add documentation

* Make connection timeout configurable

* Fix operation metrics

* Fix typo

* Change parameter names for credentials

* Allow using the default SDK credentials configuration
2019-05-13 14:45:34 +02:00
Vladimir Kobal
b3f690e7c9
Add xenstat plugin ()
* Add xenstat plugin

* Add basic domain charts

* Initialize xl context

* Use domain UUID instead of name

* Make charts obsolete

* Add tmem charts

* Change algorithm for tmem puts and gets

* Add VCPU charts

* Minor formatting for sending charts functions

* Add VBD charts

* Add network charts

* Assemble VCPU metrics in one chart

* Fix chart names

* Make write/sent dimensions negative

* Minor formatting

* Change id and context for domain charts

* Add dashboard info

* Get rid of global variables

* Free libxenstat and libxl resourses

* Free domain_metrics on VM shutdown

* Add domain state chart

* Add debug messages

* Add branch prediction hints

* Minor fix

* Fix chart obsoleting

* Make names more general

* Fix CMake build of nfacct.plugin
2019-03-27 11:19:24 +02:00
Chris Akritidis
3bf4edc468
Correct PLUGINS_DIR directory in CMakeLists.txt () 2019-03-08 09:31:58 +01:00
Vladimir Kobal
ea0e0f8f5e Split nfacct plugin into separate process ()
* Prepare build configuration

* Prepare plugin for separating

* Add command line options

* Add debug messages

* Use text API

* Minor fixes

* Update the documentation

* Minor documentation formatting

* Fix LGTM alerts

* Fix building with CMake

* Add nfacct and cups plugins to apps.plugin groups
2019-02-13 10:34:58 +01:00
Chris Akritidis
08649bec37
Port ACLs, Management API and Health commands ()
##### Summary
fixes  
fixes 
fixes  
fixes  
fixes  
fixes 

Implements a command API for health which will accept commands via a socket to selectively suppress health checks. 

Allows different ports to accept different request types  (streaming, dashboard, api, registry, netdata.conf, badges, management)

Removes support for multi-threaded and single-threaded web servers.

##### Component Name
health, daemon
2019-01-15 12:49:28 +01:00
Vladimir Kobal
2e6d26bafd
Move power supply python module to proc plugin ()
* Add power supply module

* Use linked list

* Add charts for all properties

* Organize charts menu

* Fix line endings

* Keep files open

* Add options for chart disabling

* Final cleanup

* Add documentation, disable python module

* Fix file attributes

* Mark python module as obsolete

* Allow symbolic links to power source directories
2018-12-13 18:48:26 +02:00
Vladimir Kobal
67608ce7c4
Fix file permissions () 2018-12-12 20:40:43 +02:00
Vladimir Kobal
200ca5f5bf
Add mdstat to CMake configuration () 2018-12-12 20:40:15 +02:00
Costa Tsaousis
798c141c49
Split the API formatters in modules ()
* split all API formatters in modules

* added markdown formatting

* updated csv readme

* updated csv readme

* more documentation

* added more documentation

* updated documentation

* fixed typo

* fixed typo
2018-10-27 19:44:27 +03:00
Costa Tsaousis
f857aa35ae
optimized ses and added des ()
* optimized ses and added des

* added coefficient of variation

* fix bug identified by @vlvkobal: use all available points when resampling is required and the timeframe is not enough for a single point
2018-10-24 03:03:57 +03:00
Costa Tsaousis
09e89e937a
modularize the query api ()
* modularized exporters

* modularized API data queries

* optimized queries

* modularized API data reduction methods

* modularized api queries

* added new directories in makefiles

* added median db query

* moved all RRDR_GROUPING related to query.h

* added stddev query

* operational median and stddev

* working simple exponential smoothing

* too complex to do it right

* fixed ses

* fixed ses

* rewrote query engine

* fix double-exponential-smoothing

* cleanup

* fixed bug identified by @vlvkobal at rrdset_first_slot()

* enable freeipmi on systems with libipmimonitoring; 
2018-10-23 00:38:04 +03:00
Costa Tsaousis
e76aac74e6
moved related wiki pages into the repo ()
* moved related wiki pages into the repo

* updated web server docs

* fixed typos
2018-10-18 17:31:52 +03:00
Dylan Wang
dce20ad7c2 fix cmake build on macos () 2018-10-17 17:15:29 +03:00
Costa Tsaousis
bdabccf699
fix compilation on FreeBSD; ()
* fix compilation on FreeBSD; fixes 

* fix zfs header path

* fixed incorrect comma use
2018-10-15 23:54:42 +03:00
Costa Tsaousis
8fbf817ef8
modularized all source code ()
* modularized all external plugins

* added README.md in plugins

* fixed title

* fixed typo

* relative link to external plugins

* external plugins configuration README

* added plugins link

* remove plugins link

* plugin names are links

* added links to external plugins

* removed unecessary spacing

* list to table

* added language

* fixed typo

* list to table on internal plugins

* added more documentation to internal plugins

* moved python, node, and bash code and configs into the external plugins

* added statsd README

* fix bug with corrupting config.h every 2nd compilation

* moved all config files together with their code

* more documentation

* diskspace info

* fixed broken links in apps.plugin

* added backends docs

* updated plugins readme

* move nc-backend.sh to backends

* created daemon directory

* moved all code outside src/

* fixed readme identation

* renamed plugins.d.plugin to plugins.d

* updated readme

* removed linux- from linux plugins

* updated readme

* updated readme

* updated readme

* updated readme

* updated readme

* updated readme

* fixed README.md links

* fixed netdata tree links

* updated codacy, codeclimate and lgtm excluded paths

* update CMakeLists.txt

* updated automake options at top directory

* libnetdata slit into directories

* updated READMEs

* updated READMEs

* updated ARL docs

* updated ARL docs

* moved /plugins to /collectors

* moved all external plugins outside plugins.d

* updated codacy, codeclimate, lgtm

* updated README

* updated url

* updated readme

* updated readme

* updated readme

* updated readme

* moved api and web into webserver

* web/api web/gui web/server

* modularized webserver

* removed web/gui/version.txt
2018-10-15 23:16:42 +03:00
Costa Tsaousis
2cc264eff5
modularize C source code ()
* modularize cgroups and cmake; 

* modularized freeipmi.plugin

* added comment about referencing parent files

* modularized apps.plugin

* modularized proc and diskspace

* minor fixes

* modularized plugins: checks, freebsd, idlejitter, nfacct, tc, macos, plugins.d

* minor fixes 2

* modularized statsd

* modularized cgroup-network

* moved cgroup-network-helper.sh and cgroup-name.sh to cgroup.plugin

* modularized health plugin

* move rrd related info to rrd.h

* added libnetdata

* do not corrupt config.h

* use dir-objects instead of static libraries

* fixed cmake for new structure

* use absolute paths to fix LGTM

* enable automake subdir-objects and prettify its output

* use relative files at the src directory for all plugins

* fix compiler warning

* synced automake and cmake

* added config.h to cmake

* abstracted basic os functions in libnetdata/os

* fix zfs_common

* removed apps.plugin dependency on freebsd plugin

* health removed from plugins

* modularized the registry

* modularized the rest of it

* include streaming files in cmake

* use libnetdata as library

* enable silent-rules only when they are available
2018-10-11 21:27:56 +03:00
Paweł Krupa
d536ba6a43 fix spdx () 2018-09-30 02:36:42 +03:00
Costa Tsaousis
73608f86b4
stock configs in /usr/lib/netdata ()
* makefiles install configs in /usr/lib/netdata/conf.d; 

* stock health config in /usr/lib/netdata/conf.d/health.d

* unit test path concatenation

* simplified health file management

* use stream.conf from stock config if it does not exist in /etc/netdata

* indicate loading of user config in function call

* load netdata.conf from stock dir if not found in /etc/netdata

* added NETDATA_USER_CONFIG_DIR

* provide defaults before loading config

* charts.d uses stock files

* fping now uses the stock config files

* tc-qos-helper.sh now uses stock configs

* cgroup-name.sh now uses stock configs too

* simplified cgroup-name.sh for user and stock config

* alarm-notify.sh uses stock configs too

* simplified fping plugin configs loading

* simplified tc-qos-helper.sh configs loading

* added error handling to charts.d.plugin

* apps.plugin used stock configs

* generalized recursive double-directory configs loading

* statsd uses stock configs

* node.d.plugin uses stock configs

* compile-time decision of netdata default paths for all files

* makeself cleans up old stock config files from user configuration directories

* fixed makeself typo

* netdata-installer.sh removes stock files from user configuration directories

* python.d.plugin user/stock configs update

* cleanup stock config files from /etc/netdata, only once

* python.d.plugin log loaded files

* fix permissions of stock config files and provide an "orig" link for quick access

* create help link on stock configs migration for static installations

* create user config directories

* example statsd synthetic charts now state they are examples

* updated configs.signatures

* spec file

* fixes in spec file

* fix typo

* install netdata after cleaning up stock configs from /etc/netdata

* python.d: add cpuidle stock conf
2018-09-27 20:37:52 +03:00
Costa Tsaousis
2b14e31bef
daemon cleanup ()
* c code cleanup; eliminate all errors and warning under clion

* removed old server API

* removed obsolete "file" API command

* included common.h everywhere

* fix for github syntax highlighting

* enable CLion to build all netdata binaries

* added locks verification to cmake
2018-09-20 19:45:41 +03:00
Costa Tsaousis (ktsaou)
b28142fe0c
allow netdata to be compiled under clion 2018-06-11 20:16:28 +03:00
Austin S. Hemmelgarn
3a864d0b9f Add SPDX tags to most of the rest of the build files. 2018-06-04 08:27:13 -04:00
Costa Tsaousis (ktsaou)
31ae4f0836
added SCTP monitoring; fixes 2018-05-10 03:04:53 +03:00
Costa Tsaousis (ktsaou)
42a58e4c9d
abstracted pthreads into netdata_threads 2017-12-28 04:01:13 +02:00
Costa Tsaousis (ktsaou)
2bf3dac5cf
synchronized exit for all threads 2017-12-27 19:43:14 +02:00
Costa Tsaousis (ktsaou)
6d13fa0727
added btrfs filesystem monitoring; fixes 2017-12-17 23:58:03 +02:00
Costa Tsaousis (ktsaou)
53805b04e5
added /proc/net/sockstat6 2017-11-08 00:49:22 +02:00
Costa Tsaousis (ktsaou)
234c746b34
added /proc/net/sockstat parsing; fixes 2017-11-07 01:31:31 +02:00
Costa Tsaousis (ktsaou)
6462705815
re-organize cmake building to debug under clion 2017-09-24 00:23:41 +03:00
Costa Tsaousis (ktsaou)
8368ef121a
rewrote the signal handler; added SIGBUS handler; fixes 2017-09-16 00:50:38 +03:00
Costa Tsaousis (ktsaou)
012d456f38
added cgroup-network that can find the network interface of a cgroup, given a pid in it 2017-07-30 19:29:46 +03:00
Costa Tsaousis (ktsaou)
d3679c1d71
prometheus support all data sources netdata supports for the other backends: as collected, average, sum. The prometheus metrics format differs between as collected and the other types so that average and sum fixe 2017-07-09 20:50:03 +03:00
Vladimir Kobal
5b78cf5618 Add ipfw charts to FreeBSD plugin 2017-06-12 00:57:08 +03:00
Costa Tsaousis (ktsaou)
5f6dfc9ee8
added option to enable/disable statsd; added statistical functions (some of which) are required by statsd metrics 2017-04-25 02:18:52 +03:00
Costa Tsaousis (ktsaou)
32afa02892
skeleton for a statsd plugin for netdata - not finished yet 2017-04-23 17:28:38 +03:00
Vladimir Kobal
83fc9f5bb5 Change source files structure for ZFS stats 2017-04-08 15:26:34 +03:00
Vladimir Kobal
91a03b04bc Self-cleaning obsolete disks in FreeBSD plugin 2017-03-30 16:38:53 +03:00
Vladimir Kobal
ac62dedef2 Self-cleaning obsolete network interfaces in FreeBSD plugin 2017-03-30 15:13:15 +03:00
Costa Tsaousis (ktsaou)
5ba248ecd5
ZFS plugin for Linux; fixes 2017-03-25 23:51:32 +02:00
Costa Tsaousis (ktsaou)
68c6d53778
locks abstraction, error reporting, debugging 2017-03-12 16:54:07 +02:00
Costa Tsaousis (ktsaou)
12a818d1e5
updated cmake list for freeipmi.plugin 2017-03-03 22:50:59 +02:00
Costa Tsaousis (ktsaou)
f266bab3d1
freeipmi.plugin; fixes ; fixes ; fixes ; fixes 2017-03-03 01:11:12 +02:00
Costa Tsaousis (ktsaou)
73212e3a87
self-cleaning obsolete cgroups and network interfaces from memory; fixes ; fixes 2017-03-01 00:47:50 +02:00