Installing AppSignal for Elixir
Please follow the installation guide first, when adding a new application to AppSignal.
Requirements
Before you can compile the AppSignal package, make sure the build/compilation tools are installed for your system. Please check the Supported Operating Systems page for any system dependencies that may be required.
Installation
Installing the AppSignal package in your Elixir application requires a couple of manual steps. Currently, AppSignal support Phoenix, Plug and pure Elixir apps.
If AppSignal does not support your use-case or if you find a problem with the documentation, don't hesitate to contact us. You can also create a pull-request on our public Elixir repository or [documentation repository][docs-repo].
Installing the package
-
Start by adding
appsignal
to your list of dependencies inmix.exs
.elixir# mix.exs def deps do [ {:appsignal, "~> 2.8"} ] end
-
Then run
mix deps.get
. -
Then run
mix appsignal.install YOUR_PUSH_API_KEY
or follow the manual configuration guide.
After the installation is complete, start your application. When the AppSignal OTP application starts, it looks for a valid configuration (e.g. an AppSignal Push API key), and start the AppSignal agent.
If it can't find a valid configuration, a warning will be logged. See the Configuration section on how to fully configure the AppSignal agent.
Configuration
Before the AppSignal package works you need to configure it. To be able to send data to AppSignal you first need to create an account on AppSignal.com. Or, if you already have an account, click on the "add app" button on AppSignal.com/accounts.
During the installation process you can run the mix appsignal.install
command
with the hexadecimal Push API key
or manually configure AppSignal using the guide below.
For more information about configuring the AppSignal package for Elixir, please read our configuration documentation.
Manual configuration
If you want to manually configure AppSignal you will need to place the
AppSignal Push API key you receive in the installation process in your
application's config/config.exs
configuration file.
Using the AppSignal configuration you are also able to configure an application name and environment and more.
# config/config.exs config :appsignal, :config, otp_app: :appsignal_phoenix_example, name: "AppsignalPhoenixExample", push_api_key: "your-push-api-key", env: Mix.env, active: true
Alternatively, you can configure AppSignal using OS environment variables.
export APPSIGNAL_OTP_APP="appsignal_phoenix_example" export APPSIGNAL_PUSH_API_KEY="your-push-api-key" export APPSIGNAL_APP_NAME="AppsignalPhoenixExample" export APPSIGNAL_APP_ENV="prod"
For more information about configuring the AppSignal package for Elixir, please read our configuration options page.
Run your application!
Once you've completed this guide your application is ready to be monitored by AppSignal!
Start your application up and perform some requests on it. By triggering an error or two you'll also test the error reporting.
Contact us if you have questions regarding installation or encountered any problems during the installation.
Optional: Add Phoenix instrumentation
Read more about how you can integrate more instrumentation in your Phoenix application in our integrating Phoenix guide.
Optional: Add Plug instrumentation
Read more about how you can integrate more instrumentation in your Plug application in our integrating Plug guide.
Optional: Add custom instrumentation
Add custom instrumentation to your application to get a more in-depth view of what's happening in your application. Read more about custom instrumentation in our instrumentation documentation.
Uninstall
Uninstall AppSignal from your app by following the steps below. When these steps are completed your app will no longer send data to the AppSignal servers.
-
In the
mix.exs
of your app, delete the{:appsignal, "~> 2.0"}
line. -
Run
mix deps.get
to update yourmix.lock
with the removed packages state. -
Remove any AppSignal configuration files from your app.
-
Configuration file location:
config/appsignal.exs
-
And its references in any other files in
config/*.exs
-
-
Remove any system environment variables from your development, staging, production, etc. hosts.
-
Environment variables prefixed with
APPSIGNAL_
-
Environment variable
APP_REVISION
-
-
Commit, deploy and restart your app.
- This will make sure the AppSignal servers won't continue to receive data from your app.
-
Optional: Make sure no
appsignal-agent
processes are running in the background.- Check the output of
ps aux | grep appsignal-agent
and kill the processes still running.
- Check the output of
-
Finally, remove the app on AppSignal.com.