feature:新增部署packet_dump的操作

This commit is contained in:
fumingwei
2021-07-22 17:31:28 +08:00
parent 58f1bc8044
commit c810c89082
12 changed files with 186 additions and 1 deletions

View File

@@ -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

View File

@@ -1,3 +1,3 @@
[mirror_traffic]
[packet_dump_server]

8
packet_dump_server.yml Normal file
View File

@@ -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}

View File

@@ -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

View File

@@ -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 }}
}

View File

@@ -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

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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 }}