Sign inSign up

intergral/observability-agent

By intergral

•Updated almost 2 years ago

Wrapper for the Grafana Agent to automatically configure exporters and ship to FusionReactor

Image
Monitoring & observability
0

640

intergral/observability-agent repository overview

The Observability Agent autoconfiguration and installer tool is a wrapper for Grafana Alloy⁠ that will automatically configure exporters to ship to the FusionReactor Cloud

⁠Usage

In Docker, you will not be prompted for any information. Therefore, you must specify any required configuration in the environment before running

⚠️ The agent will not ship to FusionReactor without setting the api_key variable

⁠Environment Variables Example

docker run --env api_key=1234567890 --env mysql_connection_string=root:my-secret-pw@(mysql:3306)/ intergral/observability-agent:latest

⁠.Env File Example

docker run --env-file .env intergral/observability-agent:latest

⁠Compose Example
version: "3.2"

services:

  #database
  mysql:
    image: mysql:latest
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw
  
  #agent
  agent:
    image: intergral/observability-agent:latest
    environment:
      - api_key=1234567890
      - mysql_connection_string=root:my-secret-pw@(mysql:3306)/
    ports:
      - 12345:12345

To access Grafana Alloy's UI⁠ on localhost:12345 you must expose ports 12345:12345 in your docker run command or docker compose file as shown above

⁠Configuration

Set the relevant environment variables for whichever services you have running, so they can be configured. We support the following environment variables for configuration:

⁠Ingest
VariableTypeDescription
api_keystringAPI Key to authenticate with your FusionReactor Cloud Account
logs_userstringUsername to authenticate with your FusionReactor Cloud Account

To change the endpoints for metrics and logs, you can use these environment variables:

VariableTypeDefault
metrics_endpointstringhttps://api.fusionreactor.io/v1/metrics
logs_endpointstringhttps://api.fusionreactor.io/v1/logs
⁠Connection strings
VariableTypeExample (Defaults)
mysql_connection_stringstring<username>:<password>@(<host>:3306)/
mssql_connection_stringstringsqlserver://<username>:<password>@<host>:1433
postgres_connection_stringstringpostgresql://<username>:<password>@<host>:5432/shop?
rabbitmq_scrape_targetstring<host>:15692
redis_connection_stringstring<host>:6379
kafka_connection_stringstring<host>:9092
elasticsearch_connection_stringstringhttp://<username>:<password@<host>:9200
mongo_connection_stringstringmongodb://<username>:<password>@127.0.0.1:27017/
oracledb_connection_stringstringoracle://<username>:<password>@<host>:1521/ORCLCDB
⁠Log Exporter
VariableTypeDescription
log_collectionboolEnables log collection
service_namestringSet a name for you log collection service
log_pathstringSet a file path for your log collection service
⁠Open Telemetry

If you wish to enable Open Telemetry metrics and traces, the following environment variables must be set:

VariableTypeExampleDescription
otel_collectionbooltrueEnables Open Telemetry metrics and traces
⁠Scraping from additional exporters

At present, there are some integrations we don't support out the box. Use of these integrations is via a scrape endpoint. To scrape these exporters, you can use the following environment variable to set a list of exporters and their corresponding endpoints to be scraped. The list must be wrapped in double quotes and each value must be separated by a comma and a space.

VariableTypeExampleDescription
scrape_targetsstring"nginxexporter:9113, iisexporter:1234"List of endpoints for the exporters

⁠Further Information

For further information on addressing docker networks, your host network and additional networking capabilities, see Docker networking features⁠

Read the docs⁠ for more information or contact FR support⁠.

Tag summary

Content type

Image

Digest

sha256:55a5b4376…

Size

143.6 MB

Last updated

almost 2 years ago

docker pull intergral/observability-agent