feature:新增部署packet_dump的操作
This commit is contained in:
22
install_config/group_vars/packet_dump_server.yml
Normal file
22
install_config/group_vars/packet_dump_server.yml
Normal 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
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
[mirror_traffic]
|
[mirror_traffic]
|
||||||
|
[packet_dump_server]
|
||||||
|
|
||||||
|
|||||||
8
packet_dump_server.yml
Normal file
8
packet_dump_server.yml
Normal 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}
|
||||||
Binary file not shown.
22
roles/dump_rtp_pcap/tasks/main.yml
Normal file
22
roles/dump_rtp_pcap/tasks/main.yml
Normal 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
|
||||||
23
roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j2
Normal file
23
roles/dump_rtp_pcap/templates/dump_rtp_pcap.json.j2
Normal 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 }}
|
||||||
|
}
|
||||||
Binary file not shown.
19
roles/packet_dump/files/packet_dump.service
Normal file
19
roles/packet_dump/files/packet_dump.service
Normal 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
|
||||||
BIN
roles/packet_dump/files/systemd_exporter
Normal file
BIN
roles/packet_dump/files/systemd_exporter
Normal file
Binary file not shown.
63
roles/packet_dump/tasks/main.yml
Normal file
63
roles/packet_dump/tasks/main.yml
Normal 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
|
||||||
@@ -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
|
||||||
17
roles/packet_dump/templates/packet_dump.conf.j2
Normal file
17
roles/packet_dump/templates/packet_dump.conf.j2
Normal 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 }}
|
||||||
Reference in New Issue
Block a user