使用Filebeat的Palo Alto Networks模块来可视化流量日志
Filebeat是什么?
- Elastic社の軽量ログ収集エージェント群Beatsの1つ。
-
- BeatsはいずれもGoで書かれており低負荷で動作するため、Logstashと比べてデータソース(Webサーバー等)に直接導入しやすい。
Logstashと比べて機能はシンプルで、収集対象のデータに応じてエージェントを使い分ける必要がある。
Filebeatはログファイルのデータ収集に特化したエージェント。
指定したログファイルを監視し、更新があるとLogstashやElasticsearch等に出力する。
Module是什么?
-
- FilebeatとMetricbeatには一般的なログフォーマット(NGINX、Apache、System、Redis、Docker等)のデータに対応するModuleが存在する。一覧はこちら。
ModuleによってElasticsearchに取り込ませるデータの変換設定やKibanaによる可視化のためのダッシュボード作成を省略・簡略化できる。
7.0以降、Moduleで定義されるフィールド・データ型はElastic Common Schemaに準拠しており、異なるデータソース間でも統一された検索・分析基盤を構築できる。
ex) ユーザー名のフィールドがソースによってuserになったりusernameになったりnginx.access.user_nameになったりせず、user.nameに統一される。
今回はFilebeatのPalo Alto Networks moduleを使う。
做过的事情 de
在Palo Alto防火墙的Syslog服务器上安装Filebeat,并将其输出到新建的Elasticsearch+Kibana进行可视化。
环境
-
- Elasticsearch+Kibana
Amazon Linux 2 AMI (HVM), SSD Volume Type
t2.medium
EBS(汎用SSD) 30GiB
Syslog+Filebeat
Amazon Linux 2 AMI (HVM), SSD Volume Type
t2.micro
EBS(汎用SSD) 30GiB
Palo Alto FW
VM-Series Next-Generation Firewall Bundle 1
m5.xlarge
EBS(汎用SSD) 30GiB
AWSのセキュリティグループは適宜開ける
程序
安装和配置Elasticsearch+Kibana。
-
- インストール
yumで入れる
$ sudo yum install java
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
$ sudo vi /etc/yum.repos.d/elastic.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
[kibana]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
$ sudo yum install elasticsearch kibana
-
- Elasticsearchの設定
Filebeatからの出力をElasticsearchで許可する
シングル構成にするときその旨をは明示しないとサービス起動時にエラーになるっぽい
$ sudo vi /etc/elasticsearch/elasticsearch.yml
network.host: 127.0.0.1, <SyslogサーバーのIP>
discovery.type: single-node
-
- Kibanaの設定
接続元の制限をかけない
elasticsearchの指定(今回は同居しているのでlocalhost)
$ sudo vi /etc/kibana/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http//localhost:9200"]
- ElasticsearchとKibanaのサービス起動設定
$ sudo /bin/systemctl daemon-reload
$ sudo /bin/systemctl enable elastcisearch.service
$ sudo /bin/systemctl enable kibana.service
$ sudo systemctl start elasticsearch.service
$ sudo systemctl start kibana.service
Filebeat的安装和设置
syslogの設定は割愛
Paloからtrafficログとthreatログを受け取って/var/log/pan*.logに配置している前提
インストール
yumで入れる
$ sudo yum install filebeat
- Palo Alto Network moduleの有効化・設定
$ sudo filebeat modules enable panw
$ sudo vi /etc/filebeat/modules.d/panw.yml
- module: panw
panos:
enabled: true
var.paths: ["/var/log/pan*.log"]
var.input: "file"
-
- Filebeatの設定
ElasticsearchとKibanaを指定する
以下は変更箇所のみ、他はデフォルト値
$ sudo vi /etc/filebeat/filebeat.yml
setup.kibana:
host: "<Elasticsearch+KibanaサーバーのIP>:5601"
output.elasticsearch:
hosts: ["<Elasticsearch+KibanaサーバーのIP>:9200"]
-
- Filebeatのセットアップ
Moduleのデータ変換設定とダッシュボード設定がElastichsearchとKibanaに反映される
$ sudo filebeat setup -e
- Filebeatのサービス起動設定
$ sudo systemctl enable filebeat
$ sudo systemctl start filebeat
查看仪表盘
废话不多
这篇文章写得好像是在使用中的Syslog服务器上进行的安装,但实际上是为了文章的缘故,匆忙搭建了虚拟机的防火墙和Syslog服务器,所以数据比较少,看起来不够好看。
在汉语中,只需要一个选项,以下是对所提问题的本地化中文释义:
引用
尝试使用Paloalto Networks VM-Series for AWS来服务基础设施工程师
Filebeat
Filebeat模块
关于Elastic Common Schema
总结了Filebeat性能调优的要点