summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfumingwei <[email protected]>2021-07-22 17:31:28 +0800
committerfumingwei <[email protected]>2021-07-22 17:31:28 +0800
commitc810c89082ba965f3bd109e5f33f46e90127b151 (patch)
tree24dbab2931ae8b54947b6bba6296e453c34969f3
parent58f1bc80448f1a528fa2e2ac656df15f6275dc03 (diff)
feature:新增部署packet_dump的操作tsg-version-21.06-deploy-to-mirror-traffic
-rw-r--r--install_config/group_vars/packet_dump_server.yml22
-rw-r--r--install_config/hosts2
-rw-r--r--packet_dump_server.yml8
-rw-r--r--roles/dump_rtp_pcap/files/dump_rtp_pcap-1.0.2.445da24-2.el7.x86_64.rpmbin0 -> 17487980 bytes
-rw-r--r--roles/dump_rtp_pcap/tasks/main.yml22
-rw-r--r--roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j223
-rw-r--r--roles/packet_dump/files/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpmbin0 -> 21480 bytes
-rw-r--r--roles/packet_dump/files/packet_dump.service19
-rw-r--r--roles/packet_dump/files/systemd_exporterbin0 -> 15152792 bytes
-rw-r--r--roles/packet_dump/tasks/main.yml63
-rw-r--r--roles/packet_dump/templates/packet-dump-exporter-systemd.service.j211
-rw-r--r--roles/packet_dump/templates/packet_dump.conf.j217
12 files changed, 186 insertions, 1 deletions
diff --git a/install_config/group_vars/packet_dump_server.yml b/install_config/group_vars/packet_dump_server.yml
new file mode 100644
index 0000000..dc73e2f
--- /dev/null
+++ b/install_config/group_vars/packet_dump_server.yml
@@ -0,0 +1,22 @@
+nic_mgr:
+ name: eth0
+
+log_kafkabrokers:
+ address: ['1.1.1.1:9092','2.2.2.2:9092']
+
+packet_dump_log_level: 10
+
+breakpad_upload_url: http://127.0.0.1:9000/api/2/minidump/?sentry_key=3556bac347c74585a994eb6823faf5c6
+
+dump_rtp_pcap:
+ aws_access_key_id: "default"
+ aws_secret_access_key: "default"
+ aws_session_token: "c21f969b5f03d33d43e04f8f136e7682"
+ consume_bootstrap_servers: ['192.168.44.14:9092']
+ endpoint_url: "http://192.168.44.67:9098/hos/"
+ produce_bootstrap_servers: "192.168.44.14:9092"
+ queue_size: 5000000
+ coroutine_max_num: 200
+ coroutine_num: 100
+ qfull_mode: 0
+ qfull_interval: 5 \ No newline at end of file
diff --git a/install_config/hosts b/install_config/hosts
index ab8e1fb..c40caa0 100644
--- a/install_config/hosts
+++ b/install_config/hosts
@@ -1,3 +1,3 @@
[mirror_traffic]
-
+[packet_dump_server]
diff --git a/packet_dump_server.yml b/packet_dump_server.yml
new file mode 100644
index 0000000..ebbacd0
--- /dev/null
+++ b/packet_dump_server.yml
@@ -0,0 +1,8 @@
+- hosts: packet_dump_server
+ remote_user: root
+ vars_files:
+ - install_config/group_vars/packet_dump_server.yml
+ roles:
+ - {role: framework, tags: framework}
+ - {role: packet_dump, tags: packet_dump}
+ - {role: dump_rtp_pcap, tags: dump_rtp_pcap} \ No newline at end of file
diff --git a/roles/dump_rtp_pcap/files/dump_rtp_pcap-1.0.2.445da24-2.el7.x86_64.rpm b/roles/dump_rtp_pcap/files/dump_rtp_pcap-1.0.2.445da24-2.el7.x86_64.rpm
new file mode 100644
index 0000000..5e83bb1
--- /dev/null
+++ b/roles/dump_rtp_pcap/files/dump_rtp_pcap-1.0.2.445da24-2.el7.x86_64.rpm
Binary files differ
diff --git a/roles/dump_rtp_pcap/tasks/main.yml b/roles/dump_rtp_pcap/tasks/main.yml
new file mode 100644
index 0000000..5f863fb
--- /dev/null
+++ b/roles/dump_rtp_pcap/tasks/main.yml
@@ -0,0 +1,22 @@
+- name: "dump-rtp-pcap: copy dump-rtp-pcap rpm package to destination"
+ copy:
+ src: "{{ role_path }}/files/"
+ dest: /tmp/ansible_deploy/
+
+- name: "dump-rtp-pcap: install dump-rtp-pcap rpm from localhost"
+ yum:
+ name:
+ - /tmp/ansible_deploy/dump_rtp_pcap-1.0.2.445da24-2.el7.x86_64.rpm
+ state: present
+
+- name: "dump-rtp-pcap: Template the dump_rtp_pcap.json"
+ template:
+ src: "{{ role_path }}/templates/dump_rtp_pcap.json.j2"
+ dest: /home/mesasoft/dump_rtp_pcap/dump_rtp_pcap.json
+ tags: template
+
+- name: "start dump_rtp_pcap"
+ systemd:
+ name: dump_rtp_pcap.service
+ enabled: yes
+ daemon_reload: yes
diff --git a/roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j2 b/roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j2
new file mode 100644
index 0000000..08dfdcf
--- /dev/null
+++ b/roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j2
@@ -0,0 +1,23 @@
+{
+ "endian":"little",
+ "aws_access_key_id": "{{ dump_rtp_pcap.aws_access_key_id }}",
+ "aws_secret_access_key": "{{ dump_rtp_pcap.aws_secret_access_key }}",
+ "aws_session_token": "{{ dump_rtp_pcap.aws_session_token }}",
+ "bucket_name": "rtp-log",
+ "consume_auto_offset_reset":"latest",
+ "consume_bootstrap_servers": ["{{ dump_rtp_pcap.consume_bootstrap_servers | join("\",\"") }}"],
+ "consume_topic": "INTERNAL-RTP-LOG",
+ "endpoint_url": "{{ dump_rtp_pcap.endpoint_url }}",
+ "file_prefix":"rtp_log",
+ "group_id": "rtp-log-1",
+ "produce_bootstrap_servers": "{{ dump_rtp_pcap.produce_bootstrap_servers }}",
+ "produce_topic": "VOIP-RECORD-LOG",
+ "region_name": "us-east-1",
+ "save_speed_emit_interval":30,
+ "upload_speed_emit_interval":30,
+ "queue_size":{{ dump_rtp_pcap.queue_size }},
+ "coroutine_max_num":{{ dump_rtp_pcap.coroutine_max_num }},
+ "coroutine_num":{{ dump_rtp_pcap.coroutine_num }},
+ "qfull_mode":{{ dump_rtp_pcap.qfull_mode }},
+ "qfull_interval":{{ dump_rtp_pcap.qfull_interval }}
+}
diff --git a/roles/packet_dump/files/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpm b/roles/packet_dump/files/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpm
new file mode 100644
index 0000000..cb35f20
--- /dev/null
+++ b/roles/packet_dump/files/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpm
Binary files differ
diff --git a/roles/packet_dump/files/packet_dump.service b/roles/packet_dump/files/packet_dump.service
new file mode 100644
index 0000000..7afe11c
--- /dev/null
+++ b/roles/packet_dump/files/packet_dump.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=packet dump service
+After=After=network.target
+
+[Service]
+Type=fork
+WorkingDirectory=/home/mesasoft/packet_dump
+ExecStart=/home/mesasoft/packet_dump/packet_dump
+TimeoutSec=60s
+RestartSec=10s
+Restart=always
+LimitNOFILE=524288
+LimitNPROC=infinity
+LimitCORE=infinity
+TasksMax=infinity
+Delegate=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/roles/packet_dump/files/systemd_exporter b/roles/packet_dump/files/systemd_exporter
new file mode 100644
index 0000000..b075967
--- /dev/null
+++ b/roles/packet_dump/files/systemd_exporter
Binary files differ
diff --git a/roles/packet_dump/tasks/main.yml b/roles/packet_dump/tasks/main.yml
new file mode 100644
index 0000000..fc15304
--- /dev/null
+++ b/roles/packet_dump/tasks/main.yml
@@ -0,0 +1,63 @@
+- name: "copy packet_dump rpm to destination server"
+ copy:
+ src: "{{ role_path }}/files/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpm"
+ dest: /tmp/ansible_deploy/
+
+- name: "copy packet_dump.service to destination server"
+ copy:
+ src: "{{ role_path }}/files/packet_dump.service"
+ dest: /usr/lib/systemd/system
+ mode: 0755
+
+- name: "install packet_dump rpm from localhost"
+ yum:
+ name:
+ - /tmp/ansible_deploy/packet_dump-1.0.8.2e723ab-2.el7.x86_64.rpm
+ state: present
+
+- name: "Template the packet_dump.conf"
+ template:
+ src: "{{ role_path }}/templates/packet_dump.conf.j2"
+ dest: /home/mesasoft/packet_dump/conf/packet_dump.conf
+ tags: template
+
+- name: "create /var/www/html/troubleshooting"
+ file:
+ path: /var/www/html/troubleshooting
+ state: directory
+
+- name: "mkdir /opt/packet-dump-exporter/"
+ file:
+ path: /opt/packet-dump-exporter/
+ state: directory
+
+- name: "copy systemd_exporter"
+ copy:
+ src: '{{ role_path }}/files/systemd_exporter'
+ dest: /opt/packet-dump-exporter/systemd_exporter
+ mode: 0755
+
+- name: "templates packet-dump-exporter-systemd.service"
+ template:
+ src: "{{role_path}}/templates/packet-dump-exporter-systemd.service.j2"
+ dest: /usr/lib/systemd/system/packet-dump-exporter-systemd.service
+ tags: template
+
+- name: "start packet_dump"
+ systemd:
+ name: packet_dump.service
+ enabled: yes
+ daemon_reload: yes
+
+- name: "enable httpd"
+ systemd:
+ name: httpd
+ enabled: yes
+ daemon_reload: yes
+
+- name: 'packet-dump-exporter-systemd service start'
+ systemd:
+ name: packet-dump-exporter-systemd
+ enabled: yes
+ daemon_reload: yes
+ state: restarted
diff --git a/roles/packet_dump/templates/packet-dump-exporter-systemd.service.j2 b/roles/packet_dump/templates/packet-dump-exporter-systemd.service.j2
new file mode 100644
index 0000000..2e99629
--- /dev/null
+++ b/roles/packet_dump/templates/packet-dump-exporter-systemd.service.j2
@@ -0,0 +1,11 @@
+[Unit]
+Description=Systemd Exporter
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/opt/packet-dump-exporter/systemd_exporter --web.disable-exporter-metrics
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/roles/packet_dump/templates/packet_dump.conf.j2 b/roles/packet_dump/templates/packet_dump.conf.j2
new file mode 100644
index 0000000..a0727ed
--- /dev/null
+++ b/roles/packet_dump/templates/packet_dump.conf.j2
@@ -0,0 +1,17 @@
+[KAFKA]
+BROKER_LIST={{ log_kafkabrokers.address | join(",")}}
+KAFKA_OFFSET=largest
+
+[SYSTEM]
+NIC_NAME={{ nic_mgr.name }}
+LOG_LEVEL={{ packet_dump_log_level }}
+LOG_PATH=log/packet_dump
+PCAPNG_FILEPATH_PREFIX=/troubleshooting/
+PCAPNG_BASEPATH_PREFIX=/var/www/html/
+
+[breakpad]
+disable_coredump=1
+enable_breakpad=1
+breakpad_minidump_dir=/tmp/packet_dump/crashreport
+enable_breakpad_upload=1
+breakpad_upload_url={{ breakpad_upload_url }}