diff --git a/tasks/check-agent.yml b/tasks/check-agent.yml index 0582513..a937d05 100644 --- a/tasks/check-agent.yml +++ b/tasks/check-agent.yml @@ -16,27 +16,21 @@ - name: "Check dsk-postgres-agent" include_tasks: dsk-postgres-agent.yml - when: '"dsk-postgres-agent" in datasaker_agents' - -- name: "Check dsk-plan-postgres-agent" - include_tasks: dsk-plan-postgres-agent.yml - when: '"dsk-plan-postgres-agent" in datasaker_agents' + when: + - '"dsk-postgres-agent" in datasaker_agents' + - '"database" in group_names' - name: "Check dsk-mysql-agent" include_tasks: dsk-mysql-agent.yml - when: '"dsk-mysql-agent" in datasaker_agents' - -- name: "Check dsk-plan-mysql-agent" - include_tasks: dsk-plan-mysql-agent.yml - when: '"dsk-plan-mysql-agent" in datasaker_agents' + when: + - '"dsk-mysql-agent" in datasaker_agents' + - '"database" in group_names' - name: "Check dsk-maria-agent" include_tasks: dsk-maria-agent.yml - when: '"dsk-maria-agent" in datasaker_agents' - -- name: "Check dsk-plan-maria-agent" - include_tasks: dsk-plan-maria-agent.yml - when: '"dsk-plan-maria-agent" in datasaker_agents' + when: + - '"dsk-maria-agent" in datasaker_agents' + - '"database" in group_names' - name: "Check dsk-redis-agent" include_tasks: dsk-redis-agent.yml diff --git a/tasks/dsk-debian-pkg.yml b/tasks/dsk-debian-pkg.yml index 091bced..b945912 100644 --- a/tasks/dsk-debian-pkg.yml +++ b/tasks/dsk-debian-pkg.yml @@ -75,6 +75,20 @@ with_items: - "{{ datasaker_agents }}" ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + +- name: "Install datasaker database agent" + apt: + name: "{{ item }}" + state: latest + update_cache: yes + with_items: + - "{{ datasaker_agents }}" + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + - "'database' in group_names" - name: "Check datasaker Agent" include_tasks: check-agent.yml @@ -99,4 +113,18 @@ state: restarted with_items: - "{{ datasaker_agents }}" - ignore_errors: true \ No newline at end of file + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + +- name: "Restart dsk-database-agent service" + ansible.builtin.systemd: + name: "{{ item }}" + enabled: true + state: restarted + with_items: + - "{{ datasaker_agents }}" + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + - "'database' in group_names" \ No newline at end of file diff --git a/tasks/dsk-docker-maria-agent.yml b/tasks/dsk-docker-maria-agent.yml index 4349d03..7768405 100644 --- a/tasks/dsk-docker-maria-agent.yml +++ b/tasks/dsk-docker-maria-agent.yml @@ -8,7 +8,6 @@ mode: '0755' with_items: - "{{ datasaker_docker_path }}/agent/dsk-maria-agent" - - "{{ datasaker_docker_path }}/agent/dsk-plan-maria-agent" - name: "Create agent config" ansible.builtin.file: @@ -20,16 +19,6 @@ src: docker-maria-agent-config.yml.j2 dest: "{{ datasaker_docker_path }}/dsk-docker-maria-config.yml" -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_docker_path }}/dsk-docker-plan-maria-config.yml" - state: touch - -- name: "Setting plan-dsk-maria-agent config" - template: - src: docker-plan-maria-agent-config.yml.j2 - dest: "{{ datasaker_docker_path }}/dsk-docker-plan-maria-config.yml" - - name: "Run dsk-maria-agent container" docker_container: name: dsk-docker-maria-agent @@ -42,18 +31,4 @@ volumes: - "{{ datasaker_docker_path }}:/var/datasaker/" - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-maria-config.yml:/etc/datasaker/dsk-maria-agent/agent-config.yml:ro" - -- name: "Run dsk-plan-maria-agent container" - docker_container: - name: dsk-docker-plan-maria-agent - image: "datasaker/dsk-plan-maria-agent:{{ plan_maria_agent_image_tag }}" - state: started - restart_policy: "{{ plan_maria_agent_restart_policy }}" - detach: true - env: - DKS_LOG_LEVEL: "info" - volumes: - - "{{ datasaker_docker_path }}:/var/datasaker/" - - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-plan-maria-config.yml:/etc/datasaker/dsk-plan-maria-agent/agent-config.yml:ro" \ No newline at end of file + - "{{ datasaker_docker_path }}/dsk-docker-maria-config.yml:/etc/datasaker/dsk-maria-agent/agent-config.yml:ro" \ No newline at end of file diff --git a/tasks/dsk-docker-mysql-agent.yml b/tasks/dsk-docker-mysql-agent.yml index 450ba9f..4638450 100644 --- a/tasks/dsk-docker-mysql-agent.yml +++ b/tasks/dsk-docker-mysql-agent.yml @@ -8,7 +8,6 @@ mode: '0755' with_items: - "{{ datasaker_docker_path }}/agent/dsk-mysql-agent" - - "{{ datasaker_docker_path }}/agent/dsk-plan-mysql-agent" - name: "Create agent config" ansible.builtin.file: @@ -20,16 +19,6 @@ src: docker-mysql-agent-config.yml.j2 dest: "{{ datasaker_docker_path }}/dsk-docker-mysql-config.yml" -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_docker_path }}/dsk-docker-plan-mysql-config.yml" - state: touch - -- name: "Setting plan-dsk-mysql-agent config" - template: - src: docker-plan-mysql-agent-config.yml.j2 - dest: "{{ datasaker_docker_path }}/dsk-docker-plan-mysql-config.yml" - - name: "Run dsk-mysql-agent container" docker_container: name: dsk-docker-mysql-agent @@ -42,18 +31,4 @@ volumes: - "{{ datasaker_docker_path }}:/var/datasaker/" - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-mysql-config.yml:/etc/datasaker/dsk-mysql-agent/agent-config.yml:ro" - -- name: "Run dsk-plan-mysql-agent container" - docker_container: - name: dsk-docker-plan-mysql-agent - image: "datasaker/dsk-plan-mysql-agent:{{ plan_mysql_agent_image_tag }}" - state: started - restart_policy: "{{ plan_mysql_agent_restart_policy }}" - detach: true - env: - DKS_LOG_LEVEL: "info" - volumes: - - "{{ datasaker_docker_path }}:/var/datasaker/" - - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-plan-mysql-config.yml:/etc/datasaker/dsk-plan-mysql-agent/agent-config.yml:ro" \ No newline at end of file + - "{{ datasaker_docker_path }}/dsk-docker-mysql-config.yml:/etc/datasaker/dsk-mysql-agent/agent-config.yml:ro" \ No newline at end of file diff --git a/tasks/dsk-docker-postgres-agent.yml b/tasks/dsk-docker-postgres-agent.yml index 9ae1589..645ce5c 100644 --- a/tasks/dsk-docker-postgres-agent.yml +++ b/tasks/dsk-docker-postgres-agent.yml @@ -8,7 +8,6 @@ mode: '0755' with_items: - "{{ datasaker_docker_path }}/agent/dsk-postgres-agent" - - "{{ datasaker_docker_path }}/agent/dsk-plan-postgres-agent" - name: "Create agent config" ansible.builtin.file: @@ -20,16 +19,6 @@ src: docker-postgres-agent-config.yml.j2 dest: "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml" -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml" - state: touch - -- name: "Setting plan-dsk-postgres-agent config" - template: - src: docker-plan-postgres-agent-config.yml.j2 - dest: "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml" - - name: "Run dsk-postgres-agent container" docker_container: name: dsk-docker-postgres-agent @@ -45,18 +34,4 @@ volumes: - "{{ datasaker_docker_path }}:/var/datasaker/" - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml:/etc/datasaker/dsk-postgres-agent/agent-config.yml:ro" - -- name: "Run dsk-plan-postgres-agent container" - docker_container: - name: dsk-docker-plan-postgres-agent - image: "datasaker/dsk-plan-postgres-agent:{{ plan_postgres_agent_image_tag }}" - state: started - restart_policy: "{{ plan_postgres_agent_restart_policy }}" - detach: true - env: - DKS_LOG_LEVEL: "info" - volumes: - - "{{ datasaker_docker_path }}:/var/datasaker/" - - "{{ datasaker_docker_global_config }}:/etc/datasaker/global-config.yml:ro" - - "{{ datasaker_docker_path }}/dsk-docker-plan-postgres-config.yml:/etc/datasaker/dsk-plan-postgres-agent/agent-config.yml:ro" \ No newline at end of file + - "{{ datasaker_docker_path }}/dsk-docker-postgres-config.yml:/etc/datasaker/dsk-postgres-agent/agent-config.yml:ro" \ No newline at end of file diff --git a/tasks/dsk-plan-maria-agent.yml b/tasks/dsk-plan-maria-agent.yml deleted file mode 100644 index 808cbb2..0000000 --- a/tasks/dsk-plan-maria-agent.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: "Make agent Directory" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/{{ item }}" - state: directory - recurse: yes - owner: root - group: root - with_items: - - "dsk-plan-maria-agent" - -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/dsk-plan-maria-agent/agent-config.yml" - state: touch - -- name: "Setting dsk-plan-maria-agent config" - template: - src: plan-maria-agent-config.yml.j2 - dest: "{{ datasaker_host_path }}/dsk-plan-maria-agent/agent-config.yml" \ No newline at end of file diff --git a/tasks/dsk-plan-mysql-agent.yml b/tasks/dsk-plan-mysql-agent.yml deleted file mode 100644 index 8f3406a..0000000 --- a/tasks/dsk-plan-mysql-agent.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: "Make agent Directory" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/{{ item }}" - state: directory - recurse: yes - owner: root - group: root - with_items: - - "dsk-plan-mysql-agent" - -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/dsk-plan-mysql-agent/agent-config.yml" - state: touch - -- name: "Setting dsk-plan-mysql-agent config" - template: - src: plan-mysql-agent-config.yml.j2 - dest: "{{ datasaker_host_path }}/dsk-plan-mysql-agent/agent-config.yml" \ No newline at end of file diff --git a/tasks/dsk-plan-postgres-agent.yml b/tasks/dsk-plan-postgres-agent.yml deleted file mode 100644 index de2e08f..0000000 --- a/tasks/dsk-plan-postgres-agent.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: "Make agent Directory" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/{{ item }}" - state: directory - recurse: yes - owner: root - group: root - with_items: - - "dsk-plan-postgres-agent" - -- name: "Create agent config" - ansible.builtin.file: - path: "{{ datasaker_host_path }}/dsk-plan-postgres-agent/agent-config.yml" - state: touch - -- name: "Setting dsk-plan-postgres-agent config" - template: - src: plan-postgres-agent-config.yml.j2 - dest: "{{ datasaker_host_path }}/dsk-plan-postgres-agent/agent-config.yml" \ No newline at end of file diff --git a/tasks/dsk-redhat-pkg.yml b/tasks/dsk-redhat-pkg.yml index dd6bcb3..bfd6ed6 100644 --- a/tasks/dsk-redhat-pkg.yml +++ b/tasks/dsk-redhat-pkg.yml @@ -48,6 +48,23 @@ - Reload systemd configuration - Restart {{ item }} service ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + +- name: "Install datasaker database agent" + yum: + name: "{{ item }}" + state: present + update_cache: yes + with_items: + - "{{ datasaker_agents }}" + notify: + - Reload systemd configuration + - Restart {{ item }} service + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + - "'database' in group_names" - name: "Check datasaker Agent" include_tasks: check-agent.yml @@ -67,4 +84,18 @@ enabled: true with_items: - "{{ datasaker_agents }}" - ignore_errors: true \ No newline at end of file + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + +- name: "Restart dsk-agent database service" + systemd_service: + state: restarted + name: "{{ item }}" + enabled: true + with_items: + - "{{ datasaker_agents }}" + ignore_errors: true + when: + - "item != 'dsk-maria-agent' and item != 'dsk-mysql-agent' and item != 'dsk-postgres-agent'" + - "'database' in group_names" \ No newline at end of file diff --git a/templates/docker-maria-agent-config.yml.j2 b/templates/docker-maria-agent-config.yml.j2 index fef2ebf..5b8fd58 100644 --- a/templates/docker-maria-agent-config.yml.j2 +++ b/templates/docker-maria-agent-config.yml.j2 @@ -1,31 +1,28 @@ agent: metadata: - agent_name: "{{ maria_agent_name | default('dsk-maria-agent') }}" - cluster_id: "{{ maria_agent_cluster | default('unknown') }}" - option: - exporter_config: - command: /etc/datasaker/target-exporter - port: {{ maria_agent_port | default('9104') }} - args: - - --data-source-user={{ maria_user_name | default('') }} - - --data-source-pass={{ maria_user_password | default('') }} - - --data-source-uri={{ maria_database_address | default('') }}:{{ maria_database_port | default('') }} - - --data-source-dbname={{ maria_database_name | default('') }} - scrape_configs: - - job_name: dsk-maria-agent-5s - scrape_interval: 5s - metrics_path: /metrics/5s - url: localhost:{{ maria_agent_port | default('9104') }} - filtering_configs: - rule: drop - - job_name: dsk-maria-agent-15s - metrics_path: /metrics/15s - url: localhost:{{ maria_agent_port | default('9104') }} - filtering_configs: - rule: drop - - job_name: dsk-maria-agent-60s - scrape_interval: 60s - metrics_path: /metrics/60s - url: localhost:{{ maria_agent_port | default('9104') }} - filtering_configs: - rule: drop \ No newline at end of file + agent_name: "{{ maria.agent_name | default('dsk-maria-agent') }}" + cluster_id: "{{ maria.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in maria.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file diff --git a/templates/docker-mysql-agent-config.yml.j2 b/templates/docker-mysql-agent-config.yml.j2 index a00365a..6e0f591 100644 --- a/templates/docker-mysql-agent-config.yml.j2 +++ b/templates/docker-mysql-agent-config.yml.j2 @@ -1,31 +1,28 @@ agent: metadata: - agent_name: "{{ mysql_agent_name | default('dsk-mysql-agent') }}" - cluster_id: "{{ mysql_agent_cluster | default('unknown') }}" - option: - exporter_config: - command: /etc/datasaker/target-exporter - port: {{ mysql_agent_port | default('9104') }} - args: - - --data-source-user={{ mysql_user_name | default('') }} - - --data-source-pass={{ mysql_user_password | default('') }} - - --data-source-uri={{ mysql_database_address | default('') }}:{{ mysql_database_port | default('') }} - - --data-source-dbname={{ mysql_database_name | default('') }} - scrape_configs: - - job_name: dsk-mysql-agent-5s - scrape_interval: 5s - metrics_path: /metrics/5s - url: localhost:{{ mysql_agent_port | default('9104') }} - filtering_configs: - rule: drop - - job_name: dsk-mysql-agent-15s - metrics_path: /metrics/15s - url: localhost:{{ mysql_agent_port | default('9104') }} - filtering_configs: - rule: drop - - job_name: dsk-mysql-agent-60s - scrape_interval: 60s - metrics_path: /metrics/60s - url: localhost:{{ mysql_agent_port | default('9104') }} - filtering_configs: - rule: drop \ No newline at end of file + agent_name: "{{ mysql.agent_name | default('dsk-mysql-agent') }}" + cluster_id: "{{ mysql.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in mysql.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file diff --git a/templates/docker-plan-maria-agent-config.yml.j2 b/templates/docker-plan-maria-agent-config.yml.j2 deleted file mode 100644 index 5d831a3..0000000 --- a/templates/docker-plan-maria-agent-config.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_maria_agent_name | default('dsk-plan-maria-agent') }}" - cluster_id: "{{ plan_maria_agent_cluster | default('unknown') }}" - data_source_name: - user: {{ maria_user_name | default('') }} - password: {{ maria_user_password | default('') }} - address: {{ maria_database_address | default('') }} - port: {{ maria_database_port | default('') }} - DBName: {{ maria_database_name | default('') }} - explain: - scrape_interval: {{ scrape_interval | default('5s') }} - scrape_timeout: {{ scrape_timeout | default('5s') }} - slow_query_standard: {{ slow_query_standard | default('1s') }} \ No newline at end of file diff --git a/templates/docker-plan-mysql-agent-config.yml.j2 b/templates/docker-plan-mysql-agent-config.yml.j2 deleted file mode 100644 index 327d306..0000000 --- a/templates/docker-plan-mysql-agent-config.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_mysql_agent_name | default('dsk-plan-mysql-agent') }}" - cluster_id: "{{ plan_mysql_agent_cluster | default('unknown') }}" - data_source_name: - user: {{ mysql_user_name | default('') }} - password: {{ mysql_user_password | default('') }} - address: {{ mysql_database_address | default('') }} - port: {{ mysql_database_port | default('') }} - DBName: {{ mysql_database_name | default('') }} - explain: - scrape_interval: {{ scrape_interval | default('5s') }} - scrape_timeout: {{ scrape_timeout | default('5s') }} - slow_query_standard: {{ slow_query_standard | default('1s') }} \ No newline at end of file diff --git a/templates/docker-plan-postgres-agent-config.yml.j2 b/templates/docker-plan-postgres-agent-config.yml.j2 deleted file mode 100644 index 9311679..0000000 --- a/templates/docker-plan-postgres-agent-config.yml.j2 +++ /dev/null @@ -1,13 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_postgres_agent_name | default('dsk-plan-postgres-agent') }}" - data_source_name: - user: "{{ plan_postgres_user_name | default('') }}" - password: "{{ plan_postgres_user_password | default('') }}" - address: "{{ plan_postgres_database_address | default('') }}" - port: "{{ plan_postgres_database_port | default('') }}" - DBName: "{{ plan_postgres_database_name | default('') }}" - explain: - scrape_interval: {{ plan_postgres_scrape_interval | default('30s') }} - scrape_timeout: {{ plan_postgres_scrape_timeout | default('5s') }} - slow_query_standard: {{ plan_postgres_slow_query_standard | default('5s') }} \ No newline at end of file diff --git a/templates/docker-postgres-agent-config.yml.j2 b/templates/docker-postgres-agent-config.yml.j2 index 7e4e166..9018165 100644 --- a/templates/docker-postgres-agent-config.yml.j2 +++ b/templates/docker-postgres-agent-config.yml.j2 @@ -1,20 +1,28 @@ agent: metadata: - agent_name: "{{ docker_postgres_agent_name | default('dsk-docker-postgres-agent') }}" - option: - exporter_config: - command: "/etc/datasaker/target-exporter" - port: 9187 - scrape_configs: - - job_name: dsk-postgres-agent - metrics_path: /metrics/short - url: localhost:9187 - filtering_configs: - rule: drop - - job_name: dsk-postgres-agent-long - scrape_interval: 60s - scrape_timeout: 10s - metrics_path: /metrics/long - url: localhost:9187 - filtering_configs: - rule: drop + agent_name: "{{ postgres.agent_name | default('dsk-postgres-agent') }}" + cluster_id: "{{ postgres.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in postgres.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file diff --git a/templates/maria-agent-config.yml.j2 b/templates/maria-agent-config.yml.j2 index fd20152..5b8fd58 100644 --- a/templates/maria-agent-config.yml.j2 +++ b/templates/maria-agent-config.yml.j2 @@ -1,33 +1,28 @@ agent: metadata: - agent_name: "{{ maria_agent_name | default('dsk-maria-agent') }}" - cluster_id: "{{ maria_agent_cluster | default('unknown') }}" - option: - exporter_config: - command: "/usr/bin/dsk-maria-exporter" - port: {{ maria_agent_port | default('19104') }} - args: - - --data-source-user={{ maria_user_name | default('') }} - - --data-source-pass={{ maria_user_password | default('') }} - - --data-source-uri={{ maria_database_address | default('') }}:{{ maria_database_port | default('') }} - - --data-source-dbname={{ maria_database_name | default('') }} - scrape_interval: 15s - scrape_timeout: 5s - scrape_configs: - - job_name: dsk-maria-agent-5s - scrape_interval: 5s - metrics_path: /metrics/5s - url: localhost:{{ maria_agent_port | default('19104') }} - filtering_configs: - rule: drop - - job_name: dsk-maria-agent-15s - metrics_path: /metrics/15s - url: localhost:{{ maria_agent_port | default('19104') }} - filtering_configs: - rule: drop - - job_name: dsk-maria-agent-60s - scrape_interval: 60s - metrics_path: /metrics/60s - url: localhost:{{ maria_agent_port | default('19104') }} - filtering_configs: - rule: drop \ No newline at end of file + agent_name: "{{ maria.agent_name | default('dsk-maria-agent') }}" + cluster_id: "{{ maria.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in maria.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file diff --git a/templates/mysql-agent-config.yml.j2 b/templates/mysql-agent-config.yml.j2 index 0ed9def..6e0f591 100644 --- a/templates/mysql-agent-config.yml.j2 +++ b/templates/mysql-agent-config.yml.j2 @@ -1,33 +1,28 @@ agent: metadata: - agent_name: "{{ mysql_agent_name | default('dsk-mysql-agent') }}" - cluster_id: "{{ mysql_agent_cluster | default('unknown') }}" - option: - exporter_config: - command: "/usr/bin/dsk-mysql-exporter" - port: {{ mysql_agent_port | default('19104') }} - args: - - --data-source-user={{ mysql_user_name | default('') }} - - --data-source-pass={{ mysql_user_password | default('') }} - - --data-source-uri={{ mysql_database_address | default('') }}:{{ mysql_database_port | default('') }} - - --data-source-dbname={{ mysql_database_name | default('') }} - scrape_interval: 15s - scrape_timeout: 5s - scrape_configs: - - job_name: dsk-mysql-agent-5s - scrape_interval: 5s - metrics_path: /metrics/5s - url: localhost:{{ mysql_agent_port | default('19104') }} - filtering_configs: - rule: drop - - job_name: dsk-mysql-agent-15s - metrics_path: /metrics/15s - url: localhost:{{ mysql_agent_port | default('19104') }} - filtering_configs: - rule: drop - - job_name: dsk-mysql-agent-60s - scrape_interval: 60s - metrics_path: /metrics/60s - url: localhost:{{ mysql_agent_port | default('19104') }} - filtering_configs: - rule: drop \ No newline at end of file + agent_name: "{{ mysql.agent_name | default('dsk-mysql-agent') }}" + cluster_id: "{{ mysql.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in mysql.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file diff --git a/templates/node-agent-config.yml.j2 b/templates/node-agent-config.yml.j2 index d00e55d..26d11c4 100644 --- a/templates/node-agent-config.yml.j2 +++ b/templates/node-agent-config.yml.j2 @@ -1,18 +1,4 @@ agent: metadata: - # agent_name: my-dsk-node-agent - # cluster_id: my-cluster - option: - exporter_config: - command: "dsk-node-exporter" - port: 19110 - args: - - --collector.filesystem.ignored-mount-points="^/(dev|proc|sys|run|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/)" - - --collector.tcpstat - scrape_interval: 15s - scrape_timeout: 5s - scrape_configs: - - job_name: dsk-node-agent - url: localhost:19110 - filtering_configs: - rule: drop \ No newline at end of file + agent_name: "{{ node_agent_name | default('dsk-node-agent') }}" + cluster_id: "{{ node_agent_cluster | default('datasaker') }}" \ No newline at end of file diff --git a/templates/plan-maria-agent-config.yml.j2 b/templates/plan-maria-agent-config.yml.j2 deleted file mode 100644 index 5d831a3..0000000 --- a/templates/plan-maria-agent-config.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_maria_agent_name | default('dsk-plan-maria-agent') }}" - cluster_id: "{{ plan_maria_agent_cluster | default('unknown') }}" - data_source_name: - user: {{ maria_user_name | default('') }} - password: {{ maria_user_password | default('') }} - address: {{ maria_database_address | default('') }} - port: {{ maria_database_port | default('') }} - DBName: {{ maria_database_name | default('') }} - explain: - scrape_interval: {{ scrape_interval | default('5s') }} - scrape_timeout: {{ scrape_timeout | default('5s') }} - slow_query_standard: {{ slow_query_standard | default('1s') }} \ No newline at end of file diff --git a/templates/plan-mysql-agent-config.yml.j2 b/templates/plan-mysql-agent-config.yml.j2 deleted file mode 100644 index 327d306..0000000 --- a/templates/plan-mysql-agent-config.yml.j2 +++ /dev/null @@ -1,14 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_mysql_agent_name | default('dsk-plan-mysql-agent') }}" - cluster_id: "{{ plan_mysql_agent_cluster | default('unknown') }}" - data_source_name: - user: {{ mysql_user_name | default('') }} - password: {{ mysql_user_password | default('') }} - address: {{ mysql_database_address | default('') }} - port: {{ mysql_database_port | default('') }} - DBName: {{ mysql_database_name | default('') }} - explain: - scrape_interval: {{ scrape_interval | default('5s') }} - scrape_timeout: {{ scrape_timeout | default('5s') }} - slow_query_standard: {{ slow_query_standard | default('1s') }} \ No newline at end of file diff --git a/templates/plan-postgres-agent-config.yml.j2 b/templates/plan-postgres-agent-config.yml.j2 deleted file mode 100644 index 9d43291..0000000 --- a/templates/plan-postgres-agent-config.yml.j2 +++ /dev/null @@ -1,17 +0,0 @@ -agent: - metadata: - agent_name: "{{ plan_postgres_agent_name | default('dsk-plan-postgres-agent') }}" - data_source_name: - user: {{ plan_postgres_user_name | default('') }} - password: {{ plan_postgres_user_password | default('') }} - address: {{ plan_postgres_database_address | default('') }} - port: {{ plan_postgres_database_port | default('') }} - DBName: {{ plan_postgres_database_name | default('') }} - explain: - scrape_interval: {{ plan_postgres_scrape_interval | default('30s') }} - scrape_timeout: {{ plan_postgres_scrape_timeout | default('5s') }} - slow_query_standard: {{ plan_postgres_slow_query_standard | default('5s') }} - executor_number: {{ plan_postgres_executor_number | default('10') }} - sender_number: {{ plan_postgres_sender_number | default('10') }} - activity_query_buffer: {{ plan_postgres_activity_query_buffer | default('50') }} - plan_sender_buffer: {{ plan_postgres_plan_sender_buffer | default('50') }} \ No newline at end of file diff --git a/templates/postgres-agent-config.yml.j2 b/templates/postgres-agent-config.yml.j2 index 7065daa..9018165 100644 --- a/templates/postgres-agent-config.yml.j2 +++ b/templates/postgres-agent-config.yml.j2 @@ -1,19 +1,28 @@ agent: metadata: - agent_name: "{{ postgres_agent_name | default('dsk-postgres-agent') }}" - option: - exporter_config: - command: "/usr/bin/dsk-postgres-exporter" - port: 19187 - args: - - --extend.query-path=/etc/datasaker/dsk-postgres-agent/queries.yaml - - --data-source-user={{ postgres_user_name | default('') }} - - --data-source-pass={{ postgres_user_password | default('') }} - - --data-source-uri={{ postgres_database_address | default('') }}":"{{ postgres_database_port | default('') }} - scrape_interval: 15s - scrape_timeout: 5s - scrape_configs: - - job_name: dsk-postgres-agent - url: localhost:19187 - filtering_configs: - rule: drop + agent_name: "{{ postgres.agent_name | default('dsk-postgres-agent') }}" + cluster_id: "{{ postgres.agent_cluster | default('datasaker') }}" + instances: +{% for agent_setting in postgres.db %} + - username: {{ agent_setting.user_name | default('') }} + password: {{ agent_setting.user_password | default('') }} + host: {{ agent_setting.host | default('') }} + port: {{ agent_setting.port | default('') }} + ssl-skip-verfication: {{ agent_setting.ssl_skip | default('false') }} +{% if agent_setting.ssl_skip == 'true' %} + ssl-ca: {{ agent_setting.ssl_ca | default('/tmp/ssl/ca.crt') }} + ssl-cert: {{ agent_setting.ssl_cert | default('/tmp/ssl/cert.crt') }} + ssl-key: {{ agent_setting.ssl_key | default('/tmp/ssl/key.key') }} + tls: {{ agent_setting.ssl_tls | default('false') }} +{% endif %} + dbname: {{ agent_setting.database | default('') }} +{% if agent_setting.interval_enabled %} + append_session: + scrape_interval: {{ agent_setting.scrape_interval | default('5s') }} + db_list: +{% for long_setting in agent_setting.append_db %} + - dbname: {{ long_setting.database | default('') }} + long_session_standard: {{ long_setting.long_session | default('5s') }} +{% endfor %} +{% endif %} +{% endfor -%} \ No newline at end of file