rel1.0.0
This commit is contained in:
87
README.md
87
README.md
@@ -1,38 +1,77 @@
|
|||||||
Role Name
|
# Ansible Datasaker Role
|
||||||
=========
|
|
||||||
|
|
||||||
A brief description of the role goes here.
|
The Ansible Datasaker role installs and configures the Datasaker Agent and integrations.
|
||||||
|
|
||||||
Requirements
|
## Setup
|
||||||
------------
|
|
||||||
|
|
||||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
### Requirements
|
||||||
|
|
||||||
Role Variables
|
- Requires Ansible v2.6+.
|
||||||
--------------
|
- Supports most Debian Linux distributions.
|
||||||
|
|
||||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
### Installation
|
||||||
|
|
||||||
Dependencies
|
Install the [Datasaker role] from Ansible Galaxy on your Ansible server:
|
||||||
------------
|
|
||||||
|
|
||||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
```shell
|
||||||
|
ansible-galaxy install dsk_bot.datasaker
|
||||||
|
```
|
||||||
|
|
||||||
Example Playbook
|
To deploy the Datasaker Agent on hosts, add the Datasaker role and your API key to your playbook:
|
||||||
----------------
|
|
||||||
|
|
||||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
```yml
|
||||||
|
- hosts: servers
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: dsk_bot.datasaker
|
||||||
|
vars:
|
||||||
|
datasaker_api_key: "<YOUR_API_KEY>"
|
||||||
|
datasaker_agents: ["<AGENT_NAME>"]
|
||||||
|
```
|
||||||
|
|
||||||
- hosts: servers
|
#### Role variables
|
||||||
roles:
|
|
||||||
- { role: username.rolename, x: 42 }
|
|
||||||
|
|
||||||
License
|
| Variable | Description |
|
||||||
-------
|
|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
|`datasaker_api_key`|Your Datasaker API key.|
|
||||||
|
|`datasaker_agents`|Set to Datasaker Agent.<br>`dsk_node_agent` `dsk_trace_agent` `dsk_log_agent` `dsk-postgres-agent` `dsk-plan-postgres-agent`<br>(Default) `dsk_node_agent`|
|
||||||
|
|`datagate_url`|The site of the Datasaker intake to send Agent data to.<br>(Default) `gate.kr.datasaker.io`|
|
||||||
|
|`datagate_trace_url`|Override the `dsk-trace-agent` datagate url. <br>(Default) `datagate_url`|
|
||||||
|
|`datagate_trace_port`|Override the `dsk-trace-agent` datagate port. <br>(Default) `31300`|
|
||||||
|
|`datagate_trace_timeout`|Override the `dsk-trace-agent` data expiration time. <br>(Default) `5s`|
|
||||||
|
|`datagate_manifest_url`|Override the `dsk-manifest-agent` datagate url. <br>(Default) `datagate_url`|
|
||||||
|
|`datagate_manifest_port`|Override the `dsk-manifest-agent` datagate port. <br>(Default) `31301`|
|
||||||
|
|`datagate_manifest_timeout`|Override the `dsk-manifest-agent` data expiration time. <br>(Default) `5s`|
|
||||||
|
|`datagate_metric_url`|Override the `dsk-metric-agent` datagate url. <br>(Default) `datagate_url`|
|
||||||
|
|`datagate_metric_port`|Override the `dsk-metric-agent` datagate port. <br>(Default) `31302`|
|
||||||
|
|`datagate_metric_timeout`|Override the `dsk-metric-agent` data expiration time. <br>(Default) `5s`|
|
||||||
|
|`datagate_plan_url`|Override the `dsk-plan-agent` datagate url. <br>(Default) `datagate_url`|
|
||||||
|
|`datagate_plan_port`|Override the `dsk-plan-agent` datagate port. <br>(Default) `31303`|
|
||||||
|
|`datagate_plan_timeout`|Override the `dsk-plan-agent` data expiration time. <br>(Default) `5s`|
|
||||||
|
|`datagate_loggate_url`|Override the `dsk-log-agent` datagate url. <br>(Default) `datagate_url`|
|
||||||
|
|`datagate_loggate_port`|Override the `dsk-log-agent` datagate port. <br>(Default) `31304`|
|
||||||
|
|`datagate_loggate_timeout`|Override the `dsk-log-agent` data expiration time. <br>(Default) `5s`|
|
||||||
|
|`datasaker_api_url`|Override the datasaker api server url. <br>(Default) `api.kr.datasaker.io`|
|
||||||
|
|`datasaker_api_send_interval`|Override the datasaker api server data expiration time. <br>(Default) `1m`|
|
||||||
|
|
||||||
BSD
|
## Uninstallation
|
||||||
|
|
||||||
Author Information
|
However for more control over the uninstall parameters, the following code can be used.
|
||||||
------------------
|
In this example:
|
||||||
|
|
||||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
```yml
|
||||||
|
- hosts: servers
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- role: dsk_bot.datasaker
|
||||||
|
vars:
|
||||||
|
datasaker_agents: ["<AGENT_NAME>"]
|
||||||
|
uninstall: True
|
||||||
|
datasaker_clean: True
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Debian stretch
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ apt_usr_share_keyring: "/usr/share/keyrings/datasaker-archive-keyring.gpg"
|
|||||||
|
|
||||||
dsk_public_gpg_key: "https://dsk-agent-s3.s3.ap-northeast-2.amazonaws.com/dsk-agent-s3/public/public.gpg.key"
|
dsk_public_gpg_key: "https://dsk-agent-s3.s3.ap-northeast-2.amazonaws.com/dsk-agent-s3/public/public.gpg.key"
|
||||||
|
|
||||||
|
|
||||||
datasaker_agents: []
|
datasaker_agents: []
|
||||||
|
|
||||||
|
uninstall: False
|
||||||
|
datasaker_clean: False
|
||||||
19
meta/main.yml
Normal file
19
meta/main.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
role_name: datasaker
|
||||||
|
namespace: datasaker
|
||||||
|
author: 'datasaker'
|
||||||
|
description: Install Datasaker agent
|
||||||
|
license: Apache2
|
||||||
|
min_ansible_version: 2.6
|
||||||
|
github_branch: main
|
||||||
|
platforms:
|
||||||
|
- name: Ubuntu
|
||||||
|
versions:
|
||||||
|
- focal
|
||||||
|
- name: Debian
|
||||||
|
versions:
|
||||||
|
- jessie
|
||||||
|
galaxy_tags:
|
||||||
|
- monitoring
|
||||||
|
dependencies: []
|
||||||
@@ -8,3 +8,8 @@
|
|||||||
group: root
|
group: root
|
||||||
with_items:
|
with_items:
|
||||||
- /etc/datasaker
|
- /etc/datasaker
|
||||||
|
|
||||||
|
- name: "Setting global-config"
|
||||||
|
template:
|
||||||
|
src: global-config.yml.j2
|
||||||
|
dest: "/etc/datasaker/global-config.yml"
|
||||||
@@ -40,6 +40,22 @@
|
|||||||
- name: "Check datasaker Agent"
|
- name: "Check datasaker Agent"
|
||||||
include_tasks: check-agent.yml
|
include_tasks: check-agent.yml
|
||||||
|
|
||||||
|
- name: "Install metric sidecar"
|
||||||
|
apt:
|
||||||
|
name: "dsk-metric-sidecar"
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Make Datasaker Log Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/var/log/datasaker/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
|
||||||
- name: "Install datasaker agent"
|
- name: "Install datasaker agent"
|
||||||
apt:
|
apt:
|
||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
@@ -48,6 +64,7 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- "{{ datasaker_agents }}"
|
- "{{ datasaker_agents }}"
|
||||||
notify:
|
notify:
|
||||||
|
- Reload systemd configuration
|
||||||
- Restart {{ item }} service
|
- Restart {{ item }} service
|
||||||
|
|
||||||
# - name: "Ensure datasaker agent is running"
|
# - name: "Ensure datasaker agent is running"
|
||||||
|
|||||||
@@ -5,8 +5,12 @@
|
|||||||
|
|
||||||
- name: Include Datasaker Add Repository
|
- name: Include Datasaker Add Repository
|
||||||
include_tasks: dsk-common.yml
|
include_tasks: dsk-common.yml
|
||||||
when: ansible_facts.os_family == "Debian"
|
when: uninstall == False and ansible_facts.os_family == "Debian"
|
||||||
|
|
||||||
- name: Include Datasaker Host Agent Install
|
- name: Include Datasaker Host Agent Install
|
||||||
include_tasks: dsk-debian-pkg.yml
|
include_tasks: dsk-debian-pkg.yml
|
||||||
when: ansible_facts.os_family == "Debian"
|
when: uninstall == False and ansible_facts.os_family == "Debian"
|
||||||
|
|
||||||
|
- name: Uninstall Datasaker Agent
|
||||||
|
include_tasks: remove-datasaker.yml
|
||||||
|
when: uninstall == True
|
||||||
54
tasks/remove-datasaker.yml
Normal file
54
tasks/remove-datasaker.yml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
# - name: "Install metric sidecar"
|
||||||
|
# apt:
|
||||||
|
# name: "dsk-metric-sidecar"
|
||||||
|
# state: present
|
||||||
|
# update_cache: yes
|
||||||
|
|
||||||
|
- name: Remove Datasaker Log Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/var/log/datasaker/{{ item }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
|
||||||
|
- name: Remove Datasaker Agent Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/etc/datasaker/{{ item }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
|
||||||
|
- name: Stop agent service
|
||||||
|
service:
|
||||||
|
name: "{{ item }}"
|
||||||
|
enabled: true
|
||||||
|
state: stopped
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: "Uninstall datasaker agent"
|
||||||
|
apt:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
update_cache: yes
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: Remove Datasaker Agent Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/etc/datasaker/{{ item }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_agents }}"
|
||||||
|
|
||||||
|
- name: Remove Datasaker All Directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
with_items:
|
||||||
|
- /etc/datasaker
|
||||||
|
- /var/log/datasaker
|
||||||
|
when: datasaker_clean == True
|
||||||
Reference in New Issue
Block a user