アーキテクチャ
フロントエンドを表示- >検索インデックス< -ログ抽出とフィルタリング- > <ログバッファ-コレクションログイン
Kibanaを- > Elastash < - Logstash - > Redisの< - filebeat
ファイル名と内容をログに記録します。
/ IBA / ibaboss / ジャワ /bossmobile-tomcat-8.0.26/logs/catalina.out #截取的内容: 22-Junの-2018 17:45:22.397 INFO [メイン] org.apache.catalina.startup.VersionLoggerListener.log Serverバージョン:Apache Tomcatの/ 8.0.26 22 - 6月- 2018年17:45:22.399 INFO [メイン] org.apache.catalina.startup.VersionLoggerListener.log Serverが構築された:2015年8月18日午前11時38分37秒UTC 22-Jun-を2018 17:45:22.399 INFO [メイン] org.apache.catalina.startup.VersionLoggerListener.logサーバ番号:8.0.26.0 /iba/ibaboss/java/bossmobile-tomcat-8.0.26/logs/ibalife.log #截取的内容: [ERROR] [2018年6月30日17時41分五十六秒] [com.iba.boss.pubsub.listener.core.ListenerTemplate] ErpCustomerRegEventListener onListen完了 [ERROR] [2018年6月30日午前17時41分56秒] [com.iba.boss.pubsub.listener.user.BmcLevelDescEventListener] bmcLevelDescEventListener - >セットlevelDescを待っている [ERROR] [2018年6月30日17時41分56秒] [com.iba.boss.pubsub.listener.core.ListenerTemplate] BmcLevelDescEventListener onListen完了
インストールのドッキングウィンドウ
詳細については、を参照してください https://www.linuxidc.com/Linux/2019-01/156519.htm
https://www.linuxidc.com/Linux/2019-08/160028.htm
インストールのドッキングウィンドウ、コン
詳細については、を参照してくださいhttps://www.linuxidc.com/Linux/2019-08/160026.htm
インストールのRedis(ここドッカー)
ドッキングウィンドウプルRedisのは / ibaboss /コン/ configに-p /ホームます。mkdir CD /ホーム/ ibaboss /作曲/ configに #のRedis的配置、密码为ibalife VI redis.conf #daemonizeはい pidファイル/data/redis.pid ポート6379 のtcp-バックログ30000 タイムアウト0 TCPキープアライブ10 ログレベルの通知 ログファイル/data/redis.log データベース16 セーブで900 1 300 10セーブで 10000 60セーブで ストップ書き込みオンbgsaveエラーはい はいrdbcompression はいrdbchecksum dbfilename dump.rdb DIR /データ slave-サーブ-古いデータをはい スレーブ読み取り専用はい REPL-ディスクレス同期なし REPL-ディスクレス同期遅延5 REPL-無効-TCP-NODELAYなし ZSET-MAX-ziplist、エントリ128 スレーブ優先度100 requirepass ibalife MaxClientsの30000 appendonlyなし "appendonly.aof" appendfilenameない appendfsync everysec 無appendfsyncオン書き換えなし 自動AOF-書き換え割合100 自動AOF書き換え分サイズの64メガバイト AOF-負荷切り捨てはい LUA-期限5000 slowlog-ログ遅いより10000 slowlog-MAX-LEN 128 レイテンシモニターしきい値0 通知-鍵空間事象KEAの ハッシュ-MAX-ziplist-エントリ512 ハッシュ-MAX-ziplist値64 リスト- MAX-ziplist-エントリ512 リスト-MAX-ziplist値64 のセットMAX-INTSET-エントリ1000年 ZSET-MAX-ziplist値64 HLLスパース-MAX-3000バイト activerehashingはい 0 0通常のクライアント出力バッファ制限 クライアント出力バッファ制限スレーブ256MBの64メガバイト60 クライアント出力バッファ制限のpubsub 32メガバイト60 8メガバイト ヘルツ10 AOF書き換え、インクリメンタル-fsyncはい #は编写ドッキングウィンドウ-構成のRedisは文件YML CD /ホーム/ ibabossを/構成 viのドッキングウィンドウ-構成-redis.yml 版: '3' のサービスを: elk_redis: 画像:Redisの:最新の CONTAINER_NAME:elk_redis ポート: - 「192.168.0.223 :6379:6379" #为提升安全、Redisの只对内网开放 ボリューム: - ./config/redis.conf:/usr/local/etc/redis/redis.conf ネットワーク: - logs_elk#指定したネットワークlogs_elk エントリーポイント: - Redisの-サーバー - /usr/local/etc/redis/redis.confの ネットワーク: logs_elk: 外部:#はネットワークの指定 logs_elkの:名 ヘラジカ専用ネットワークを作成するために#を ドッカー--attachable logs_elk作成ネットワーク #開始Redisの ドッカードッカー- F-作曲作曲をアップ-d -redis.yml 位の状態表示 ドッカーPS -a 、前のステップで得ることができる#コンテナIDをブートログの表示 -f 4841efd2e1efドッカログを
インストールfilebeat
ます。mkdir /ホーム/ツール-p CD /ホーム/ツール #のインストールパッケージのアップロード/ホーム/ツール のtar zxvf filebeat-6.3.0-Linuxの-x86_64.tar.gz -Cは/ usr / local CDを/ usr / local LNの-s /usr/local/filebeat-6.3.0-linux-x86_64は/ usr / local / filebeat
構成プロファイルfilebeat
CDは/ usr / local / filebeatの CATのfilebeat4bossmobile.ymlの filebeat.inputs: -タイプ:ログイン 有効:真の パス: - /iba/ibaboss/java/bossmobile-tomcat-8.0.26/logs/catalina.out multiline.pattern ' ^ [[:ワード:]] | ^のJava「#の一致複数の行は正規表現指定 multiline.negateを:複数の行をマージするための一番上の行を定義するために一致する真#パターンは、ログの一部として定義されていないこと、です、ルールは複数行のリンクの下の記事を参照してください #の後の前または後に、行にまとめ一致させる方法を定義します。multiline.match フィールド:#は、サービス情報収集にカスタムフィールドを追加し、bossmobile_catalinaの値は、両者を区別しますクラスログ サービス:bossmobile_catalina -タイプ:ログイン 有効:真の パス: - /iba/ibaboss/java/bossmobile-tomcat-8.0.26/logs/ibalife.* multiline.match:後 multiline.pattern: '^ \ [' multiline.negate:trueに フィールド:#はログの2種類を区別するために、カスタムフィールドサービス、価値bossmobile_ibalifeで収集した情報を追加し bossmobile_ibalife: -サービス output.redis: ホスト:ここでは[「192.168.0.223」]#はRedisのですネットワークアドレス パスワード:「ibalife」 キー:中bossmobileキー内に堆積「bossmobile」#のRedisの デシベル:0 タイムアウト:5
スタートfilebeat
#ログフォルダを保存filebeat作成し ます。mkdir / IBA / ibaboss / filebeat_logs nohupを./filebeat filebeat4bossmobile.yml -c -e> /iba/ibaboss/filebeat_logs/filebeat4bossmobile.log 2>&1& #ログを、あなたがすることができ、再読み込みたい場合filebeat削除して、再起動停止後 -ef PSを| filebeat grepを 殺す-9 PID RMは/ usr / local / filebeat /データ/レジストリ
ELKのインストール構成
CD /ホーム/ ibaboss /作曲 猫のドッキングウィンドウ-構成-elk.yml 版: '3' のサービスを: elasticsearch: 画像:docker.elastic.co/elasticsearch/elasticsearch:6.2.4の CONTAINER_NAME:logs_elasticsearch#给容器命名 再起動:常に 環境: - discovery.type =単一ノード - cluster.name =ドッカークラスタ - network.host = 0.0.0.0 - discovery.zen.minimum_master_nodes = 1 - ES_JAVA_OPTS = -Xms512m -Xmx512m 容量: - / IBA / ibaboss / elk-データ:は/ var / libに/ elasticsearchの ネットワーク: logs_elk:#指定使用的网络 別名: -容器のelasticsearch位別名、logs_elkのelasticsearchネットワーク内の他の容器は、容器にエイリアスを介してアクセスすることができる kibana: イメージ:docker.elastic.co/kibana/kibana:6.2.4の CONTAINER_NAME:logs_kibana ポート: - 「5601: 5601「 再起動:常に ネットワーク: logs_elk: 別名: - kibanaの 環境: - ELASTICSEARCH_URL = HTTP:// elasticsearch:9200 - SERVER_NAME = kibana depends_on: - elasticsearchの logstash: 画像:docker.elastic.co/logstash/logstash:6.2.4 CONTAINER_NAME:logs_logstash 再起動:常に 環境: - LS_JAVA_OPTS = -Xmx256m -Xms256m ボリューム: - ./config/logstash.conf:/etc/logstash.conf ネットワーク: logs_elk: 別名: - logstash depends_on: - elasticsearch エントリポイント: - logstash - -f - /etc/logstash.confの ネットワーク: logs_elk: 外部: 名前:logs_elk
CD /ホーム/ ibaboss /作曲/コンフィグ CAT logstash.conf INPUT { Redisの{ ポート=> "6379" ホスト=> "elk_redis" #Redisのホストがホストelk_redis logs_elkネットワークで DATA_TYPE => "一覧" キー=>「bossmobile "bossmobile鍵データのRedisから得られた# パスワード=>" ibalife " } } {フィルター {#を除去定義変異フィールドを remove_field => [" _id "バージョン@ "を"、" _インデックス"" _スコア"" _タイプ"" beat.hostname "" beat.name "" beat.version ""フィールド。サービス」、 "input.type"、 "オフセット"、 "prospector.type"、 "ソース"] } IF [フィールド] [ -サービス] == "bossmobile_catalina" { GROK {#カスタムフィールドcustomer_timeの中に入れ、メッセージフィールドの時間と一致し 、=> [ "メッセージ"一致 「(<customer_time>%{MONTHDAY} - ? } {MONTH% - %} {YEAR HOUR%の{}:{%}分:秒、{%}) "] } } IF [フィールド] [ -サービス] ==" bossmobile_ibalife "{ GROK { マッチ=>"メッセージ」 、 "(<customer_time>%{YEAR} - %{monthnum} - %{MONTHDAY}%{HOUR}:%{MINUTE}:%{SECOND、})"] } } DATE { マッチ=> [ "customer_time"、 "DD-MMM-YYYYのHH: MM:SS.SSS"、 "YYYY-MM-DD HH:MM:SS"]#の文字列からcustomer_timeフォーマットタイプ時刻日付に、例えば、22-Junの-2018 17: MM:45:DD-MMM-YYYYのHHに対応22.397 :SS.SSS :SS。SSSの ロケール=> "エン" ターゲット=> [「@timestamp」] #の@timestampの置換値フィールド、kibana @タイムスタンプ順序の値 のTimeZone =>「アジア/上海の」 } } 出力{#サービス分野のRedisのは、異なる作成されますインデックスelasticsearch [フィールド] [ -サービス] == "bossmobile_catalina" IF { elasticsearch { ホスト=> [ "elasticsearch:9200"] インデックス=> "bossmobile_catalina - YYYY.MM.DDの%{+}" } } [フィールド] IF [ -service] == "bossmobile_ibalife" { elasticsearch { ホスト=> [ "elasticsearch:9200"] インデックス=> "bossmobile_ibalife - YYYY.MM.DDの%{+}" } } } #起動するコンテナ ます。mkdir / IBA / ibaboss /ヘラジカデータ-p CD /ホーム/ ibaboss /作曲 ドッキングウィンドウ-構成-fドッカ-コン・elk.ymlアップ-d ドッキングウィンドウのps -a
*インデックスパターンを作成し、5601、bossmobile_catalina- *とbossmobile_ibalife-:アクセスIP kibana位置
カバレッジ - 上書き
使用GROK上書きパラメータ情報は、ログを被覆することができます
GROK { マッチ=> { "メッセージ" =>「\ [%{WORD} \] \ [%{YEAR} - %{MONTHNUM} - %{MONTHDAY}%{HOUR}:%{MINUTE}:%{SECOND} \]%{GREEDYDATA:メッセージ}」} 上書き=> [ "メッセージ"] }
ここで意志[ERROR] [2019年6月18日10時58分56秒]このような情報の削除