CentOS7設定ピットにsystemdサービス体験管理Logstash

インフォメーション:ELKもかなり長い時間を再生し、ピットと窮乏に遭遇する時間を持っています

1.テスト環境

CentOS7オペレーティングシステム(インストールバイナリモード)rsyslogの、logstash6.2.4

2.問題

サービスを開始するには、ユーザーをlogstashに設定すると、次のエラーが発生します

7月27日午後05時39分02秒ZABBIXサーバlogstash:2019-07-27T17:39:02995] [INFO] [logstash.inputs.syslog出発シスログUDPリスナー{:アドレス=> "0.0.0.0:514"} 
7月27日午前17時39分03秒ZABBIXサーバlogstash:2019-07-27T17:39:02997] [WARN] [logstash.inputs.syslog]シスログリスナーが死亡{:プロトコル=>:UDP:アドレス=> "0.0 .0.0:514" 、  
:例外=>#<ERRNO :: EACCES:許可が拒否されました-バインド(2)については"0.0.0.0"ポート514>、:バックトレース=> [ "ORG / JRubyの/内線/ソケット/ RubyUDPSocket。 Javaの:197: `バインド"で"  
" /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-syslog-3.4.1/lib/logstash/inputs/syslog.rb: 149: `udp_listener"で"  
" /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-syslog-3.4.1/lib/logstash/inputs/syslog.rb:130: `サーバー」」で、 
" /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-syslog-3.4.1/lib/logstash/inputs/syslog.rb:110:}]「「実行中のブロック `で

Linuxシステムのセキュリティ設定は、次のアプリケーションポート1024は、rootユーザーとして起動を開始しなければならないため、ポートオーソリティを開始する理由がない場合には、いない通常のユーザが開始します

3.ソリューション

(1)サービスlogstashを開始するにはrootに

logstash.service

[単位] 
説明= logstash 

[サービス] 
=単純型
ユーザー=ルート
グループ=ルート
環境= JAVA_HOME =は/ usr / local / jdkの
環境= LS_HOME =は/ usr / local / logstash 
環境= LS_SETTINGS_DIR =は/ usr / local / logstash /設定を/ 
環境= LS_PIDFILE =は/ usr / local / logstash / logstash.pid 
環境= LS_USER =ルート
環境= LS_GROUP =ルート
環境= LS_GC_LOG_FILE =は/ usr / local / logstash /ログ/ gc.log 
環境= LS_OPEN_FILES = 16384 
環境= LS_NICE = 19 
環境= SERVICE_NAME = logstash 
環境= SERVICE_DESCRIPTION = logstash 
ExecStart =は/ usr / local / logstash / binに/ logstash "--path.settings" "は/ usr / local / logstash /設定/" 
再起動=常に
WORKINGDIRECTORY =は/ usr / local / logstash 
ニース= 19 
LimitNOFILE = 16384 

[インストール] 
WantedBy = multi-user.target

logstash設定

入力{ 
    シスログ{ 
        ポート=> "514" 
    } 
} 
フィルタ{ 
} 
出力{ 
    STDOUT {コーデック=> rubydebug} 
}

テスト結果:

image.png

情報を記録するためのsyslogポートインターフェイスを設定する1300内(2)Logstashサービスを開始するために、一般ユーザをlogstashに、ポート514 1300ポートにトラフィックを転送するfirewalldファイアウォールを設定し、logstash

次のようにlogstash.service:

[単位] 
説明= logstash 

[サービス] 
=単純型
ユーザー= logstash 
グループ= logstash 
環境= JAVA_HOME =は/ usr / local / jdkの
環境= LS_HOME =は/ usr / local / logstash 
環境= LS_SETTINGS_DIR =は/ usr / local / logstash /設定を/ 
環境= LS_PIDFILE =は/ usr / local / logstash / logstash.pid 
環境= LS_USER = logstash 
環境= LS_GROUP = logstash 
環境= LS_GC_LOG_FILE =は/ usr / local / logstash /ログ/ gc.log 
環境= LS_OPEN_FILES = 16384 
環境= LS_NICE = 19 
環境= SERVICE_NAME = logstash 
環境= SERVICE_DESCRIPTION = logstash 
ExecStart =は/ usr / local / logstash / binに/ logstash "--path.settings" "は/ usr / local / logstash /設定/"
再起動=常に
WORKINGDIRECTORY =は/ usr / local / logstash 
ニース= 19 
LimitNOFILE = 16384 

[インストール] 
WantedBy = multi-user.target

テスト構成のconfをlogstash

入力{ 
    シスログ{ 
        ポート=> "1300" 
    } 
} 
フィルタ{ 
} 
出力{ 
    STDOUT {コーデック=> rubydebug} 
}

ポート1300へfirewalldファイアウォールポート転送、ポート514のトラフィックを設定します

ファイアウォール-CMD --permanent --zone =公共--add-ポート= 514 / TCPの
ファイアウォール-CMD --permanent --zone =公共--add-フォワードポート=ポート= 514:プロト= TCP:toport = 1300 
ファイアウォールのcmd --reloadの
ファイアウォール-CMD --list-ポート
のファイアウォール-CMD --listフォワードポート

次のようにテスト結果は以下のとおりです。

image.png

国民の関心番号、カニへようこそ

qrcode_for_gh_8d29f7983a6d_430.jpg

おすすめ

転載: blog.51cto.com/12217124/2424209