Commit Graph

54 Commits

Author SHA1 Message Date
nico d36dbe03c8
Revert "add more global values"
This reverts commit 990d3abdc6.

my mistake, I hadn't checked if I am on the correct branch
2020-06-17 13:30:08 +02:00
nico 990d3abdc6
add more global values
+ add global uptime value
+ add global processes count value
2020-06-17 00:41:59 +02:00
genofire c7bf9f6b9f fix muc_host 2020-06-10 23:23:34 +02:00
genofire dd30520c62 improve control.py 2020-06-10 12:50:35 +02:00
genofire 6bb4308de2 metrics: use inherits of control/api 2020-06-10 12:50:35 +02:00
nico bfa47d1ae0
syntax and pep8
what have I become - a pep8 monster
2020-06-10 12:40:19 +02:00
genofire b8de1646c5 systemd: prometheus does not needed on same machine then the exporter 2020-06-10 12:17:09 +02:00
genofire d5304e67eb prometheus: fix client by ip 2020-06-10 12:12:46 +02:00
nico a6d1ae443e
systemd service hardening
+ add systemd protective features to restrict the system access
+ add service documentation link
+ add service required / after fields
2020-06-10 12:00:12 +02:00
nico 6c08f4bb64
no unicorns
gunicorn VIRTUAL_ENV detection is not compatible to our tools
2020-06-10 10:40:48 +02:00
genofire f14c9af6ee systemd: add support for venv and cleanup 2020-06-10 07:35:45 +02:00
genofire 3b451600cf systemd: prometheus files with venv 2020-06-10 07:28:10 +02:00
genofire 38a7b17180 add cleanup.py 2020-06-10 07:24:35 +02:00
nico 893f68497d
further documentation
+ add systemd service documentation
2020-06-10 00:56:43 +02:00
nico 331adaf820
fixup
* update version regex to succesfully match only the version string
+ add missing import
2020-06-10 00:40:22 +02:00
genofire 7ca08b12c0 fix ipv6 support for prometheus 2020-06-09 20:56:01 +02:00
genofire 710e139403 add logging to influxdb 2020-06-09 20:22:30 +02:00
genofire 6029cdc831 fix prometheus 2020-06-09 20:22:20 +02:00
genofire 52dc918125 fix versionstring parsing 2020-06-09 20:19:30 +02:00
genofire 8df15a5595 update clients naming 2020-06-09 20:18:48 +02:00
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