# Filebeatモジュールの作成について

**URL:** <https://discuss.elastic.co/t/filebeat/209448>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [November 26, 2019, 8:40am UTC](https://discuss.elastic.co/t/filebeat/209448 "2019-11-26T08:40:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![t-nakata](https://avatars.discourse-cdn.com/v4/letter/t/8491ac/32.png) [@t-nakata](https://discuss.elastic.co/u/t-nakata)\
**Post date:** [November 26, 2019, 8:40am UTC](https://discuss.elastic.co/t/filebeat/209448/1 "2019-11-26T08:40:41Z")

</div>

filebeat v7.4を使用しております

以下のマニュアルを参考に、filebeatのモジュールを作成しようとしております。  
[https://www.elastic.co/guide/en/beats/devguide/7.4/filebeat-modules-devguide.html](https://www.elastic.co/guide/en/beats/devguide/7.4/filebeat-modules-devguide.html)

マニュアルに従い、モジュール作成するにあたって以下のコマンドを実行したところ、エラーとなりました。  
原因をご教示頂けないでしょうか

$ make create-module MODULE=squid  
make: \*\*\* ターゲット `create-module' を make するルールがありません. 中止.

マニュアルを見ると、「Run the following command in the filebeat folder」とあり、filebeatが存在するディレクトリで実行してみましたが、エラーになっています。

---

<div class="post-metadata">

**Author:** ![tsgkdt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsgkdt/32/39151_2.png) [@tsgkdt](https://discuss.elastic.co/u/tsgkdt)\
**Post date:** [November 26, 2019, 9:47am UTC](https://discuss.elastic.co/t/filebeat/209448/2 "2019-11-26T09:47:18Z")

</div>

githubのbeatsのレポジトリをcloneして、make create-moduleをやってみましたがcloneしたbeats直下で実行すると確かにエラーでしたが、その１つ下のfilebeatフォルダで実行したところモジュールの生成に成功しました。

filebeatが存在するフォルダで実行したときのエラー内容はどのようになってますでしょうか？

成功を確認したときの手順

```auto
root@0dddf479156d:/go/src/github.com/elastic/beats# make create-module MODULE=test-module
make: *** No rule to make target 'create-module'. Stop. ←ご提示のエラーと同じ

root@0dddf479156d:/go/src/github.com/elastic/beats# cd filebeat/
root@0dddf479156d:/go/src/github.com/elastic/beats/filebeat# make create-module MODULE=test-module
New module was generated, now you can start creating filesets by create-fileset command.
↑ 生成に成功している

↓ module以下を確認してみると、確かにtest-moduleが作成されている
root@0dddf479156d:/go/src/github.com/elastic/beats/filebeat# ls -al module
total 96
drwxr-xr-x 1 root root 4096 Nov 22 12:32 .
drwxr-xr-x 1 root root 4096 Nov 22 12:25 ..
drwxr-xr-x 5 root root 4096 Nov 22 12:25 apache
drwxr-xr-x 2 root root 4096 Nov 22 12:25 apache2
drwxr-xr-x 4 root root 4096 Nov 22 12:25 auditd
drwxr-xr-x 8 root root 4096 Nov 22 12:25 elasticsearch       
drwxr-xr-x 4 root root 4096 Nov 22 12:25 haproxy
drwxr-xr-x 6 root root 4096 Nov 22 12:25 icinga
drwxr-xr-x 5 root root 4096 Nov 22 12:25 iis
drwxr-xr-x 4 root root 4096 Nov 22 12:25 kafka
drwxr-xr-x 4 root root 4096 Nov 22 12:25 kibana
drwxr-xr-x 5 root root 4096 Nov 22 12:25 logstash
drwxr-xr-x 4 root root 4096 Nov 22 12:25 mongodb
drwxr-xr-x 5 root root 4096 Nov 22 12:25 mysql
drwxr-xr-x 4 root root 4096 Nov 22 12:25 nats
drwxr-xr-x 5 root root 4096 Nov 22 12:25 nginx
drwxr-xr-x 4 root root 4096 Nov 22 12:25 osquery
drwxr-xr-x 4 root root 4096 Nov 22 12:25 postgresql
drwxr-xr-x 5 root root 4096 Nov 22 12:25 redis
drwxr-xr-x 4 root root 4096 Nov 22 12:25 santa
drwxr-xr-x 5 root root 4096 Nov 22 12:25 system
drwxr-x--- 3 root root 4096 Nov 22 12:32 test-module ← ここ
drwxr-xr-x 4 root root 4096 Nov 22 12:25 traefik
root@0dddf479156d:/go/src/github.com/elastic/beats/filebeat# 

```

[https://www.elastic.co/guide/en/beats/devguide/7.4/beats-contributing.html](https://www.elastic.co/guide/en/beats/devguide/7.4/beats-contributing.html)  
このあたりに書かれているGoのバージョンなどとあってますか？

確認環境は、以下のようにDockerfileで作成しました。

```auto
FROM golang:1.12.9 as builder

ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64

RUN mkdir -p ${GOPATH}/src/github.com/elastic && \
    git clone https://github.com/elastic/beats ${GOPATH}/src/github.com/elastic/beats

```

ご参考になれば幸いです。

---

<div class="post-metadata">

**Author:** ![t-nakata](https://avatars.discourse-cdn.com/v4/letter/t/8491ac/32.png) [@t-nakata](https://discuss.elastic.co/u/t-nakata)\
**Post date:** [November 27, 2019, 4:29am UTC](https://discuss.elastic.co/t/filebeat/209448/3 "2019-11-27T04:29:51Z")

</div>

ご回答ありがとうございます。

goのバージョンはマニュアル記載のものと合っております。  
PATHとGOPATHの環境変数を以下のように設定しています。

★バージョン確認

# go version

go version go1.12.9 linux/amd64

★環境変数確認

# echo $GOPATH

/usr/share/filebeat

# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/usr/share/filebeat/bin:/root/bin

Filebeatが存在するディレクトリで実行すると以下のエラーになります

# pwd

/usr/share/filebeat/bin

# ls -l

合計 74616  
-rwxr-xr-x. 1 root root 75342704 9月 27 16:47 filebeat  
-rwxr-xr-x. 1 root root 1057147 9月 27 16:45 filebeat-god

# make create-module MODULE=squid

make: \*\*\* ターゲット `create-module' を make するルールがありません. 中止.

＜シスログメッセージ＞  
[input]#011input/input.go:152#011Run input  
[input]#011log/input.go:191#011Start next scan  
[input]#011log/input.go:421#011Check file for harvesting: /var/log/test.log  
[input]#011log/input.go:511#011Update existing file for harvesting: /var/log/test.log, offset: 5  
[input]#011log/input.go:565#011File didn't change: /var/log/test.log  
[input]#011log/input.go:212#011input states cleaned up. Before: 1, After: 1, Pending: 0  
[cfgfile]#011cfgfile/reload.go:197#011Scan for new config files  
[cfgfile]#011cfgfile/reload.go:216#011Number of module configs found: 0  
[reload]#011cfgfile/list.go:62#011Starting reload procedure, current runners: 0  
[reload]#011cfgfile/list.go:80#011Start list: 0, Stop list: 0

---

<div class="post-metadata">

**Author:** ![t-nakata](https://avatars.discourse-cdn.com/v4/letter/t/8491ac/32.png) [@t-nakata](https://discuss.elastic.co/u/t-nakata)\
**Post date:** [November 27, 2019, 5:25am UTC](https://discuss.elastic.co/t/filebeat/209448/4 "2019-11-27T05:25:12Z")

</div>

すみません。解決しました。

手順の中で、cloneを作成する手順の実施が抜けていました。  
マニュアル記載通り実施したところ、モジュールが作成されました

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 25, 2019, 5:25am UTC](https://discuss.elastic.co/t/filebeat/209448/5 "2019-12-25T05:25:19Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
