diff --git a/Aktau_deploy.yml b/Aktau_deploy.yml index 516919a..90e1840 100644 --- a/Aktau_deploy.yml +++ b/Aktau_deploy.yml @@ -111,6 +111,21 @@ roles: #- reboot +- hosts: + - adc_mxn + - adc_mcn0 + - adc_mcn1 + - adc_mcn2 + - adc_mcn3 + remote_user: root + roles: + - adc_exporter + +- hosts: adc_mxn + remote_user: root + roles: + - adc_exporter_proxy + - hosts: server-as-tun-mode remote_user: root vars_files: diff --git a/roles/adc_exporter/files/node_exporter b/roles/adc_exporter/files/node_exporter new file mode 100755 index 0000000..b0a8b64 Binary files /dev/null and b/roles/adc_exporter/files/node_exporter differ diff --git a/roles/adc_exporter/files/systemd_exporter b/roles/adc_exporter/files/systemd_exporter new file mode 100755 index 0000000..b075967 Binary files /dev/null and b/roles/adc_exporter/files/systemd_exporter differ diff --git a/roles/adc_exporter/tasks/main.yml b/roles/adc_exporter/tasks/main.yml new file mode 100644 index 0000000..ed9a9f6 --- /dev/null +++ b/roles/adc_exporter/tasks/main.yml @@ -0,0 +1,42 @@ +- name: "mkdir /opt/adc-exporter/" + file: + path: /opt/adc-exporter/ + state: directory + +- name: "copy node_exporter" + copy: + src: '{{ role_path }}/files/node_exporter' + dest: /opt/adc-exporter/node_exporter + mode: 0755 + +- name: "copy systemd_exporter" + copy: + src: '{{ role_path }}/files/systemd_exporter' + dest: /opt/adc-exporter/systemd_exporter + mode: 0755 + +- name: "templates adc-exporter-node.service" + template: + src: "{{role_path}}/templates/adc-exporter-node.service.j2" + dest: /usr/lib/systemd/system/adc-exporter-node.service + tags: template + +- name: "templates adc-exporter-systemd.service" + template: + src: "{{role_path}}/templates/adc-exporter-systemd.service.j2" + dest: /usr/lib/systemd/system/adc-exporter-systemd.service + tags: template + +- name: 'adc-exporter-node service start' + systemd: + name: adc-exporter-node + enabled: yes + daemon_reload: yes + state: started + +- name: 'adc-exporter-systemd service start' + systemd: + name: adc-exporter-systemd + enabled: yes + daemon_reload: yes + state: started diff --git a/roles/adc_exporter/templates/adc-exporter-node.service.j2 b/roles/adc_exporter/templates/adc-exporter-node.service.j2 new file mode 100644 index 0000000..b28ed3e --- /dev/null +++ b/roles/adc_exporter/templates/adc-exporter-node.service.j2 @@ -0,0 +1,11 @@ +[Unit] +Description=Node Exporter +After=network.target + +[Service] +Type=simple +ExecStart=/opt/adc-exporter/node_exporter +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/roles/adc_exporter/templates/adc-exporter-systemd.service.j2 b/roles/adc_exporter/templates/adc-exporter-systemd.service.j2 new file mode 100644 index 0000000..94fe14d --- /dev/null +++ b/roles/adc_exporter/templates/adc-exporter-systemd.service.j2 @@ -0,0 +1,11 @@ +[Unit] +Description=Systemd Exporter +After=network.target + +[Service] +Type=simple +ExecStart=/opt/adc-exporter/systemd_exporter +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/roles/adc_exporter/templates/nginx.conf.j2 b/roles/adc_exporter/templates/nginx.conf.j2 new file mode 100644 index 0000000..711470d --- /dev/null +++ b/roles/adc_exporter/templates/nginx.conf.j2 @@ -0,0 +1,73 @@ + +user nobody; +worker_processes 1; +daemon off; + +error_log logs/error.log; +error_log logs/error.log notice; +error_log logs/error.log info; +pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + tcp_nopush on; + + keepalive_timeout 65; + gzip on; + + server { + listen 9000; + server_name localhost; + access_log /var/log/nginx/host.access.log main; + + location /metrics/blade/mcn0/node_exporter { + proxy_pass http://192.168.100.1:9100/metrics; + } + + location /metrics/blade/mcn1/node_exporter { + proxy_pass http://192.168.100.2:9100/metrics; + } + + location /metrics/blade/mcn2/node_exporter { + proxy_pass http://192.168.100.3:9100/metrics; + } + + location /metrics/blade/mcn3/node_exporter { + proxy_pass http://192.168.100.4:9100/metrics; + } + + location /metrics/blade/mxn/node_exporter { + proxy_pass http://192.168.100.5:9100/metrics; + } + + location /metrics/blade/mcn0/systemd_exporter { + proxy_pass http://192.168.100.1:9558/metrics; + } + + location /metrics/blade/mcn1/systemd_exporter { + proxy_pass http://192.168.100.2:9558/metrics; + } + + location /metrics/blade/mcn2/systemd_exporter { + proxy_pass http://192.168.100.3:9558/metrics; + } + + location /metrics/blade/mcn3/systemd_exporter { + proxy_pass http://192.168.100.4:9558/metrics; + } + } +} diff --git a/roles/adc_exporter_proxy/files/adc_exporter_proxy.tar.gz b/roles/adc_exporter_proxy/files/adc_exporter_proxy.tar.gz new file mode 100644 index 0000000..9b31207 Binary files /dev/null and b/roles/adc_exporter_proxy/files/adc_exporter_proxy.tar.gz differ diff --git a/roles/adc_exporter_proxy/tasks/main.yml b/roles/adc_exporter_proxy/tasks/main.yml new file mode 100644 index 0000000..f59d498 --- /dev/null +++ b/roles/adc_exporter_proxy/tasks/main.yml @@ -0,0 +1,34 @@ +- name: "mkdir /opt/adc-exporter-proxy/" + file: + path: /opt/adc-exporter-proxy/ + state: directory + +- name: "copy file to device" + copy: + src: '{{ role_path }}/files/' + dest: /tmp/ansible_deploy/ + +- name: "unarchive adc-exporter-proxy(NGINX)" + unarchive: + src: /tmp/ansible_deploy/adc_exporter_proxy.tar.gz + dest: /opt/adc-exporter-proxy + remote_src: yes + +- name: "templates adc-exporter-proxy.service" + template: + src: "{{role_path}}/templates/adc-exporter-proxy.service.j2" + dest: /usr/lib/systemd/system/adc-exporter-proxy.service + tags: template + +- name: "template nginx.conf" + template: + src: "{{role_path}}/templates/nginx.conf.j2" + dest: /opt/adc-exporter-proxy/adc-exporter-proxy/conf/nginx.conf + tags: template + +- name: 'adc-exporter-proxy service start' + systemd: + name: adc-exporter-proxy + enabled: yes + daemon_reload: yes + state: started diff --git a/roles/adc_exporter_proxy/templates/adc-exporter-proxy.service.j2 b/roles/adc_exporter_proxy/templates/adc-exporter-proxy.service.j2 new file mode 100644 index 0000000..203ae14 --- /dev/null +++ b/roles/adc_exporter_proxy/templates/adc-exporter-proxy.service.j2 @@ -0,0 +1,12 @@ +[Unit] +Description=ADC Exporter Proxy (NGINX) for NEZHA +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=simple +ExecStart=/opt/adc-exporter-proxy/adc-exporter-proxy/sbin/nginx -p /opt/adc-exporter-proxy/adc-exporter-proxy +ExecReload=/opt/adc-exporter-proxy/adc-exporter-proxy/sbin/nginx -p /opt/adc-exporter-proxy/adc-exporter-proxy -s reload +ExecStop=/opt/adc-exporter-proxy/adc-exporter-proxy/sbin/nginx -p /opt/adc-exporter-proxy/adc-exporter-proxy -s stop + +[Install] +WantedBy=multi-user.target diff --git a/roles/adc_exporter_proxy/templates/nginx.conf.j2 b/roles/adc_exporter_proxy/templates/nginx.conf.j2 new file mode 100644 index 0000000..0584441 --- /dev/null +++ b/roles/adc_exporter_proxy/templates/nginx.conf.j2 @@ -0,0 +1,72 @@ + +user nobody; +worker_processes 1; +daemon off; + +error_log logs/error.log; +error_log logs/error.log notice; +error_log logs/error.log info; +pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + tcp_nopush on; + + keepalive_timeout 65; + gzip on; + + server { + listen 9000; + server_name localhost; + + location /metrics/blade/mcn0/node_exporter { + proxy_pass http://192.168.100.1:9100/metrics; + } + + location /metrics/blade/mcn1/node_exporter { + proxy_pass http://192.168.100.2:9100/metrics; + } + + location /metrics/blade/mcn2/node_exporter { + proxy_pass http://192.168.100.3:9100/metrics; + } + + location /metrics/blade/mcn3/node_exporter { + proxy_pass http://192.168.100.4:9100/metrics; + } + + location /metrics/blade/mxn/node_exporter { + proxy_pass http://192.168.100.5:9100/metrics; + } + + location /metrics/blade/mcn0/systemd_exporter { + proxy_pass http://192.168.100.1:9558/metrics; + } + + location /metrics/blade/mcn1/systemd_exporter { + proxy_pass http://192.168.100.2:9558/metrics; + } + + location /metrics/blade/mcn2/systemd_exporter { + proxy_pass http://192.168.100.3:9558/metrics; + } + + location /metrics/blade/mcn3/systemd_exporter { + proxy_pass http://192.168.100.4:9558/metrics; + } + } +} diff --git a/roles/sapp/templates/sapp.service.j2 b/roles/sapp/templates/sapp.service.j2 index 5bcf18d..e910e97 100644 --- a/roles/sapp/templates/sapp.service.j2 +++ b/roles/sapp/templates/sapp.service.j2 @@ -13,7 +13,7 @@ RestartSec=10s Restart=always LimitNOFILE=524288 LimitNPROC=infinity -LimitCORE=infinity +LimitCORE=0 TasksMax=infinity Delegate=yes KillMode=process diff --git a/roles/sapp/templates/sapp.toml.j2 b/roles/sapp/templates/sapp.toml.j2 index 82ae092..c420003 100644 --- a/roles/sapp/templates/sapp.toml.j2 +++ b/roles/sapp/templates/sapp.toml.j2 @@ -214,4 +214,4 @@ dictator_enable=0 enable_breakpad=0 breakpad_minidump_dir="/tmp/crashreport" enable_breakpad_upload=0 - breakpad_upload_url="http://127.0.0.1/" + breakpad_upload_url="{{ breakpad_upload_url }}" diff --git a/roles/tfe_restart/tasks/main.yml b/roles/tfe_restart/tasks/main.yml index 00eb0b4..806216e 100644 --- a/roles/tfe_restart/tasks/main.yml +++ b/roles/tfe_restart/tasks/main.yml @@ -1,4 +1,4 @@ -- name: 'sapp service start' +- name: 'tfe service start' systemd: name: tfe enabled: yes