Commit Graph

84 Commits

Author SHA1 Message Date
genofire 3bcc8ab25a refactory prometheus exporter - use python lib 2020-06-09 20:18:48 +02:00
nico 692d1df2c1
initial documentation attempt
+ add install and configuration documentations
2020-06-09 19:19:12 +02:00
nico 5cf6889799
fix version string being unpopulated
* fix version string being empty
+ add error code 17 to the README
resolves #2

Error Code 17 means one of two things
a) the configured user credentials are not correct, therefore the user is not able to properly login
b) the configured user does not have the correct permissions to interact with the api
2020-06-09 17:55:00 +02:00
nico 0e0f9565c2
Client ressource addition
* update Xabber ressource names
+ add Monal ressource
2020-05-09 14:52:27 +02:00
nico d44e4021fe
code cleanup
* split up api and metrics class
* revamped file nameming to better resemble their function
* update prometheus and influx files

* fixed version regex to not break on - in version string
2020-04-28 14:11:49 +02:00
nico bfcb912595
update requirements file
+ add ruamel.yaml to requierments file
2020-04-09 14:10:44 +02:00
nico 634ba02e76
config handeling
* add proper configuration handeling to the metrics class
2020-04-08 13:27:52 +02:00
Martin/Geno 1a3782ce97 Merge branch 'yaml' into 'master'
yaml config

See merge request sum7/ejabberd-metrics!4
2020-03-07 11:06:17 +01:00
nico d827444889
yaml config
+ implement yaml config file parsing
* update default config file
* update global config file from .conf to .yml ( debatable )

Signed-off-by: nico <nico@magicbroccoli.de>
2020-03-06 12:46:48 +01:00
nico c8d88a537d
better session handeling
* improved session handeling

Due to the with statement in the session creation process, every requests to the api created a new session. This patch decreases the enormous TCP overhead, by creating a single global session to reuse.
2020-03-06 12:43:15 +01:00
nico 95616508ce
customizable muc host
+ add optional argument to the EjabberdMetrics class to customize the default muc host sub-domain
2020-02-17 02:05:58 +01:00
nico cf0357197e
config file location overwrite
+ add environment toggle to overwrite the config directory

setting ejabberd_metrics_dev to 1 / true  -> set the config path inside the dev directory
2020-02-17 02:05:44 +01:00
nico 89176536ad Merge branch 'etc_config' into 'master'
utilize /etc/ directory

See merge request sum7/ejabberd-metrics!3
2020-02-16 20:19:04 +01:00
nico f02b7e87ed utilize /etc/ directory
+ add config.py to read / touch create the etc config file
2020-02-16 20:19:03 +01:00
nico 7c656961ce
ejabberd 19.* fix
* ejabberd 19 and above report muc count only on the muc host
2020-02-16 12:23:47 +01:00
nico 5ce45fca7f
fetch_muc improvements
+ add parsed version string property
* improve fetch_muc method to not request the status string for each request
2020-02-04 01:40:20 +01:00
nico 0145458961
backend readability and performance improvements
+ add some typing
* optimized imports to only import if necessary
* change xmlrpc connection to with statement
* change rest connection to with statement
* replace format string to f-string
* pep8 changes
2019-12-29 01:16:17 +01:00
nico 9b6d0c0b97
fix parser error
* influxdb does not expect a comma in front of the ts
2019-12-29 00:52:01 +01:00
nico 7200131614
alignment changes
* update influx plugin use the rest interface
* align influx.py to ejabberdrpc changes
* replace format with f-strings
* minor performance improvements
2019-12-28 22:37:07 +01:00
genofire ee25eb6e23
improve error handling + fix muc 2019-12-07 16:19:36 +01:00
genofire a5a39958cc
improve configuration (with default values) - also for testing ejabberdrpc.py 2019-12-07 16:01:58 +01:00
genofire 39ae668307
add rest api support to ejabberdrpc.py 2019-12-07 15:30:48 +01:00
Martin/Geno 6554a1f982 Merge branch 'customizability' into 'master'
Influxdb plugin changes

See merge request sum7/ejabberd-metrics!2
2019-12-07 14:48:26 +01:00
nico 9c33cf856b systemd compliance
+ add possibility to customize db name via config file
+ file path configurations are dealt with dynamically
* at least Debian does not feature a group called nobody it is called nogroup

I am not sure if other systems feature a group called nobody.
2019-12-07 14:48:25 +01:00
nico e3e3222f20 Merge branch 'influxdb' into 'master'
InfluxDB Plugin

See merge request sum7/ejabberd-metrics!1
2019-10-24 20:31:50 +02:00
nico 40edb13762 final touches
# added
+ add method to escape whitespaces in keys and values

# changed
* init client handler only once and not every time
* don't try to create database on every run just on the first one

# removed
- vhosts are listed first and after that the respective nodes are listed
2019-10-24 20:31:49 +02:00
nico 1a63916b4e
pep8 and gitignore
+ add .gitignore
* some pep8 changes
2019-10-17 14:24:06 +02:00
Martin/Geno 47683773ff
client by (ipversion) 2019-10-17 13:45:55 +02:00
Martin/Geno 4ceca3f87e
s2s_in/out + muc 2019-10-17 09:13:00 +02:00
Martin/Geno 02a9c3cbac
fix systemd prometheus service 2019-10-17 09:12:35 +02:00
Martin/Geno e3d69af688
systemd prometheus service 2019-10-17 07:26:26 +02:00
Martin/Geno 9877bdf22b
first prometheus impl 2019-10-17 07:01:00 +02:00
Martin/Geno 17a6585ea4
first xml rpc api 2019-10-17 07:00:39 +02:00
Martin/Geno cf1a595837 Initial commit 2019-10-17 01:47:23 +02:00