SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
출처 : https://www.researchgate.net/figure/NetFlow-datagram-format_fig2_220110281
참고&출처 : https://www.cisco.com/en/US/technologies/tk648/tk362/technologies_white_paper09186a00800a3db9.html
Traffic
Sampled Netflow : Sampling 1 out of 4 Packets
NetFlow
Collector
Traffic
NetFlow
Random Sampled Netflow : Sampling 1 out of 4 Packets
참고 : https://sflow.org/developers/diagrams/sFlowV5FlowData.pdf
Traffic
Sampling 1 out of 4 Packets
sFlow
Collector
출처 : https://blog.sflow.com/2009/05/scalability-and-accuracy-of-packet.html
Link Speed Large Flow Sampling Rate Polling Interval
10 Mbit/s >= 1 Mbit/s 1-in-10 20 seconds
100 Mbit/s >= 10 Mbit/s 1-in-100 20 seconds
1 Gbit/s >= 100 Mbit/s 1-in-1,000 20 seconds
10 Gbit/s >= 1 Gbit/s 1-in-10,000 20 seconds
40 Gbit/s >= 4 Gbit/s 1-in-40,000 20 seconds
100 Gbit/s >= 10 Gbit/s 1-in-100,000 20 seconds
출처 : https://blog.sflow.com/2013/06/large-flow-detection.html
Netflow sFlow
Sampling Type Flow Sampling Packet Sampling
CPU / Memory Usage High Low
Interface Counters Not supported Fully Supported
IP/ICMP/UDP/TCP Fully Supported Fully Supported
Ethernet/802.3 Not supported Fully Supported
Packet Headers Specific Fields Only Fully Supported
IPX, Apple Talk Not supported Fully Supported
Input/Output Interfaces Fully Supported Fully Supported
Input/Output VLAN Some Vendors Fully Supported
Source & Destination subnet/prefix Fully Supported Fully Supported
출처 : https://www.slideshare.net/pphaal/network-visibility-and-control-using-industry-standard-sflow-telemetry
Grafana
Elastic Search 7Horizon 25
Elastic Search 6Horizon 24
Drift
Drift
Opennms-helm
Grafana Elastic Search 7
Horizon
Flow Parser Flow enricher Flow Writer
Flow API
☞ The location the NetFlow package is coming from
☞ The address of the exporter
☞ Node ID
Flow Package(JAVA)
Flow Package
Flow Package
(enricher)
Flow Collector
• yum -y install java maven unzip
• wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-x86_64.rpm
• yum install elasticsearch-7.3.2-x86_64.rpm
• cat << EOF >> /etc/security/limits.conf
elasticsearch - nofile 65535
elasticsearch - nproc 4096
EOF
• cat << EOF >> /etc/sysctl.conf
vm.max_map_count = 262144
EOF
• vi /usr/lib/systemd/system/elasticsearch.service
[Service]
LimitMEMLOCK=infinity
출처 : https://www.elastic.co/guide/en/elasticsearch/reference/master/system-config.html
• curl -XGET 'localhost:9200/_cluster/health?pretty'
{
"cluster_name" : "elasticsearch",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 501,
"active_shards" : 501,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 497,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 50.20040080160321
}
• wget https://github.com/OpenNMS/elasticsearch-drift-plugin/archive/es-7.3.x.zip
• unzip es-7.3.x.zip
• cd elasticsearch-drift-plugin-es-7.3.x
• vi pom.xml
<groupId>org.opennms.elasticsearch</groupId>
<artifactId>elasticsearch-drift-plugin</artifactId>
<version>7.3.2-SNAPSHOT</version>
…
<properties>
<elasticsearch.version>7.3.2</elasticsearch.version>
• mvn clean package
• /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///root/elasticsearch-drift-
plugin-es-7.3.x/target/releases/elasticsearch-drift-plugin-7.3.2-SNAPSHOT.zip
• /usr/share/elasticsearch/bin/elasticsearch-plugin list
opennms-drift
• curl 'localhost:9200/_cat/plugins?v&s=component&h=name,component,version,description’
name component version description
localshot opennms-drift 7.3.2-SNAPSHOT The Drift plugin exposes additional aggregations for analysis of Netflow data.
• yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
• rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
• yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-
latest.noarch.rpm
• yum install opennms yum-utils java-11-openjdk java-11-openjdk-devel postgresql10 postgresql10-server
• /usr/pgsql-10/bin/postgresql-10-setup initdb
• systemctl start postgresql-10
#Opennms database 생성 및 계정 생성
• su - postgres
• createuser -P opennms
• createdb -O opennms opennms
#Postgres super user 계정 password 변경
• psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"
• Exit
• vi /var/lib/pgsql/10/data/pg_hba.conf
host all all 127.0.0.1/32 md5 <= md5로 수정
host all all ::1/128 md5 <= md5로 수정
• vi ${OPENNMS_HOME}/etc/opennms-datasources.xml
<jdbc-data-source name="opennms"
database-name="opennms"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="** YOUR-OPENNMS-USERNAME **"
password="** YOUR-OPENNMS-PASSWORD **" />
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"
password="** YOUR-POSTGRES-PASSWORD **" />
• vi ${OPENNMS_HOME}/etc/telemetryd-configuration.xml
<!-- Netflow v5 listener & adapters -->
<listener name="Netflow-5-UDP-8877" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener"
enabled="false">
……
<parameter key="port" value="8877"/>
<!-- Netflow v9 listener & adapters -->
<listener name="Netflow-9-UDP-4729" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener"
enabled="false">
<parameter key="port" value="4729"/>
…..
<!-- SFlow listener & adapters -->
<listener name="SFlow-UDP-6343" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener"
enabled="true">
<parameter key="port" value="6343"/>
• ${OPENNMS_HOME}/bin/send-event.pl -p 'daemonName Telemetryd' uei.opennms.org/internal/reloadDaemonConfig
• ssh -p 8101 admin@localhost
admin@opennms> config:edit org.opennms.features.flows.persistence.elastic
admin@opennms> config:property-set elasticUrl http://elasticsearch-server-ip:9200
admin@opennms> config:update
ctrl+d exit
• less ${OPENNMS_HOME}/etc/org.opennms.features.flows.persistence.elastic.cfg
elasticUrl=http:// elasticsearch-server-ip :9200
elasticIndexStrategy=daily
• systemctl restart opennms
• ${OPENNMS_HOME}/bin/runjava –s
• ${OPENNMS_HOME}/bin/install –dis
• systemctl start opennms
# http://<ip-or-fqdn-of-your-server>:8980/opennms ( ID/PW : admin/admin )
• yum -y install fontconfig freetype* urw-fonts
• wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm
• sudo yum localinstall grafana-6.4.3-1.x86_64.rpm
#opennms-helm plugin 설치
• grafana-cli plugins install opennms-helm-app
• systemctl start grafana-server.service
#https://Grafana-server-ip:3000 접속
( ID/PW : admin/admin )
#opennms-helm enable
#Datasource opennms flows / elasticsearch setting
출처 : https://blog.sflow.com/2013/08/restflow.html
[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Boost Fusion Library
Boost Fusion LibraryBoost Fusion Library
Boost Fusion Library
 
Designing High Availability for HashiCorp Vault in AWS
Designing High Availability for HashiCorp Vault in AWSDesigning High Availability for HashiCorp Vault in AWS
Designing High Availability for HashiCorp Vault in AWS
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
The BlackBox Project: Safely store secrets in Git/Mercurial (originally for P...
 
PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由PHP7ではなくHack/HHVMを選ぶ理由
PHP7ではなくHack/HHVMを選ぶ理由
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
SignalRブートキャンプ
SignalRブートキャンプSignalRブートキャンプ
SignalRブートキャンプ
 
ZynqMP勉強会
ZynqMP勉強会ZynqMP勉強会
ZynqMP勉強会
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについて
 
Consistent hash
Consistent hashConsistent hash
Consistent hash
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetupこれで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
 
Go 製リアルタイムサーバーの Kubernetes での運用について
Go 製リアルタイムサーバーの  Kubernetes での運用についてGo 製リアルタイムサーバーの  Kubernetes での運用について
Go 製リアルタイムサーバーの Kubernetes での運用について
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 

Ähnlich wie [MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화

CrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef WorkshopsCrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef Workshops
Crossref
 
Automate That! Scripting Atlassian applications in Python
Automate That! Scripting Atlassian applications in PythonAutomate That! Scripting Atlassian applications in Python
Automate That! Scripting Atlassian applications in Python
Atlassian
 
Automate that
Automate thatAutomate that
Automate that
Atlassian
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 

Ähnlich wie [MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화 (20)

(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
From zero to hero - Easy log centralization with Logstash and Elasticsearch
From zero to hero - Easy log centralization with Logstash and ElasticsearchFrom zero to hero - Easy log centralization with Logstash and Elasticsearch
From zero to hero - Easy log centralization with Logstash and Elasticsearch
 
From Zero to Hero - Centralized Logging with Logstash & Elasticsearch
From Zero to Hero - Centralized Logging with Logstash & ElasticsearchFrom Zero to Hero - Centralized Logging with Logstash & Elasticsearch
From Zero to Hero - Centralized Logging with Logstash & Elasticsearch
 
Cache is King
Cache is KingCache is King
Cache is King
 
2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language Viewer2017-07-22 Common Workflow Language Viewer
2017-07-22 Common Workflow Language Viewer
 
Web crawlers part-2-20161104
Web crawlers part-2-20161104Web crawlers part-2-20161104
Web crawlers part-2-20161104
 
Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010Consuming REST Services in BizTalk 2010
Consuming REST Services in BizTalk 2010
 
How to improve ELK log pipeline performance
How to improve ELK log pipeline performanceHow to improve ELK log pipeline performance
How to improve ELK log pipeline performance
 
CrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef WorkshopsCrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef Workshops
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Automate That! Scripting Atlassian applications in Python
Automate That! Scripting Atlassian applications in PythonAutomate That! Scripting Atlassian applications in Python
Automate That! Scripting Atlassian applications in Python
 
Automate that
Automate thatAutomate that
Automate that
 
Web-Performance
Web-PerformanceWeb-Performance
Web-Performance
 
Tdc 2013 - Ecossistema Ruby
Tdc 2013 - Ecossistema RubyTdc 2013 - Ecossistema Ruby
Tdc 2013 - Ecossistema Ruby
 
Anwendungsfälle für Elasticsearch JAX 2015
Anwendungsfälle für Elasticsearch JAX 2015Anwendungsfälle für Elasticsearch JAX 2015
Anwendungsfälle für Elasticsearch JAX 2015
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code base
 
Learning the basics of Apache NiFi for iot OSS Europe 2020
Learning the basics of Apache NiFi for iot OSS Europe 2020Learning the basics of Apache NiFi for iot OSS Europe 2020
Learning the basics of Apache NiFi for iot OSS Europe 2020
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
PLAT-16 Using Enterprise Content in Grails
PLAT-16 Using Enterprise Content in GrailsPLAT-16 Using Enterprise Content in Grails
PLAT-16 Using Enterprise Content in Grails
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 

Mehr von InfraEngineer

Mehr von InfraEngineer (16)

Linux Kernel 101 for Beginner
Linux Kernel 101 for BeginnerLinux Kernel 101 for Beginner
Linux Kernel 101 for Beginner
 
삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기삐약삐약 네트워크 엔지니어 이야기
삐약삐약 네트워크 엔지니어 이야기
 
CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_
 
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
HTTP2도 잘 모르는데 벌써 HTTP3 (v2)
 
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
 
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
 
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_koreaF5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
 
Calico routing modes_trans_by_duck_in_korean
Calico routing modes_trans_by_duck_in_koreanCalico routing modes_trans_by_duck_in_korean
Calico routing modes_trans_by_duck_in_korean
 
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
[MeetUp][2nd] 오리뎅이의_쿠버네티스_네트워킹_v1.2
 
[MeetUp][2nd] 컭on턺
[MeetUp][2nd] 컭on턺[MeetUp][2nd] 컭on턺
[MeetUp][2nd] 컭on턺
 
[MeetUp][2nd] 알아두면 쓸모있는 테라폼
[MeetUp][2nd] 알아두면 쓸모있는 테라폼[MeetUp][2nd] 알아두면 쓸모있는 테라폼
[MeetUp][2nd] 알아두면 쓸모있는 테라폼
 
IT 인프라 엔지니어에게 길을 묻다
IT 인프라 엔지니어에게 길을 묻다IT 인프라 엔지니어에게 길을 묻다
IT 인프라 엔지니어에게 길을 묻다
 
Kubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switchKubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switch
 
Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4
 
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
 
[MeetUp][1st] 자동화를 왜 해야하나요
[MeetUp][1st] 자동화를 왜 해야하나요[MeetUp][1st] 자동화를 왜 해야하나요
[MeetUp][1st] 자동화를 왜 해야하나요
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

[MeetUp][1st] 오픈소스를 활용한 xflow 수집-시각화

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 11. Traffic Sampled Netflow : Sampling 1 out of 4 Packets NetFlow Collector Traffic NetFlow Random Sampled Netflow : Sampling 1 out of 4 Packets
  • 12.
  • 13.
  • 15. Traffic Sampling 1 out of 4 Packets sFlow Collector
  • 17. Link Speed Large Flow Sampling Rate Polling Interval 10 Mbit/s >= 1 Mbit/s 1-in-10 20 seconds 100 Mbit/s >= 10 Mbit/s 1-in-100 20 seconds 1 Gbit/s >= 100 Mbit/s 1-in-1,000 20 seconds 10 Gbit/s >= 1 Gbit/s 1-in-10,000 20 seconds 40 Gbit/s >= 4 Gbit/s 1-in-40,000 20 seconds 100 Gbit/s >= 10 Gbit/s 1-in-100,000 20 seconds 출처 : https://blog.sflow.com/2013/06/large-flow-detection.html
  • 18.
  • 19. Netflow sFlow Sampling Type Flow Sampling Packet Sampling CPU / Memory Usage High Low Interface Counters Not supported Fully Supported IP/ICMP/UDP/TCP Fully Supported Fully Supported Ethernet/802.3 Not supported Fully Supported Packet Headers Specific Fields Only Fully Supported IPX, Apple Talk Not supported Fully Supported Input/Output Interfaces Fully Supported Fully Supported Input/Output VLAN Some Vendors Fully Supported Source & Destination subnet/prefix Fully Supported Fully Supported
  • 21.
  • 22. Grafana Elastic Search 7Horizon 25 Elastic Search 6Horizon 24 Drift Drift Opennms-helm
  • 23. Grafana Elastic Search 7 Horizon Flow Parser Flow enricher Flow Writer Flow API ☞ The location the NetFlow package is coming from ☞ The address of the exporter ☞ Node ID Flow Package(JAVA) Flow Package Flow Package (enricher) Flow Collector
  • 24. • yum -y install java maven unzip • wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-x86_64.rpm • yum install elasticsearch-7.3.2-x86_64.rpm
  • 25. • cat << EOF >> /etc/security/limits.conf elasticsearch - nofile 65535 elasticsearch - nproc 4096 EOF • cat << EOF >> /etc/sysctl.conf vm.max_map_count = 262144 EOF • vi /usr/lib/systemd/system/elasticsearch.service [Service] LimitMEMLOCK=infinity 출처 : https://www.elastic.co/guide/en/elasticsearch/reference/master/system-config.html
  • 26. • curl -XGET 'localhost:9200/_cluster/health?pretty' { "cluster_name" : "elasticsearch", "status" : "yellow", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 501, "active_shards" : 501, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 497, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 50.20040080160321 }
  • 27. • wget https://github.com/OpenNMS/elasticsearch-drift-plugin/archive/es-7.3.x.zip • unzip es-7.3.x.zip • cd elasticsearch-drift-plugin-es-7.3.x • vi pom.xml <groupId>org.opennms.elasticsearch</groupId> <artifactId>elasticsearch-drift-plugin</artifactId> <version>7.3.2-SNAPSHOT</version> … <properties> <elasticsearch.version>7.3.2</elasticsearch.version> • mvn clean package • /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///root/elasticsearch-drift- plugin-es-7.3.x/target/releases/elasticsearch-drift-plugin-7.3.2-SNAPSHOT.zip
  • 28. • /usr/share/elasticsearch/bin/elasticsearch-plugin list opennms-drift • curl 'localhost:9200/_cat/plugins?v&s=component&h=name,component,version,description’ name component version description localshot opennms-drift 7.3.2-SNAPSHOT The Drift plugin exposes additional aggregations for analysis of Netflow data.
  • 29. • yum -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm • rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY • yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo- latest.noarch.rpm • yum install opennms yum-utils java-11-openjdk java-11-openjdk-devel postgresql10 postgresql10-server
  • 30. • /usr/pgsql-10/bin/postgresql-10-setup initdb • systemctl start postgresql-10 #Opennms database 생성 및 계정 생성 • su - postgres • createuser -P opennms • createdb -O opennms opennms #Postgres super user 계정 password 변경 • psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';" • Exit • vi /var/lib/pgsql/10/data/pg_hba.conf host all all 127.0.0.1/32 md5 <= md5로 수정 host all all ::1/128 md5 <= md5로 수정
  • 31. • vi ${OPENNMS_HOME}/etc/opennms-datasources.xml <jdbc-data-source name="opennms" database-name="opennms" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/opennms" user-name="** YOUR-OPENNMS-USERNAME **" password="** YOUR-OPENNMS-PASSWORD **" /> <jdbc-data-source name="opennms-admin" database-name="template1" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/template1" user-name="postgres" password="** YOUR-POSTGRES-PASSWORD **" />
  • 32. • vi ${OPENNMS_HOME}/etc/telemetryd-configuration.xml <!-- Netflow v5 listener & adapters --> <listener name="Netflow-5-UDP-8877" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener" enabled="false"> …… <parameter key="port" value="8877"/> <!-- Netflow v9 listener & adapters --> <listener name="Netflow-9-UDP-4729" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener" enabled="false"> <parameter key="port" value="4729"/> ….. <!-- SFlow listener & adapters --> <listener name="SFlow-UDP-6343" class-name="org.opennms.netmgt.telemetry.listeners.UdpListener" enabled="true"> <parameter key="port" value="6343"/> • ${OPENNMS_HOME}/bin/send-event.pl -p 'daemonName Telemetryd' uei.opennms.org/internal/reloadDaemonConfig
  • 33. • ssh -p 8101 admin@localhost admin@opennms> config:edit org.opennms.features.flows.persistence.elastic admin@opennms> config:property-set elasticUrl http://elasticsearch-server-ip:9200 admin@opennms> config:update ctrl+d exit • less ${OPENNMS_HOME}/etc/org.opennms.features.flows.persistence.elastic.cfg elasticUrl=http:// elasticsearch-server-ip :9200 elasticIndexStrategy=daily • systemctl restart opennms
  • 34. • ${OPENNMS_HOME}/bin/runjava –s • ${OPENNMS_HOME}/bin/install –dis • systemctl start opennms # http://<ip-or-fqdn-of-your-server>:8980/opennms ( ID/PW : admin/admin )
  • 35.
  • 36.
  • 37. • yum -y install fontconfig freetype* urw-fonts • wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm • sudo yum localinstall grafana-6.4.3-1.x86_64.rpm #opennms-helm plugin 설치 • grafana-cli plugins install opennms-helm-app • systemctl start grafana-server.service #https://Grafana-server-ip:3000 접속 ( ID/PW : admin/admin )
  • 38. #opennms-helm enable #Datasource opennms flows / elasticsearch setting
  • 39.
  • 40.
  • 41.