Packages
appsignal
0.11.4
2.17.4
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.11
2.15.10
2.15.9
2.15.8
2.15.7
2.15.6
2.15.5
2.15.4
2.15.3
2.15.2
2.15.1
2.15.0
2.14.1
2.14.0
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.3
2.12.2
2.12.1
2.12.0
2.11.0
2.10.2
2.10.1
2.10.0
2.9.2
2.9.1
2.9.0
2.8.3
2.8.2
2.8.1
2.8.0
2.7.13
2.7.12
2.7.11
2.7.10
2.7.9
2.7.8
2.7.7
2.7.6
2.7.5
2.7.4
2.7.3
2.7.2
2.7.1
2.7.0
2.7.0-beta.1
2.6.1
2.6.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.19
2.2.18
2.2.17
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
retired
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.7-beta.1
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.8
2.0.7
2.0.6
2.0.6-beta.1
2.0.5
retired
2.0.4
retired
2.0.3
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-beta.11
2.0.0-beta.10
2.0.0-beta.9
2.0.0-beta.8
2.0.0-beta.7
2.0.0-beta.6
2.0.0-beta.5
2.0.0-beta.4
2.0.0-beta.3
2.0.0-beta.2
2.0.0-beta.1
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.13.0-beta.2
1.13.0-beta.1
1.12.1
1.12.0
1.12.0-beta.3
1.12.0-beta.2
1.12.0-beta.1
1.11.8
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.11.0-beta.1
1.10.13
1.10.12
1.10.11
1.10.10
1.10.9
1.10.8
1.10.7
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.4
1.9.3
1.9.2
1.9.1
1.9.1-beta.1
1.9.0
1.9.0-beta.1
1.9.0-alpha.1
1.8.2
1.8.1
1.8.1-beta.2
1.8.1-beta.1
1.8.0
1.7.2
1.7.1
1.7.0
1.7.0-beta.2
1.7.0-beta.1
1.7.0-alpha.4
1.7.0-alpha.3
1.7.0-alpha.2
1.7.0-alpha.1
1.6.7
1.6.6
1.6.6-beta.2
1.6.6-beta.1
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.6.0-beta.1
1.6.0-alpha.1
1.5.1
1.5.0
1.5.0-beta.2
1.5.0-beta.1
1.4.11-beta.1
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.4.0-alpha.1
1.3.6
1.3.6-beta.1
1.3.5
1.3.4
1.3.4-beta.1
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-beta.3
1.3.0-beta.2
1.3.0-beta.1
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Collects error and performance data from your Elixir applications and sends it to AppSignal
Current section
Files
Jump to
Current section
Files
GettingStarted.md
# Getting started
## Installation
1. Add `appsignal` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:appsignal, "~> 0.0"}]
end
```
2. Ensure `appsignal` is started before your application:
```elixir
def application do
[applications: [:appsignal]]
end
```
3. If you use the
[Phoenix framework](http://www.phoenixframework.org/), *use* the
`Appsignal.Phoenix` module in your `endpoint.ex` file, just
*before* the line where your router module gets called
(which should read something like `plug MyApp.Router`):
```elixir
use Appsignal.Phoenix
```
See [Phoenix integration](https://hexdocs.pm/appsignal/phoenix.html)
on how to integrate Appsignal fully into your Phoenix application.
When the AppSignal OTP application starts, it looks for a valid
configuration (e.g. an AppSignal push key), and start the AppSignal agent.
If it can't find a valid configuration, a warning will be logged. See
the "Configuration" section below on how to fully configure the
AppSignal agent.
## Configuration
[Sign up on AppSignal](https://appsignal.com/users/sign_up) and put
the hexadecimal key in your `config.exs`:
config :appsignal, :config,
name: :my_first_app,
push_api_key: "your-hex-appsignal-key"
Alternatively, you can configure the agent using OS environment variables:
export APPSIGNAL_APP_NAME=my_first_app
export APPSIGNAL_PUSH_API_KEY=your-hex-appsignal-key
## Running in production: Adding environment and app version
When you are running on a production system you typically want to let
AppSignal know that you do that, and also include the version
(revision) number of your application. A typical `config/prod.exs`
would thus contain:
config :appsignal, :config,
name: :my_first_app,
push_api_key: "your-hex-appsignal-key",
env: :prod,
revision: Mix.Project.config[:version]
## Disable for tests
If you put your entire Appsignal configuration in the `config.exs`
instead of `prod.exs`, (e.g. for having Appsignal enabled during
development), make sure to put `active: false` in your test config
unless you want to submit all your test results:
config :appsignal, :config,
active: false
## Filtered parameters
In most apps at least some of the data that might be posted to the app is
sensitive information that should not leave the network. We support two ways of
filtering parameters from being sent to AppSignal.
## Using Phoenix's filter_parameters configuration
You can use Phoenix's parameter filtering, which is used to keep sensitive
information from the logs:
config :phoenix, :filter_parameters, ["password", "secret"]
If `:filter_parameters` is not set, Phoenix will default to `["password"]`. This
means that a Phoenix app will not send any passwords to AppSignal without any
configuration.
## Using AppSignal's built-in filtering
If you're not using Phoenix, or want to filter parameters without changing the
Phoenix.Logger's configuration, you can set up filtered parameters in the
AppSignal configuration file:
config :appsignal, :config,
filter_parameters: ["password", "secret"]
## Configuration keys
The full list of variables that can be configured is the following:
- `APPSIGNAL_ACTIVE` (Elixir config key: `:active`)
- `APPSIGNAL_PUSH_API_KEY` (Elixir config key: `:push_api_key`)
- `APPSIGNAL_APP_NAME` (Elixir config key: `:name`)
- `APP_REVISION` (Elixir config key: `:revision`)
- `APPSIGNAL_PUSH_API_ENDPOINT` (Elixir config key: `:endpoint`)
- `APPSIGNAL_FRONTEND_ERROR_CATCHING_PATH` (Elixir config key: `:frontend_error_catching_path`)
- `APPSIGNAL_APP_ENV` (Elixir config key: `:env`; defaults to `:dev`; other valid values are `:test` and `:prod`)
- `APPSIGNAL_DEBUG` (Elixir config key: `:debug`)
- `APPSIGNAL_LOG_PATH` (Elixir config key: `:log_path`)
- `APPSIGNAL_IGNORE_ERRORS` (Elixir config key: `:ignore_errors`)
- `APPSIGNAL_IGNORE_ACTIONS` (Elixir config key: `:ignore_actions`)
- `APPSIGNAL_HTTP_PROXY` (Elixir config key: `:http_proxy`)
- `APPSIGNAL_RUNNING_IN_CONTAINER` (Elixir config key: `:running_in_container`)
- `APPSIGNAL_WORKING_DIR_PATH` (Elixir config key: `:working_dir_path`)
- `APPSIGNAL_ENABLE_HOST_METRICS` (Elixir config key: `:enable_host_metrics`)
- `APPSIGNAL_FILTER_PARAMETERS` (Elixir config key: `:filter_parameters`)