All Projects → Dynatrace → Dynatrace Appmon Docker

Dynatrace / Dynatrace Appmon Docker

Licence: mit
The home of Dockerized components of the Dynatrace Application Monitoring enterprise solution.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Dynatrace Appmon Docker

Kevoree
The Kevoree Java project
Stars: ✭ 37 (-43.94%)
Mutual labels:  deployment
Graceful Shutdown Spring Boot
Graceful Shutdown with Spring Boot (Demo)
Stars: ✭ 51 (-22.73%)
Mutual labels:  deployment
Unixagent
This is the OCS unified agent for Unix operating systems
Stars: ✭ 61 (-7.58%)
Mutual labels:  deployment
Polydeploy
A Bulk Deployment tool for the DNN CMS. PolyDeploy is focussed on security, reliability and auditability.
Stars: ✭ 40 (-39.39%)
Mutual labels:  deployment
Copycat Action
©️ GitHub Action for copying files to other repositories
Stars: ✭ 48 (-27.27%)
Mutual labels:  deployment
Laravel Caprover Template
Template to deploy a Laravel app in docker for CapRover
Stars: ✭ 56 (-15.15%)
Mutual labels:  deployment
Pipeline With Gradle And Docker
Continuous Deployment with Gradle and Docker example project
Stars: ✭ 34 (-48.48%)
Mutual labels:  deployment
Cloudflare Purge Action
🗑️ GitHub Action to purge a website's cache via the Cloudflare API
Stars: ✭ 66 (+0%)
Mutual labels:  deployment
Nextjs With Lambda
Next.js example with deploying to AWS Lambda
Stars: ✭ 48 (-27.27%)
Mutual labels:  deployment
Bert In Production
A collection of resources on using BERT (https://arxiv.org/abs/1810.04805 ) and related Language Models in production environments.
Stars: ✭ 58 (-12.12%)
Mutual labels:  deployment
Seodeploy
SEODeploy: Flexible and Modular Python Library for Automating SEO Testing in Deployment Pipelines.
Stars: ✭ 41 (-37.88%)
Mutual labels:  deployment
Kedro Mlflow
A kedro-plugin for integration of mlflow capabilities inside kedro projects (especially machine learning model versioning and packaging)
Stars: ✭ 48 (-27.27%)
Mutual labels:  deployment
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+12686.36%)
Mutual labels:  deployment
Sentry
Kubernetes Object Validating Admission Controller
Stars: ✭ 40 (-39.39%)
Mutual labels:  deployment
Flask vue ml
后端+前端+算法模型,机器学习项目 demo。Flask + vue + ML, full stack machine learning project construction.
Stars: ✭ 64 (-3.03%)
Mutual labels:  deployment
Gh Actions Hugo Deploy Gh Pages
Github Actions : Hugo static site generator
Stars: ✭ 37 (-43.94%)
Mutual labels:  deployment
Rsync
In the process of being transitioned to a node.js action.
Stars: ✭ 53 (-19.7%)
Mutual labels:  deployment
Capsule
Dead-Simple Packaging and Deployment for JVM Apps
Stars: ✭ 1,143 (+1631.82%)
Mutual labels:  deployment
Branchsite
CLI tool for publishing your static website to a separate branch
Stars: ✭ 65 (-1.52%)
Mutual labels:  deployment
Rsync Deployments
GitHub Action for deploying code via rsync over ssh
Stars: ✭ 59 (-10.61%)
Mutual labels:  deployment

Docker Logo

Dynatrace-AppMon-Docker for AppMon

The home of Dockerized components of the Dynatrace Application Monitoring enterprise solution. All components are available on the Docker Hub.

What is Dynatrace AppMon?

Dynatrace Application Monitoring, with its PurePath technology, is the world's leading application monitoring solution - trusted by more than 7500 customers around the globe. It supports all your major technology stacks and integrates into your Continuous Delivery pipelines to allow you to build world-class, high-quality software.

If you are looking for monitoring containerized applications in dynamic Docker environments, please visit Dynatrace SaaS Docker monitoring.

How to install Dynatrace AppMon?

By default, we use root user for running containers. It is a bad practice so, if you can, you should run them as non-root. Go to the Running Dynatrace Appmon containers as non-root paragraph for running and configuration instructions.

Running Dynatrace Appmon services as root

If you don't need to use a non-root or dedicated user to run Dynatrace Appmon docker containers, you can quickly bring up an entire Dockerized Dynatrace AppMon environment by using Docker Compose with any of the provided docker-compose.yml files like so :

git clone https://github.com/Dynatrace/Dynatrace-AppMon-Docker.git
cd Dynatrace-AppMon-Docker
docker-compose up -d

This will install and run all Appmon services like Server, Collector and Master Agent in daemon mode in single containers joined the same subnetwork. Then, you can install your Agents (see Configuration part for further details). In order to browse logs produced by these services you can use:

docker-compose logs -f

Running Dynatrace Appmon services as non-root

For the security reasons, as Docker co-uses the host kernel, all Dynatrace Appmon services are recommended to be run as non-root user. Therefore, you should operate on dedicated user on your host machine and set CUID (User ID) and CGID (Group ID) variables in .env file for your user. By default it uses root. During image builds, user with the same ids will be created and used for running containers.

After you change user/group id variables, you may run Dynatrace Appmon in two ways:

  • executing run-as-nonroot.sh script as dedicated user. This user should be able to run docker services (he should be added to the docker group). Example: ./run-as-nonroot.sh -f docker-compose-debian.yml -b, where -b states for docker-compose's --build

or

  • running docker-compose up after making sure that host directories for DT_SERVER_LOG_PATH_ON_HOST, DT_COLLECTOR_LOG_PATH_ON_HOST and DT_AGENT_LOG_PATH_ON_HOST are created and ownerships are set to your dedicated user. Otherwise logs will not be available for you on host machine and/or some service might not run due to permission denied error.

Configuration

Configuration relies on supplying docker-compose with environment variables defined in .env file. Some .env files variables need to be passed to Dockerfile via ARG for correct building component images, that's way it is recommended to change variables only from .env file.

Ports can be also configured in .env file. By default it uses values from Communication Connections Documentation.

Master Agent (dtagent) service only prepares required libraries and installation scripts for triggering agents. Running and configuring agents is manual action done by the user. Examples are here. If you are not familiar with Appmon Agents concept, please read: Agents Overview, Agents Installation, Agents Configuration

If you don't want to validate CA certificate for curl commands, you may want to initialize CURL_INSECURE variable to any value for image build.

Please see each component's README file for more specific details about configuration.

Licensing

The example above leaves your Dynatrace AppMon environment without a proper license. However, you can add your license by editing .env file and put it as value for DT_SERVER_LICENSE_KEY_FILE_URL variable.

Also, you can conveniently have a license provisioned at container runtime by specifying a URL to a Dynatrace License Key File in the DT_SERVER_LICENSE_KEY_FILE_URL environment variable. If you don't happen to have a web server available to serve the license file to you, Netcat can conveniently serve it from your command line, exactly once, via nc -l 1337 < dtlicense.key, where 1337 is an available port on your local machine. A sudo may be required depending on which port you eventually decide to choose.

git clone https://github.com/Dynatrace/Dynatrace-Docker.git
cd Dynatrace-Docker
DT_SERVER_LICENSE_KEY_FILE_URL=http://$YOUR_IP:1337 docker-compose up

Obtaining a License

In the example above, you have to let DT_SERVER_LICENSE_KEY_FILE_URL point to a valid Dynatrace AppMon License Key file. If you don't have a license yet, you can obtain a Dynatrace AppMon Free Trial License here. However, you don't need to have your license file hosted by a server: if you can run a console, Netcat can conveniently serve it for you on port 80 via sudo nc -l 80 < dtlicense.key.

How to Monitor your Dockerized Application?

Performance Clinic - Agents Performance Clinic - Collector

See the following integrations for more information:

Dockerized Application

How to Monitor your Docker Containers?

Want to see all your Docker Metrics in one place? See the Dynatrace Docker Monitor Plugin for more information.

Docker Monitor Plugin

Resource Requirements

When running Docker on Windows or a Mac via the Docker Toolbox, make sure your Docker Machine has sufficient resources available to run Dynatrace AppMon together with your Dockerized application:

  1. Stop the Docker Machine in VirtualBox

Power off Docker Machine

  1. Give your Docker Machine at least 2 CPUs

Configure Docker Machine CPUs

  1. Give your Docker Machine at least 4 GB of RAM

Configure Docker Machine RAM

  1. Finally, start your Docker Quickstart Terminal for the changes to take effect.

Problems? Questions? Suggestions?

This offering is Dynatrace Community Supported. Feel free to share any problems, questions and suggestions with your peers on the Dynatrace Community's Application Monitoring & UEM Forum.

License

Licensed under the MIT License. See the LICENSE file for details. analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].