{"id":513,"date":"2018-05-26T16:03:00","date_gmt":"2018-05-26T07:03:00","guid":{"rendered":"https:\/\/wp.zassoul.com\/?p=513"},"modified":"2018-05-26T16:03:00","modified_gmt":"2018-05-26T07:03:00","slug":"netflow%e3%82%92elastiflow%e3%81%a7%e5%8f%96%e3%82%8a%e8%be%bc%e3%82%80","status":"publish","type":"post","link":"https:\/\/wp.zassoul.com\/?p=513","title":{"rendered":"Netflow\u3092Elastiflow\u3067\u53d6\u308a\u8fbc\u3080"},"content":{"rendered":"<p>Elasticsearch\u3067\u53d6\u308a\u8fbc\u3093\u3060\u30c7\u30fc\u30bf\u3092Kibana\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u307e\u3067\u306f\u3044\u3051\u305f\u306e\u3060\u3051\u308c\u3069, \u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u306bNetflow\u304c\u306a\u3044\u306e\u3067\u30d5\u30a9\u30fc\u30e9\u30e0\u306b\u554f\u3044\u5408\u308f\u305b\u3057\u3066\u307f\u305f\u3089, \u300c<a href=\"https:\/\/discuss.elastic.co\/t\/unable-to-export-kibana-netflow-dashboards\/130106\/5\" target=\"_blank\" rel=\"noopener noreferrer\">ElastiFlow\u3092\u304a\u3059\u3059\u3081\u3059\u308b<\/a>\u300d\u3068\u8a00\u308f\u308c\u305f\u306e\u3067\u305d\u3061\u3089\u3067\u3084\u3063\u3066\u307f\u305f\u3002<\/p>\n<p>\u624b\u9806\u306f\u3053\u3053\u306b\u3042\u308b\u3002<br \/><a href=\"https:\/\/github.com\/robcowart\/elastiflow\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/robcowart\/elastiflow<\/a><\/p>\n<p>\u3057\u304b\u3057\u5fc5\u8981\u30ea\u30bd\u30fc\u30b9\u304c\u591a\u3044\u30fb\u30fb\u30fb\u3002<\/p>\n<blockquote>\n<table style=\"border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; color: #24292e; display: block; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px; margin-bottom: 16px; margin-top: 0px; overflow: auto; width: 888px;\">\n<thead style=\"box-sizing: border-box;\">\n<tr style=\"background-color: white; border-top: 1px solid rgb(198, 203, 209); box-sizing: border-box;\">\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">flows\/sec<\/th>\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">(v)CPUs<\/th>\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">Memory<\/th>\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">Disk (30-days)<\/th>\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">ES JVM Heap<\/th>\n<th align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">LS JVM Heap<\/th>\n<\/tr>\n<\/thead>\n<tbody style=\"box-sizing: border-box;\">\n<tr style=\"background-color: white; border-top: 1px solid rgb(198, 203, 209); box-sizing: border-box;\">\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">250<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">4<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">24 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">305 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">8 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">4 GB<\/td>\n<\/tr>\n<tr style=\"background-color: #f6f8fa; border-top: 1px solid rgb(198, 203, 209); box-sizing: border-box;\">\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">1000<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">8<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">32 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">1.22 TB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">12 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">4 GB<\/td>\n<\/tr>\n<tr style=\"background-color: white; border-top: 1px solid rgb(198, 203, 209); box-sizing: border-box;\">\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">2500<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">12<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">64 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">3.05 TB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">24 GB<\/td>\n<td align=\"right\" style=\"border: 1px solid rgb(223, 226, 229); box-sizing: border-box; padding: 6px 13px;\">6 GB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/blockquote>\n<p><\/p>\n<h3>\u624b\u9806<\/h3>\n<ol>\n<li>\u78ba\u8a8d<\/li>\n<li>Java\u306e\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u78ba\u8a8d<\/li>\n<li>Logstash Plugin\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<li>Git Hub\u304b\u3089\u95a2\u9023\u30d5\u30a1\u30a4\u30eb\u53d6\u5f97\u30fb\u914d\u7f6e<\/li>\n<li>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6<\/li>\n<li>\u30d7\u30ed\u30bb\u30b9\u518d\u8d77\u52d5<\/li>\n<li>Kibana\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4f5c\u6210\u30fb\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9json\u3092\u8aad\u307f\u8fbc\u3080<\/li>\n<\/ol>\n<p><\/p>\n<h3>\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8<\/h3>\n<p>\u3082\u308d\u3082\u308d\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u3066\u304a\u304f\u3002\u306a\u304a, Elasticsearch\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f6.2.4\u3002 <\/p>\n<pre>yum update -y<\/pre>\n<p><\/p>\n<h3>Java\u306e\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u5909\u66f4<\/h3>\n<blockquote><p><span style=\"background-color: white; color: #24292e; font-family: , &quot;blinkmacsystemfont&quot; , &quot;segoe ui&quot; , &quot;helvetica&quot; , &quot;arial&quot; , sans-serif , &quot;apple color emoji&quot; , &quot;segoe ui emoji&quot; , &quot;segoe ui symbol&quot;; font-size: 16px;\">It is recommended that Logstash be given at least 2GB of JVM heap. If all options, incl. DNS lookups (requires version 3.0.10 or later of the DNS filter), are enabled increase this to 4GB.&nbsp;<\/span><\/p><\/blockquote>\n<p>\u3068\u3042\u3063\u305f\u306e\u3067\u521d\u671f\u50241G, MAX\u5024\u30924G\u3078\u5909\u66f4\u3002<\/p>\n<pre>vi \/etc\/logstash\/jvm.options<br \/># Xms represents the initial size of total heap space<br \/># Xmx represents the maximum size of total heap space<br \/><br \/>#-Xms256m<br \/>#-Xmx1g<br \/>-Xms1g<br \/>-Xmx4g<br \/><\/pre>\n<p><\/p>\n<h3>Logstash Plugin\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb   <\/h3>\n<pre># .\/logstash-plugin install logstash-codec-sflow<br \/>Validating logstash-codec-sflow<br \/>Installing logstash-codec-sflow<br \/>Installation successful<br \/># .\/logstash-plugin update logstash-codec-netflow<br \/>Updating logstash-codec-netflow<br \/>Updated logstash-codec-netflow 3.13.2 to 3.14.0<br \/># .\/logstash-plugin update logstash-input-udp<br \/>Updating logstash-input-udp<br \/>Updated logstash-input-udp 3.3.2 to 3.3.3<br \/># .\/logstash-plugin update logstash-filter-dns<br \/>Updating logstash-filter-dns<br \/>Updated logstash-filter-dns 3.0.9 to 3.0.10<\/pre>\n<p><\/p>\n<h3>Git Hub\u304b\u3089\u95a2\u9023\u30d5\u30a1\u30a4\u30eb\u53d6\u5f97\u30fb\u914d\u7f6e\u30fb\u7de8\u96c6<\/h3>\n<p><\/p>\n<pre>% git clone https:\/\/github.com\/robcowart\/elastiflow.git<br \/>% ls -l elastiflow<br \/>total 32<br \/>drwxrwxr-x. 2 centos centos    75 May 24 20:02 kibana<br \/>-rw-rw-r--. 1 centos centos  1026 May 24 20:02 LICENSE.md<br \/>drwxrwxr-x. 3 centos centos    23 May 24 20:02 logstash<br \/>drwxrwxr-x. 2 centos centos    54 May 24 22:49 logstash.service.d<br \/>drwxrwxr-x. 2 centos centos    26 May 24 20:02 profile.d<br \/>-rw-rw-r--. 1 centos centos 28091 May 24 20:02 README.md<br \/><br \/><\/pre>\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u914d\u7f6e<\/p>\n<pre># cp -r .\/elastiflow\/logstash\/elastiflow\/ \/etc\/logstash\/<br \/><\/pre>\n<p>\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6\u3002<br \/>netflow\u4ee5\u5916\u4f7f\u308f\u306a\u3044\u306e\u3067, \u305d\u308c\u4ee5\u5916\u306e\u30d5\u30a1\u30a4\u30eb\u306fdisable\u306b\u3057\u305f\u3002<\/p>\n<pre>10_input_ipfix_ipv4.logstash.conf.disabled<br \/>10_input_ipfix_ipv6.logstash.conf.disabled<br \/>10_input_netflow_ipv4.logstash.conf<br \/>10_input_netflow_ipv6.logstash.conf.disabled<br \/>10_input_sflow_ipv4.logstash.conf.disabled<br \/>10_input_sflow_ipv6.logstash.conf.disabled<br \/>20_filter_10_begin.logstash.conf<br \/>20_filter_20_netflow.logstash.conf<br \/>20_filter_30_ipfix.logstash.conf.disabled<br \/>20_filter_40_sflow.logstash.conf.disabled<br \/>20_filter_90_post_process.logstash.conf<br \/>30_output.logstash.conf<br \/><\/pre>\n<p>\u30a4\u30f3\u30d7\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6<\/p>\n<pre># vi 10_input_netflow_ipv4.logstash.conf<br \/><\/pre>\n<p>\u5909\u66f4\u70b9\u3002<\/p>\n<pre>host =&gt; \"${ELASTIFLOW_NETFLOW_IPV4_HOST:172.16.10.50}\"<br \/>port =&gt; \"${ELASTIFLOW_NETFLOW_IPV4_PORT:9995}\"<br \/><\/pre>\n<p>\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6<\/p>\n<pre># vi 30_output.logstash.conf<br \/><\/pre>\n<p>\u5909\u66f4\u70b9\u3002<\/p>\n<pre>hosts =&gt; [ \"${ELASTIFLOW_ES_HOST:172.16.10.50:9200}\" ]<br \/>user =&gt; \"${ELASTIFLOW_ES_USER:elastic}\"<br \/>password =&gt; \"${ELASTIFLOW_ES_PASSWD:elastic}\"<br \/><\/pre>\n<p>\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u914d\u7f6e<\/p>\n<pre># cp -r .\/elastiflow\/logstash.service.d\/ \/etc\/systemd\/system\/<br \/><\/pre>\n<p>\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u7de8\u96c6<\/p>\n<pre># vi \/etc\/systemd\/system\/logstash.service.d\/elastiflow.conf<br \/><\/pre>\n<p>\u5909\u3048\u305f\u3068\u3053\u308d\u306f\u4ee5\u4e0b\u3002<\/p>\n<pre>Environment=\"ELASTIFLOW_NAMESERVER=1.1.1.1\"<br \/>Environment=\"ELASTIFLOW_ES_HOST=172.16.10.50\"<br \/>Environment=\"ELASTIFLOW_ES_PASSWD=changeme\"<br \/>Environment=\"ELASTIFLOW_NETFLOW_IPV4_HOST=172.16.10.50\"<br \/>Environment=\"ELASTIFLOW_NETFLOW_IPV4_PORT=9995\"<br \/><\/pre>\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3ID\u767b\u9332\u3002<\/p>\n<pre># vi \/etc\/logstash\/elastiflow\/dictionaries\/app_id.srctype.yml<br \/><\/pre>\n<p>Cisco841\u3092\u767b\u9332\u3002<\/p>\n<pre>\"192.168.1.2\": \"c841m\"<br \/><\/pre>\n<p>pipeline.yml\u306b\u4ee5\u4e0b\u8ffd\u52a0\u3002\u5408\u308f\u305b\u3066netflow\u306e\u884c\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3002 <\/p>\n<pre># For ElastiFlow<br \/>- pipeline.id: elastiflow<br \/>  path.config: \"\/etc\/logstash\/elastiflow\/conf.d\/*.conf\"<br \/><\/pre>\n<p><\/p>\n<h3>\u30d7\u30ed\u30bb\u30b9\u518d\u8d77\u52d5<\/h3>\n<pre>#systemctl restart logstash<br \/>#systemctl daemon-reload<br \/><\/pre>\n<p><\/p>\n<h3>Kibana\u306bjson\u53d6\u308a\u8fbc\u307f<\/h3>\n<p>\u300cManagement -&gt; Save Objects -&gt; Import\u300d\u3067Git\u304b\u3089\u53d6\u5f97\u3057\u305felastiflow.dashboards.json\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3002<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-gNNFKMMZI7c\/WwkC-wmFW2I\/AAAAAAAAATg\/3kO5xuyi86csR9YdgBqSOCL5Qm4QG0TeQCLcBGAs\/s1600\/Kibana.PNG\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"187\" data-original-width=\"743\" height=\"100\" src=\"https:\/\/3.bp.blogspot.com\/-gNNFKMMZI7c\/WwkC-wmFW2I\/AAAAAAAAATg\/3kO5xuyi86csR9YdgBqSOCL5Qm4QG0TeQCLcBGAs\/s400\/Kibana.PNG\" width=\"400\" \/><\/a><\/div>\n<p>\u3067\u304d\u305f\uff01<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-FqQb3WCq-dc\/WwkImOnDESI\/AAAAAAAAAUA\/JaCVMk8VGq0CaPYz8MNuNjQSESsH0dAawCLcBGAs\/s1600\/elastiflow.PNG\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"380\" data-original-width=\"886\" height=\"137\" src=\"https:\/\/3.bp.blogspot.com\/-FqQb3WCq-dc\/WwkImOnDESI\/AAAAAAAAAUA\/JaCVMk8VGq0CaPYz8MNuNjQSESsH0dAawCLcBGAs\/s320\/elastiflow.PNG\" width=\"320\" \/><\/a><\/div>\n<div style=\"clear: both; text-align: center;\"><\/div>\n<p><\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/3.bp.blogspot.com\/-wM6pjayS2Tg\/WwkGZm7WEJI\/AAAAAAAAATw\/CmMUnBLJ0Gk_gkR66jGHjXOsRwFCqJjLACLcBGAs\/s1600\/Kibana2.PNG\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" data-original-height=\"721\" data-original-width=\"1600\" height=\"144\" src=\"https:\/\/3.bp.blogspot.com\/-wM6pjayS2Tg\/WwkGZm7WEJI\/AAAAAAAAATw\/CmMUnBLJ0Gk_gkR66jGHjXOsRwFCqJjLACLcBGAs\/s320\/Kibana2.PNG\" width=\"320\" \/><\/a><\/div>\n<p>\u305f\u3060, \u3046\u3061\u306e\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30b9\u30da\u30c3\u30af\u4e0d\u8db3\u3067\u7d50\u69cb\u306a\u983b\u5ea6\u3067\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u3002<br \/>\u3053\u306e\u8fba\u306f\u4eca\u306e\u72b6\u6cc1\u3067\u306f\u3069\u3046\u3057\u3088\u3046\u3082\u306a\u3044\u306a\u30fc\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elasticsearch\u3067\u53d6\u308a\u8fbc\u3093\u3060\u30c7\u30fc\u30bf\u3092Kibana\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u307e\u3067\u306f\u3044\u3051\u305f\u306e\u3060\u3051\u308c\u3069, \u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u306bNetflow\u304c\u306a\u3044\u306e\u3067\u30d5\u30a9\u30fc\u30e9\u30e0\u306b\u554f\u3044\u5408\u308f\u305b\u3057\u3066\u307f\u305f\u3089, \u300cElastiFlow\u3092\u304a\u3059\u3059\u3081\u3059\u308b\u300d\u3068\u8a00\u308f\u2026 <span class=\"read-more\"><a href=\"https:\/\/wp.zassoul.com\/?p=513\">\u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,6,8],"tags":[],"class_list":["post-513","post","type-post","status-publish","format-standard","hentry","category-elasticsearch","category-it","category-8"],"_links":{"self":[{"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=\/wp\/v2\/posts\/513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=513"}],"version-history":[{"count":0,"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=\/wp\/v2\/posts\/513\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.zassoul.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}