Zabbix multiple agent instances of different versions - windows

I was wondering if there is anyway that different versions of zabbix agent can runned on a windows server.
The documentation mentions something about multiple "intances" but doesnt look like this is creating any more services.
I've tried running version 3.2 alongside 2.4 on a test server but only one service can run at a time, if I try and start service 2, I'll get:
As you can see from the screen shoot the service have different names and calling diferent version of the executable.
Both services run, just not at the same time.

You can't run multiple agents on the same ListenPort. Use different ports per agent instance.

Related

Can we have two instances of Rundeck installed on same server?

I have rundeck 3.3.10 installed on my RedHat server , I want to upgrade to 4.0.1 community version.But I want to keep the older version intact, while I install and setup the latest version. Is it possible ,if yes what are the steps to achieve this ?
I checked on PagerDuty site but couldnt find the information i was looking for.
You can keep two instances in this way:
The first one installed from the RPM/repo listening to the port 4440 and the second one could be installed as a WAR (for example, in the /opt/rundeck directory) and listening to another port, e.g: 4441.
You can see in this answer how to configure the second instance.
But if you're looking to keep two RPM instances, the best way is to replicate the 4.0.1 upgrade in a virtual machine (like Vagrant) and later upgrade your main server.
NOTE: Don't connect both instances against the same database, I assume that you're creating a specific database for the 2nd instance.

Docker based development environment for multiple projects

I am wondering about the best architecture for a Docker based development environment with a LAMP stack.
Requirements
Working on multiple projects in parallel
Most projects are using the same LAMP stack (for simplicity let's assume that all projects are sharing the same stack and configuration)
The host is running Windows + VBox + Docker Toolbox (i.e. Boot2Docker)
Current architecture
One shared development environment running multiple containers (web, db, persistent data..) with vhosts configuration per site
Using scripts / Jenkins container to setup new project (new DB, vhost configuration..)
Running custom Samba container to share the data with the Windows machine (IDE is running on Windows)
As always there are pros. and cons., while this is quite easy for maintenance, we are unable to really deploy a specific project with a dedicated docker-compose.yml file, and we are also unable to get all the benefits of "micro services" like replacing PHP / MySQL version for a specific site.
The question is how can we use a per project docker-compose.yml file, but still have multiple projects running simultaneously (since all projects are using port 80).
Will it be better (and is it even possible?) to use random ports per project and run a proxy layer on top of those web containers?
Any other options or common design patterns for this use case?
Thanks.
The short answer is yes. Docker by default assigns random ports if no port it is specified. For mapping I would use: https://github.com/jwilder/nginx-proxy
You can have something like project1.yml project2.yml .... and to start the containers would be something like:
docker-comppse -f project1.yml up
However, I'm not sure why would you try to do that. You could use something like Rancher and split my development host into multiple small development environments.

How to update new version of application in a running Ubuntu EC2 machine programmatically

How can I update the new versions of application in my ubuntu machines in private subnet which are in Autoscaling. I am using cloudfromation script to bring up the entire set up. Can I include any script in cloudfromation template to do this? Please help.
There are a few ways to accomplish the upgrade. Many people use amazon's provided script, cfn-hup. The way I do it is different and is as follows:
When instance launches, have script install application from files fetched from S3
Update S3 with new version.
Use a script(or manually) to shutdown instances one at a time, waiting for autoscaling to bring them up with the new version installed.

AWS Ruby SDK - Delete application and all associated environments

I'm using the AWS Ruby SDK to interact with Amazon Beanstalk. I've got applications with more or more running environments. The application names are easily known to my Ruby code, but the environment names were dynamically generated, and so aren't easily obtainable.
I hoped that the delete_application method would also terminate all running environments automatically, but the following error results from trying to delete a Beanstalk application with running environments:
Unable to delete application dsw88-test-app-prod because it has a version that is deployed to a running environment.
Deleting an application manually in the AWS console also is able to automatically remove running environments. Is there a way to easily delete an application and all its running environments using the Ruby SDK?
After more research, I don't believe this is possible. Instead, you must use the following process:
Get a list of all the environments in your application using the describe_environments call
Terminate each one of those running environments using the terminate_environment call
Once those are done (You should wait for them to finish), then you can run the delete_application call to delete your application
It would be nice if Amazon provided a way to delete all that stuff programmatically with one command (like they do in the UI), but it doesn't look like that is currently supported.

Two Hudson Masters on the same Windows Server

I want to setup two Hudson Masters on the same Hardware. This will make administering Hudson easier, since both servers are used by two different (and independent) teams.
So far I tried to install one server as a service. I verified the installation and it is running ok. I than copied the installation into another path and changed the service information (different service Name and description) and the httpPort. I then create the service, once using sc.exe create and once using hudson.exe install. In both cases the server started. However, the configuration page acted goofy. So this approach is either not working at all or I missed another configuration file.
Does anyone has an idea how to accomplish this?
I tried the same approach as documented in the question but avoided the copying of the original installation. So I created two folders and put a copy of hudson.war in it. Then I performed the following steps for both folders.
Start Hudson with java -jar hudson.war
Installed Hudson as a service using the web UI
went into the Hudson Base Dir and ran hudson uninstall
modified the port and the Service information in hudson.xml
installed the service through command line hudson install
Now I have two services and the first quick test looks promising.
May I suggest:
run two instances of Tomcat
have each Tomcat running on its own HTTP port
deploy HUDSON.WAR in each Tomcat
set CATALINA_OPTS for each Tomcat to point to a different HUDSON_HOME

Resources