インフォメーション: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} }
テスト結果:
情報を記録するための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フォワードポート
次のようにテスト結果は以下のとおりです。
国民の関心番号、カニへようこそ