ptarmiganlabs / butler-sos

Butler SenseOps Stats ("Butler-SOS") is a microservice publishing operational Qlik Sense metrics to InfluxDB, Prometheus and New Relic. Add Grafana for great looking dashboards and you get real-time monitoring of what happens inside a Qlik Sense environment.
https://butler-sos.ptarmiganlabs.com
MIT License
27 stars 13 forks source link

Error : Unsupported config option for services. 'enableMQTT' #120

Closed sk0010637 closed 2 years ago

sk0010637 commented 4 years ago

Hi, I am trying to add new container in docker-compose.yml. However getting error when trying to restart the docker container as Error : Unsupported config option for services. 'enableMQTT'.

version: '3.3'

Can you please suggest.

mountaindude commented 4 years ago

Hi there,

First, version 3.3 of Butler SOS is very old. I'm not even sure that version was ever released.. Released versions are listed here: https://github.com/ptarmiganlabs/butler-sos/releases Docker images listed here: https://hub.docker.com/r/ptarmiganlabs/butler-sos/tags

Then I need more info to help you. For starters:

sk0010637 commented 4 years ago

Hello,

Many thanks for the reply.

I am attaching the docker-compose.yml and production.yaml files which are used.

production.yaml is the file which controls what and how DEV/PROD servers are monitored. Have attached the .txt version of the files.

I am trying to add one more container (butler-sos_FIN_dev) in docker-compose.yml file
While trying to restart this container, I am getting "Unsupported config option for services. 'enableMQTT'" Platform used - Linux

Please let me know if anymore details are required.

sk0010637 commented 4 years ago

I am unable to attach the files.

mountaindude commented 4 years ago

Copy paste the files, maybe?

On Mon, 6 Jul 2020, 08:16 sk0010637, notifications@github.com wrote:

I am unable to attach the files.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ptarmiganlabs/butler-sos/issues/120#issuecomment-654037189, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH3JDVDC7OSFNJBH7J6EUTR2FT25ANCNFSM4OQ26NUA .

sk0010637 commented 4 years ago

many thanks again... Tried all option to attach, copy/paste or drag n drop.. however nothing is working.

If you don't mind.. can we have a quick call to sort this out please... I would share the webex link.. Please let me know..

sk0010637 commented 4 years ago

Please find the code as below for the new container which I am trying to add in dockerr-compose.yml file

butler-sos_FIN_dev: image: ptarmiganlabs/butler-sos:v4.0.0 depends_on:

sk0010637 commented 4 years ago

Hello,

Does this mean this, we will not be able to add any new container in the existing implementation of docker-compose.yml file unless we update the set up to the current version.

sk0010637 commented 4 years ago

Hello ,

Request you to let me know if we can have a short connect regarding this. This is basically Telia's grafana implementation where I am trying to add one more environment for server health monitoring through Grafana.

mountaindude commented 4 years ago

You can certainly have multiple Butler SOS instances running in parallel, but you must make sure that the ports exposed by each instance do not conflict with any other ports used on the server in question. This is standard server stuff and not a limitation in Butler SOS - it's just how microservices and APIs work.

I can't see why you could not run several instances of Butler 4.0.0 (which you seem to be using now) in parallel, but there have been significant improvements in the more recent versions, so I strongly suggest you move to the latest version.

I am personally on vacation and won't be able to support other than occasionally via this channel, I am afraid.

mountaindude commented 4 years ago

Adding to the above, you can in docker-compose.yml files specify that multiple containers should be started, for example one Butler SOS for a development Qlik Sense cluster, one Butler SOS for the Sense test cluster and one Butler SOS for the production cluster.

In that example you will need 3 different Butler SOS config files, each including the correct info for the cluster in question. Certificates must be exported from the QMC of each cluster. Basically repeating the Butler SOS config process for each cluster, but also making sure that ports exposed, container names etc are unique across the started containers.

This concept has been implemented lots of times, both using Docker containers and running Butler SOS as native Node.js apps. The Docker route is preferred though, as it usually gives better process isolation and stability.

sk0010637 commented 4 years ago

Hello Goran,

Hope you are back from the vacation and enjoyed the same.

Request you to please let me know how to get the latest version of docker-compose.yml file.

I am still getting the same error

ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for services.butler-sos_FIN_dev: 'enableMQTT' Unsupported config option for services.butler-sos_dev: 'enableMQTT' Unsupported config option for services.butler-sos_prod: 'enableMQTT'

sk0010637 commented 4 years ago

Removed previously attached file

Hello Goran,

I have attached the docker-compose.yml file for your reference.

While trying to add new container (.butler-sos_FIN_dev), I am getting below error

I am still getting the same error

ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for services.butler-sos_FIN_dev: 'enableMQTT' Unsupported config option for services.butler-sos_dev: 'enableMQTT' Unsupported config option for services.butler-sos_prod: 'enableMQTT'

Request you to please let me know how to get the latest version of docker-compose.yml file.

Also, suggest for the error message. It started giving the error of old container implementation as well. (butler-sos_dev, butler-sos_prod)

mountaindude commented 4 years ago

I have removed the file you attached. Not a good idea from security perspective to attach files with sensitive info...

There is no "most recent version" of the docker-compose.yaml file. You just have to customise it to your needs. Every setup is unique when it comes to host names, where things are stored on disk etc etc. You must understand how Docker and docker-compose works if you are to use them.

Otherwise you can always run Butler SOS as a native Node.js application on a Linux or Windows server - works too. But then you of course need to know how to install services on those platforms.

The "enableMQTT" error indicate that the configuration YAML file is incorrectly structures/formatted, in some way. I can only recommend that you look at https://butler-sos.ptarmiganlabs.com/ for info on configuration, and review your config files to make sure they are correctly formatted. Please note that the documentation site contains info about the most recent version (which is not ver 4). I.e. if you follow the instructions on the doc site, you should make sure to upgrade to most recent version of Butler SOS too.

mountaindude commented 4 years ago

Oh, I just noted something:

In the docker-compose file that you attached (=the one that I subsequently deleted for security reasons) you have a couple of lines:

    mqttConfig:
    enableMQTT: false

Those lines don't belong in a docker-compose file, at least not in a basic setup as this after all is. Instead, those lines are part of the YAML config file (usually called production.yaml), which tells Butler SOS how to operate.

docker-compose docs here.

mountaindude commented 2 years ago

Cleaning up old tickets - closing.

Please re-open if still an issue, or create a new ticket if new issues occur.