redis, cloudwatch agent 추가
This commit is contained in:
@@ -158,7 +158,12 @@ ansible-galaxy install dsk_bot.datasaker
|
|||||||
|`maria_database_port`|`maria_database_port`에 Maria port 설정.|`None`|
|
|`maria_database_port`|`maria_database_port`에 Maria port 설정.|`None`|
|
||||||
|`maria_database_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
|`maria_database_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
||||||
|`maria_agent_port`|`maria_agent_port`에 Maria agent port 설정.|`9104`|
|
|`maria_agent_port`|`maria_agent_port`에 Maria agent port 설정.|`9104`|
|
||||||
|
|`reids_address`|`reids_address`에 redis address 설정.|`-`|
|
||||||
|
|`redis_agent_port`|`redis_agent_port`에 redis agent port 설정.|`19121`|
|
||||||
|
|`redis_user`|`redis_user`에 redis user 설정. (없을 경우 생략)|`-`|
|
||||||
|
|`redis_pass`|`redis_pass`에 redis user password 설정. (없을 경우 생략)|`-`|
|
||||||
|
|`aws_access_key_id`|`aws_access_key_id`에 cloudwatch agent 사용을 위한 key id 설정.|`-`|
|
||||||
|
|`aws_secret_access_key`|`aws_secret_access_key`에 cloudwatch agent 사용을 위한 access key 설정.|`-`|
|
||||||
|
|
||||||
#### Ansible Playbook 상세 설정 Example (Linux)
|
#### Ansible Playbook 상세 설정 Example (Linux)
|
||||||
```yml
|
```yml
|
||||||
|
|||||||
@@ -158,7 +158,12 @@ ansible-galaxy install dsk_bot.datasaker
|
|||||||
|`maria_database_port`|`maria_database_port`에 Maria port 설정.|`None`|
|
|`maria_database_port`|`maria_database_port`에 Maria port 설정.|`None`|
|
||||||
|`maria_database_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
|`maria_database_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
||||||
|`maria_agent_port`|`maria_agent_port`에 Maria agent port 설정.|`9104`|
|
|`maria_agent_port`|`maria_agent_port`에 Maria agent port 설정.|`9104`|
|
||||||
|
|`reids_address`|`reids_address`에 redis address 설정.|`-`|
|
||||||
|
|`redis_agent_port`|`redis_agent_port`에 redis agent port 설정.|`19121`|
|
||||||
|
|`redis_user`|`redis_user`에 redis user 설정. (없을 경우 생략)|`-`|
|
||||||
|
|`redis_pass`|`redis_pass`에 redis user password 설정. (없을 경우 생략)|`-`|
|
||||||
|
|`aws_access_key_id`|`aws_access_key_id`에 cloudwatch agent 사용을 위한 key id 설정.|`-`|
|
||||||
|
|`aws_secret_access_key`|`aws_secret_access_key`에 cloudwatch agent 사용을 위한 access key 설정.|`-`|
|
||||||
|
|
||||||
#### Ansible Playbook 상세 설정 Example (Linux)
|
#### Ansible Playbook 상세 설정 Example (Linux)
|
||||||
```yml
|
```yml
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ mysql_agent_image_tag: "latest"
|
|||||||
plan_mysql_agent_image_tag: "latest"
|
plan_mysql_agent_image_tag: "latest"
|
||||||
maria_agent_image_tag: "latest"
|
maria_agent_image_tag: "latest"
|
||||||
plan_maria_agent_image_tag: "latest"
|
plan_maria_agent_image_tag: "latest"
|
||||||
|
redis_agent_image_tag: "latest"
|
||||||
|
cloudwatch_agent_image_tag: "latest"
|
||||||
|
|
||||||
container_agent_restart_policy: "always"
|
container_agent_restart_policy: "always"
|
||||||
node_agent_restart_policy: "always"
|
node_agent_restart_policy: "always"
|
||||||
@@ -71,6 +73,8 @@ mysql_agent_restart_policy: "always"
|
|||||||
plan_mysql_agent_restart_policy: "always"
|
plan_mysql_agent_restart_policy: "always"
|
||||||
maria_agent_restart_policy: "always"
|
maria_agent_restart_policy: "always"
|
||||||
plan_maria_agent_restart_policy: "always"
|
plan_maria_agent_restart_policy: "always"
|
||||||
|
redis_agent_restart_policy: "always"
|
||||||
|
cloudwatch_agent_restart_policy: "always"
|
||||||
|
|
||||||
container_agent_log_level: "INFO"
|
container_agent_log_level: "INFO"
|
||||||
node_agent_log_level: "INFO"
|
node_agent_log_level: "INFO"
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
## host agent ##
|
||||||
|
|
||||||
- name: "Check dsk-node-agent"
|
- name: "Check dsk-node-agent"
|
||||||
include_tasks: dsk-node-agent.yml
|
include_tasks: dsk-node-agent.yml
|
||||||
when: '"dsk-node-agent" in datasaker_agents'
|
when: '"dsk-node-agent" in datasaker_agents'
|
||||||
@@ -35,6 +38,16 @@
|
|||||||
include_tasks: dsk-plan-maria-agent.yml
|
include_tasks: dsk-plan-maria-agent.yml
|
||||||
when: '"dsk-plan-maria-agent" in datasaker_agents'
|
when: '"dsk-plan-maria-agent" in datasaker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-redis-agent"
|
||||||
|
include_tasks: dsk-redis-agent.yml
|
||||||
|
when: '"dsk-redis-agent" in datasaker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-cloudwatch-agent"
|
||||||
|
include_tasks: dsk-cloudwatch-agent.yml
|
||||||
|
when: '"dsk-cloudwatch-agent" in datasaker_agents'
|
||||||
|
|
||||||
|
## docker agent ##
|
||||||
|
|
||||||
- name: "Check dsk-docker-node-agent"
|
- name: "Check dsk-docker-node-agent"
|
||||||
include_tasks: dsk-docker-node-agent.yml
|
include_tasks: dsk-docker-node-agent.yml
|
||||||
when: '"dsk-docker-node-agent" in datasaker_docker_agents'
|
when: '"dsk-docker-node-agent" in datasaker_docker_agents'
|
||||||
@@ -70,3 +83,11 @@
|
|||||||
- name: "Check dsk-docker-maria-agent"
|
- name: "Check dsk-docker-maria-agent"
|
||||||
include_tasks: dsk-docker-maria-agent.yml
|
include_tasks: dsk-docker-maria-agent.yml
|
||||||
when: '"dsk-docker-maria-agent" in datasaker_docker_agents'
|
when: '"dsk-docker-maria-agent" in datasaker_docker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-redis-agent"
|
||||||
|
include_tasks: dsk-docker-redis-agent.yml
|
||||||
|
when: '"dsk-docker-redis-agent" in datasaker_agents'
|
||||||
|
|
||||||
|
- name: "Check dsk-docker-cloudwatch-agent"
|
||||||
|
include_tasks: dsk-docker-cloudwatch-agent.yml
|
||||||
|
when: '"dsk-docker-cloudwatch-agent" in datasaker_agents'
|
||||||
20
tasks/dsk-cloudwatch-agent.yml
Normal file
20
tasks/dsk-cloudwatch-agent.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
- name: "Make agent Directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items:
|
||||||
|
- "dsk-cloudwatch-agent"
|
||||||
|
|
||||||
|
- name: "Create agent env"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ datasaker_host_path }}/dsk-cloudwatch-agent/agent.env"
|
||||||
|
state: touch
|
||||||
|
|
||||||
|
- name: "Setting dsk-cloudwatch-agent env"
|
||||||
|
template:
|
||||||
|
src: agent.env.j2
|
||||||
|
dest: "{{ datasaker_host_path }}/dsk-cloudwatch-agent/agent.env"
|
||||||
25
tasks/dsk-docker-cloudwatch-agent.yml
Normal file
25
tasks/dsk-docker-cloudwatch-agent.yml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
- name: "Create datasaker local directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{datasaker_docker_user}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
mode: '0755'
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-cloudwatcj-agent"
|
||||||
|
|
||||||
|
- name: "Run Datasaker Cloudwatch Agent"
|
||||||
|
ansible.builtin.docker_container:
|
||||||
|
name: dsk-docker-cloudwatch-agent
|
||||||
|
image: "datasaker/dsk-cloudwatch-agent:{{ cloudwatch_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
restart_policy: "{{ cloudwatch_agent_restart_policy }}"
|
||||||
|
detach: true
|
||||||
|
env:
|
||||||
|
DSK_CLUSTER_ID: "{{ cloudwatch_agent_cluster | default('unknown') }}"
|
||||||
|
AWS_ACCESS_KEY_ID: "{{ aws_access_key_id }}"
|
||||||
|
AWS_SECRET_ACCESS_KEY: "{{ aws_secret_access_key }}"
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
32
tasks/dsk-docker-redis-agent.yml
Normal file
32
tasks/dsk-docker-redis-agent.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: "Create datasaker local directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{datasaker_docker_user}}"
|
||||||
|
group: "{{datasaker_docker_group}}"
|
||||||
|
mode: '0755'
|
||||||
|
with_items:
|
||||||
|
- "{{ datasaker_docker_path }}/agent/dsk-redis-agent"
|
||||||
|
|
||||||
|
- name: "Create agent config"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ datasaker_docker_path }}/dsk-docker-redis-agent-config.yml"
|
||||||
|
state: touch
|
||||||
|
|
||||||
|
- name: "Setting dsk-redis-agent config"
|
||||||
|
template:
|
||||||
|
src: redis-agent-config.yml.j2
|
||||||
|
dest: "{{ datasaker_docker_path }}/dsk-docker-redis-agent-config.yml"
|
||||||
|
|
||||||
|
- name: "Run Datasaker Redis Agent"
|
||||||
|
ansible.builtin.docker_container:
|
||||||
|
name: dsk-docker-redis-agent
|
||||||
|
image: "datasaker/dsk-redis-agent:{{ redis_agent_image_tag }}"
|
||||||
|
state: started
|
||||||
|
restart_policy: "{{ redis_agent_restart_policy }}"
|
||||||
|
detach: true
|
||||||
|
volumes:
|
||||||
|
- "{{ datasaker_docker_path }}:/var/datasaker/"
|
||||||
|
- "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro"
|
||||||
|
- "{{ datasaker_docker_path }}/dsk-docker-redis-agent-config.yml:/etc/datasaker/dsk-redis-agent/agent-config.yml:ro"
|
||||||
20
tasks/dsk-redis-agent.yml
Normal file
20
tasks/dsk-redis-agent.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
- name: "Make agent Directory"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ datasaker_host_path }}/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
recurse: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items:
|
||||||
|
- "dsk-redis-agent"
|
||||||
|
|
||||||
|
- name: "Create agent config"
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ datasaker_host_path }}/dsk-redis-agent/agent-config.yml"
|
||||||
|
state: touch
|
||||||
|
|
||||||
|
- name: "Setting dsk-redis-agent config"
|
||||||
|
template:
|
||||||
|
src: redis-agent-config.yml.j2
|
||||||
|
dest: "{{ datasaker_host_path }}/dsk-redis-agent/agent-config.yml"
|
||||||
2
templates/agent.env.j2
Normal file
2
templates/agent.env.j2
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
AWS_ACCESS_KEY_ID={{ aws_access_key_id | default('None') }}
|
||||||
|
AWS_SECRET_ACCESS_KEY={{ aws_secret_access_key | default('None') }}
|
||||||
19
templates/redis-agent-config.yml.j2
Normal file
19
templates/redis-agent-config.yml.j2
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
agent:
|
||||||
|
metadata:
|
||||||
|
agent_name: "{{ redis_agent_name | default('dsk-redis-agent') }}"
|
||||||
|
cluster_id: "{{ redis_agent_cluster | default('unknown') }}"
|
||||||
|
option:
|
||||||
|
external_labels:
|
||||||
|
redis: {{ reids_address }}
|
||||||
|
exporter_config:
|
||||||
|
command: "/usr/bin/dsk-redis-exporter"
|
||||||
|
port: {{ redis_agent_port | default('19121') }}
|
||||||
|
args:
|
||||||
|
{% if ((redis_user) and (redis_pass)) %}
|
||||||
|
- --redis.addr=redis://{{ redis_user }}:{{ redis_pass }}@{{ redis_address }}
|
||||||
|
{% else %}
|
||||||
|
- --redis.addr=redis://{{ redis_address }}
|
||||||
|
{% endif %}
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: dsk-redis-agent
|
||||||
|
url: "localhost:{{ redis_agent_port | default('19121') }}"
|
||||||
Reference in New Issue
Block a user