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_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
||||
|`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)
|
||||
```yml
|
||||
|
||||
@@ -158,7 +158,12 @@ ansible-galaxy install dsk_bot.datasaker
|
||||
|`maria_database_port`|`maria_database_port`에 Maria port 설정.|`None`|
|
||||
|`maria_database_name`|`maria_database_name`에 Maria database 설정.|`None`|
|
||||
|`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)
|
||||
```yml
|
||||
|
||||
@@ -60,6 +60,8 @@ mysql_agent_image_tag: "latest"
|
||||
plan_mysql_agent_image_tag: "latest"
|
||||
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"
|
||||
node_agent_restart_policy: "always"
|
||||
@@ -71,6 +73,8 @@ mysql_agent_restart_policy: "always"
|
||||
plan_mysql_agent_restart_policy: "always"
|
||||
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"
|
||||
node_agent_log_level: "INFO"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
---
|
||||
|
||||
## host agent ##
|
||||
|
||||
- name: "Check dsk-node-agent"
|
||||
include_tasks: dsk-node-agent.yml
|
||||
when: '"dsk-node-agent" in datasaker_agents'
|
||||
@@ -35,6 +38,16 @@
|
||||
include_tasks: dsk-plan-maria-agent.yml
|
||||
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"
|
||||
include_tasks: dsk-docker-node-agent.yml
|
||||
when: '"dsk-docker-node-agent" in datasaker_docker_agents'
|
||||
@@ -70,3 +83,11 @@
|
||||
- name: "Check dsk-docker-maria-agent"
|
||||
include_tasks: dsk-docker-maria-agent.yml
|
||||
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