Sending metrics from Netdata to ElasticSearch

Hello,

I'm using netdata to collect default and custom metrics from my system and applications, and I would like to send metrics over to ElasticSearch.

Right now I am just trying to get the metrics from netdata and visualize them in a file locally, before sending them to elasticsearch.

I have followed this guide, with some tweaks as I'm working in a Nvidia Jetson device running Ubuntu (L4T): https://www.syslog-ng.com/community/b/blog/posts/sending-netdata-metrics-syslog-ng-elasticsearch.

Right now I can't see any of the netdata metrics being logged unfortunately, and I can't find out what I'm doing wrong.

My netdata config file:

# netdata configuration
#
# You can download the latest version of this file, using:
#
#  wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
# or
#  curl -o /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
#
# You can uncomment and change any of the options below.
# The value shown in the commented settings, is the default value.
#

# global netdata configuration

[global]
	# run as user = netdata
	# glibc malloc arena max for plugins = 1
	# glibc malloc arena max for netdata = 1
	# hostname = dlk00109
	# history = 3996
	# update every = 1
	# config directory = /etc/netdata
	# stock config directory = /usr/lib/netdata/conf.d
	# log directory = /var/log/netdata
	# web files directory = /usr/share/netdata/web
	# cache directory = /var/cache/netdata
	# lib directory = /var/lib/netdata
	# home directory = /var/lib/netdata
	# lock directory = /var/lib/netdata/lock
	# plugins directory = "/usr/libexec/netdata/plugins.d" "/etc/netdata/custom-plugins.d"
	# memory mode = dbengine
	# page cache size = 32
	# dbengine disk space = 256
	# dbengine multihost disk space = 256
	# host access prefix = 
	# memory deduplication (ksm) = yes
	# debug flags = 0x0000000000000000
	# debug log = /var/log/netdata/debug.log
	# error log = /var/log/netdata/error.log
	# access log = /var/log/netdata/access.log
	# facility log = daemon
	# errors flood protection period = 1200
	# errors to trigger flood protection = 200
	# TZ environment variable = :/etc/localtime
	# timezone = Etc/UTC
	# OOM score = 0
	# process scheduling policy = batch
	# process nice level = 19
	# pthread stack size = 8388608
	# cleanup obsolete charts after seconds = 3600
	# gap when lost iterations above = 1
	# cleanup orphan hosts after seconds = 3600
	# delete obsolete charts files = yes
	# delete orphan hosts files = yes
	# enable zero metrics = no
	# dbengine extent pages = 64

[backend]
	enabled = yes
        type = json
        destination = localhost:12345
        data source = average
        prefix = netdata
        update every = 10
        buffer on failures = 10
        timeout ms = 20000
        send charts matching = *
[web]
	# ssl key = /etc/netdata/ssl/key.pem
	# ssl certificate = /etc/netdata/ssl/cert.pem
	# tls version = 1.3
	# tls ciphers = none
	# ses max window = 15
	# des max window = 15
	# mode = static-threaded
	# listen backlog = 4096
	# default port = 19999
	# bind to = *
	# disconnect idle clients after seconds = 60
	# timeout for first request = 60
	# accept a streaming request every seconds = 0
	# respect do not track policy = no
	# x-frame-options response header = 
	# allow connections from = localhost *
	# allow connections by dns = heuristic
	# allow dashboard from = localhost *
	# allow dashboard by dns = heuristic
	# allow badges from = *
	# allow badges by dns = heuristic
	# allow streaming from = *
	# allow streaming by dns = heuristic
	# allow netdata.conf from = localhost fd* 10.* 192.168.* 172.16.* 172.17.* 172.18.* 172.19.* 172.20.* 172.21.* 172.22.* 172.23.* 172.24.* 172.25.* 172.26.* 172.27.* 172.28.* 172.29.* 172.30.* 172.31.* UNKNOWN
	# allow netdata.conf by dns = no
	# allow management from = localhost
	# allow management by dns = heuristic
	# enable gzip compression = yes
	# gzip compression strategy = default
	# gzip compression level = 3
	# web server threads = 6
	# web server max sockets = 256
	# custom dashboard_info.js = 

[plugins]
	# PATH environment variable = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
	PYTHONPATH environment variable = /usr/libexec/netdata/python.d/python_modules
	# checks = no
	# idlejitter = yes
	# timex = yes
	# tc = yes
	# diskspace = yes
	# proc = yes
	# cgroups = yes
	# enable running new plugins = yes
	# check for new plugins every = 60
	# slabinfo = no
	# ebpf = yes
	# node.d = yes
	# charts.d = yes
	# go.d = yes
	# apps = yes
	# perf = yes
	# python.d = yes
	# fping = yes
	# ioping = yes

My syslog-ng config file:

#############################################################################
# Default syslog-ng.conf file which collects all local logs into a
# single file called /var/log/messages.
#

@version: 3.36
@include "scl.conf"

source s_local {
	system();
	internal();
};

##source s_network {
	##default-network-drivers(
		# NOTE: TLS support
		#
		# the default-network-drivers() source driver opens the TLS
		# enabled ports as well, however without an actual key/cert
		# pair they will not operate and syslog-ng would display a
		# warning at startup.
		#
		#tls(key-file("/path/to/ssl-private-key") cert-file("/path/to/ssl-cert"))
	##);
##};

source s_netdata {
	network(
		transport(tcp)
		port(12345)
		flags(no-parse)
		tags(netdata)
	);
};

parser p_netdata {
	json-parser(
		prefix("netdata.")
	);
};

filter f_netdata {
	match("users", value("netdata.chart_type"));
};

destination d_local {
	file("/var/log/messages_netdata.log");
	file("/var/log/messages-kv.log" template("$ISODATE $HOST $(format-welf --scope all-nv-pairs)\n") frac-digits(3));
};

log {
	##source(s_local);
	source(s_netdata);
	parser(p_netdata);
	filter(f_netdata);
	# uncomment this line to open port 514 to receive messages
	#source(s_network);
	destination(d_local);
};

log {
	source(s_local);
	destination(d_local);
};

Thank you for your time.

Parents Reply Children
No Data