11 KiB
11 KiB
Ansible Datasaker Role
The Ansible Datasaker role installs and configures the Datasaker Agent and integrations.
Setup
Requirements
- Requires Ansible v2.6+.
- Supports most Debian Linux distributions.
- Supports Amazon Linux 2023 distributions.
Installation
Install the [Datasaker role] from Ansible Galaxy on your Ansible server:
ansible-galaxy install dsk_bot.datasaker
To deploy the Datasaker Agent on hosts, add the Datasaker role and your API key to your playbook:
Host Agent Default Install Example
- hosts: servers
become: true
roles:
- role: dsk_bot.datasaker
vars:
datasaker_api_key: "<YOUR_API_KEY>"
datasaker_agents: ["dsk-node-agent"]
Docker Agent Default Install Example
- hosts: servers
become: true
roles:
- role: dsk_bot.datasaker
vars:
datasaker_api_key: "<YOUR_API_KEY>"
datasaker_docker_agents: ["dsk-docker-node-agent","dsk-docker-log-agent"]
Base Role variables
| Variable | Description |
|---|---|
datasaker_api_key |
Your Datasaker API key. |
datasaker_agents |
Set to Datasaker Host Agent.dsk-node-agent dsk-trace-agent dsk-log-agent dsk-postgres-agent dsk-plan-postgres-agent(Default) dsk-node-agent |
datasaker_docker_agents |
Set to Datasaker Docker Agent.dsk-docker-node-agent dsk-docker-trace-agent dsk-docker-log-agent dsk-docker-postgres-agent(Default) dsk-docker-node-agent |
Docker Agent Role variables
| Variable | Description |
|---|---|
datasaker_docker_config_path |
Override the datasaker global config path. (Default) ~/.datasaker |
datasaker_docker_global_config |
Override the datasaker global config file name. (Default) ~/.datasaker/config.yml |
docker_default_path |
Override the docker containers path. (Default) /var/lib/docker/containers/ |
datasaker_docker_path |
Override the datasaker docker agent containers path. (Default) /var/datasaker |
container_agent_restart_policy |
Override the restart policy for a dsk-container-agent container (Default) always |
node_agent_restart_policy |
Override the restart policy for a dsk-node-agent container (Default) always |
trace_agent_restart_policy |
Override the restart policy for a dsk-trace-agent container (Default) always |
log_agent_restart_policy |
Override the restart policy for a dsk-log-agent container (Default) always |
postgres_agent_restart_policy |
Override the restart policy for a dsk-postgres-agent container (Default) always |
plan_postgres_agent_restart_policy |
Override the restart policy for a dsk-plan-postgres-agent container (Default) always |
container_agent_log_level |
Override the dsk-container-agent log level (Default) INFO |
node_agent_log_level |
Override the dsk-node-agent log level (Default) INFO |
trace_agent_log_level |
Override the dsk-trace-agent log level (Default) INFO |
log_agent_log_level |
Override the dsk-log-agent log level (Default) INFO |
postgres_agent_log_level |
Override the dsk-postgres-agent log level (Default) INFO |
plan_postgres_agent_log_level |
Override the dsk-plan-postgres-agent log level (Default) INFO |
Agents Setting Role variables
| Variable | Description |
|---|---|
trace_sampling_rate |
Override The dsk-trace-agent sampling rate applied to the collector.- When set to 100 or higher, all data is collected. (Default) 10 |
log_collects |
An array of log collection configurations. Each item in the array includes the following. |
log_collects[*].paths |
An array of paths for log collection. (Default) [ host-agent]=/var/log/*.log, [docker-agent]=/var/log/sample/*/*.log |
log_collects[*].exclude_paths |
An array of paths to be excluded from the log collection. If the array is empty, no paths will be excluded. (Default) None |
log_collects[*].keywords |
An array of keywords for filtering the logs. If the array is empty, no keyword filtering will be applied. (Default) None |
log_collects[*].tag |
The tag for the log collection item. (Default) Default |
log_collects[*].service.name |
The name of the service. (Default) default |
log_collects[*].service.category |
The category of the service. (Default) etc |
log_collects[*].service.type |
The type of the service. (Default) etc |
log_collects[*].service.address |
The address of the service. This field is optional and is used only for certain services that require an address. |
postgres_user_name |
Enter the Postgres user ID. (Default) None |
postgres_user_password |
Enter the Postgres user password. (Default) None |
postgres_database_address |
Enter the Postgres address. (Default) None |
postgres_database_port |
Enter the Postgres port. (Default) None |
plan_postgres_user_name |
Enter the Plan Postgres user ID. (Default) None |
plan_postgres_user_password |
Enter the Plan Postgres user password. (Default) None |
plan_postgres_database_address |
Enter the Plan Postgres address. (Default) None |
plan_postgres_database_port |
Enter the Plan Postgres port. (Default) None |
plan_postgres_database_name |
Enter the Plan Postgres database. (Default) None |
plan_postgres_scrape_interval |
Override the Plan Postgres scrape interval (Default) 30s |
plan_postgres_scrape_timeout |
Override the Plan Postgres scrape timeout (Default) 5s |
plan_postgres_slow_query_standard |
Override the Plan Postgres slow query standard (Default) 5s |
plan_postgres_executor_number |
Override the Plan Postgres executor number (Default) 10 |
plan_postgres_sender_number |
Override the Plan Postgres sender number (Default) 10 |
plan_postgres_activity_query_buffer |
Override the Plan Postgres activity query buffer (Default) 50 |
plan_postgres_plan_sender_buffer |
Override the Plan Postgres plan sender buffer (Default) 50 |
Agent Variables Example
- hosts: servers
become: true
roles:
- role: dsk_bot.datasaker
vars:
datasaker_api_key: "<YOUR_API_KEY>"
datasaker_docker_agents: ["dsk-docker-node-agent","dsk-docker-trace-agent","dsk-docker-log-agent","dsk-docker-postgres-agent"]
postgres_user_name: sample
postgres_user_password: 1q2w3e4r
postgres_database_address: 0.0.0.0
postgres_database_port: 5432
plan_postgres_user_name: sample
plan_postgres_user_password: 1q2w3e4r
plan_postgres_database_address: 0.0.0.0
plan_postgres_database_name: sample
plan_postgres_database_port: 5432
log_collects:
- paths:
- "/var/log/sample/*/*.log"
exclude_paths: []
keywords: []
tag: "Default"
service:
name: "default"
category: "etc"
type: "etc"
- paths:
- "/var/log/sample/b4d5ac015a5a*/*.log"
service:
name: "docker-test"
category: "database"
type: "postgres"
address: "0.0.0.0:5432"
Uninstallation
However for more control over the uninstall parameters, the following code can be used. In this example:
- hosts: servers
become: true
roles:
- role: dsk_bot.datasaker
vars:
datasaker_agents: ["<AGENT_NAME>"]
uninstall: True
datasaker_clean: True