ELK
- filebeat:クライアントのログ収集機能、比較logstash、+ filebeat軽く、より少ないリソースで。
- Redisのメッセージキューの選択:RedisのNoSQLのデータベースサーバが通常使用されているが、ここでのRedisはちょうどメッセージキューを作るために、大規模なログがカフカお勧めします。
- logstash:主にデータ収集モードを大量にサポートするために、フィルタリングツールのログを、ログ分析を収集するために使用されます。ホスト側にインストールされているのC / Sアーキテクチャの一般的な作業は、クライアントがアップelasticsearchする同時に変更し、他の操作、サーバ側は、受信したログがフィルタリングされている各ノードに責任がある、ログを収集する必要があります。
- elasticsearch:Elasticsearchが収集、分析、データの三つの機能のストレージを提供するオープンソース分散型検索エンジンです。その機能は次のとおり分散、ゼロコンフィギュレーション、自動検出、自動スライスインデックス、インデックス複製機構、安らかスタイルインターフェイス、このような自動負荷検索などの複数のデータソースを、。
- kibana:KibanaはフレンドリーWebインターフェイスを分析し、Logstash ElasticSearchは、まとめて分析し、重要なデータのログを検索するために提供ログインすることができます。
ホスト名 | コンフィギュレーション | 役割 | ソフトウェアバージョン |
---|---|---|---|
filebeat | ノー | クライアントのログ収集 | https://www.elastic.co/cn/downloads/beats/filebeat |
繰り返します | 2のvCPU 8ジブ | メッセージキュー | Redisの-stable.tar.gz |
logstash | 4のvCPU 16ジブ | ログ収集 | https://www.elastic.co/cn/downloads/logstash |
elasticsearch | 4のvCPU 16ジブ | ログの検索エンジン | https://www.elastic.co/cn/downloads/elasticsearch |
kibana | 2のvCPU 4ジブ | データショーをログに記録 | https://www.elastic.co/cn/downloads/kibana |
ESは、プラチナ版をアクティブにしますhttps://www.jianshu.com/p/1ff67bb363dd
1つのRedisの展開
展開パッケージをアップロードするには/ usr / local / srcに/ Redisの/、設置環境や設定に依存
mkdir -p /usr/local/src/redis/ yum -y install gcc-c++ make tcl service iptables stop && chkconfig iptables off echo 511 > /proc/sys/net/core/somaxconn echo never > /sys/kernel/mm/transparent_hugepage/enabled echo "echo 511 > /proc/sys/net/core/somaxconn" >> /etc/rc.local echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf && modprobe bridge && sysctl -p
コンパイルし、Redisのサーバーをインストールします
mkdir -p /usr/local/src/redis/{data,log} cd /usr/local/src/redis && tar -zxvf redis-stable.tar.gz -C . && cd redis-stable && make && make install (此处可一路回车选择默认配置,配置文件在cat /etc/redis/6379.conf) ./utils/install_server.sh
Redisのを開始します
chkconfig redis_6379 on service redis_6379 start
サービスが正常である後に起動チェック
redis-cli -h 本机IP
ローカルホスト:6379>キー *
(空のリストまたはセット)
はlocalhost:6379>設定されたテストABC
OK
はlocalhost:6379>テストもらう
"ABC"は
ローカルホスト:6379>デル・テスト
(整数)1ローカルホスト:6379>終了
2 filebeat
filebeatをアップロードし、設定を変更抽出
mkdir /usr/local/src/filebeat #上传压缩包 tar -zxvf filebeat-7.3.1-linux-x86_64.tar.gz cd filebeat-7.3.1-linux-x86_64 vim filebeat.yml
(パス:ログに対応する位置)
有効:真
パス:
- /tomcat/apache-tomcat-7.0.72/logs/*.out
multiline.pattern:^ [
multiline.negate:偽
multiline.match:後
(タグ:対応するサーバーインスタンス名の対応する量を置き換えるために展開するための変数TEMPLATE_TAG)
タグ:[ "192.168.192.10"]
コメントElasticsearch関連の設定
----------------------------- Redisの出力------------------- -------------
(キーを保存するのRedisキー変数の後に、アプリケーション・サーバー名を対応する対応する量を置き換えるために、展開のため)
output.redis:
ホスト:[ "localhostを:6379"]
デシベル:0
タイムアウト:5
キー: "プロジェクト名"================================グローバル================= ====================
filebeat.global:
filebeat.spool_size:64
filebeat.idle_timeout:5秒
スタート
./filebeat -e -c filebeat.yml
ロギングはRedisのされているかどうかを確認
redis-cli -h 本机IP #查看所有KEY keys * #查看日志长度 LLEN project-name #查看某一行日志 INDEX project-name 1
3 ElasticSearch
ダウンロードエキス
mkdir /usr/local/src/elasticsearch #上传压缩包 tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz
データを作成し、フォルダのESにログファイルを、設定ファイルを変更します
#对应配置里的数据和日志文件目录 mkdir /usr/local/src/elasticsearch/elasticsearch-7.3.1/data #mkdir /usr/local/src/elasticsearch/elasticsearch-7.3.1/logs vim config/elasticsearch.yml
cluster.name:私のアプリケーション
node.name:ノード-10
path.data:/usr/local/src/elasticsearch/elasticsearch-7.3.1/data
path.logs:/usr/local/src/elasticsearch/elasticsearch-7.3.1/logs
network.host:本机IP
たhttp.port:9200
discovery.seed_hosts:[ "本机IP"]
cluster.initial_master_nodes:[ "ノード-10"]Centos6は、次の2つSecCompの追加をサポートしていないので
bootstrap.memory_lock:偽
bootstrap.system_call_filter:偽検証がオン(パスワードを無視したくありません)
xpack.security.enabled:真
xpack.ml.enabled:真
xpack.license.self_generated.type:トライアル新elkuserユーザー(ESを開始するには、rootユーザーを使用しないように注意してください)
#创建用户 useradd elkuser #修改用户组和用户 cd /usr/local/src/elasticsearch chown -R elkuser:elkuser elasticsearch-7.3.1 #切换用户 su elkuser
スタート
./bin/elasticsearch
セットスタートアップパスワード
./bin/elasticsearch-setup-passwords interactive --verbose
-
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/apm_system/_password?prettyを
{}ユーザーのために変更したパスワード[apm_system]
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/kibana/_password?prettyを
{}ユーザーのために変更したパスワード[kibana]
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/logstash_system/_password?prettyを
{}ユーザーのために変更したパスワード[logstash_system]
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/beats_system/_password?prettyを
{}ユーザーのために変更したパスワード[beats_system]
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/remote_monitoring_user/_password?prettyを
{}ユーザーのために変更したパスワード[remote_monitoring_user]
ユーザーのパスワード変更コールしようとhttp://192.168.192.10:9200/_security/user/elastic/_password?prettyを
{}ユーザーのために変更したパスワード[弾性]
- ログインhttp://192.168.192.10:9200/ユーザー名:パスワード弾性(ジャスト設定):elkuser
ElasticSearch起動時の問題:
[1]:最大ファイルディスクリプタ[ elasticsearchプロセスのため4096]は低すぎる、少なくとも[65536]に増加
ルートに切り替え、以下の編集limits.confをを追加します(力を再起動する必要があります)
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
[2]:スレッドの最大数のユーザのために[3818] [ES]が低すぎる、少なくとも[4096]に増加
スレッドの最大数が低すぎます。設定ファイルなど/セキュリティ/ limits.confをを変更し、割り当てを増やします
* soft nproc 4096
* hard nproc 4096
[3]:最大仮想メモリ領域が vm.max_map_count [65530]少なくとも[262144]まで増加低すぎる
= 262144が割り当てvm.max_map_count増加、に/etc/sysctl.confファイルを修正する
vi /etc/sysctl.conf
sysctl -p
力コマンドのsysctl -pに来るを問題の原因:Centos6はSecCompをサポートしていないため、とES5.2.1デフォルトのbootstrap.system_call_filter検出trueに、ESに直接つながっ検出障害の原因となる障害後に開始することができません
ソリューション:bootstrap.system_call_filterでelasticsearch.ymlを設定falseで、注意以下のメモリへ:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
4 Logstash
ダウンロードエキス
mkdir /usr/local/src/logstash #上传压缩包 tar -zxvf logstash-7.3.1.tar.gz
プロフィールを作成
vim logstash.conf
入力{
Redisの{
ホスト=> "Redisの所在机器"
DATA_TYPE => "リスト"
ポート=> "6379"
キー=> "プロジェクト名"
タイプ=> "プロジェクト名"
}}
出力{
もし[タイプ==「プロジェクト名」] {
{elasticsearch
:ホスト=> "9200 ESどこのマシンを"
ユーザー=> "弾性"
パスワード=> "環境設定、パスワードがちょうどES"
CODEC => "JSON"
インデックス=>「プロジェクト名- %をYYYY.MM.DD} + { "
}}
}
スタート
bin/logstash -f logstash.conf
5 kibana
ダウンロードエキス
mkdir /usr/local/src/kibana #上传压缩包 tar -zxvf kibana-7.3.1-linux-x86_64.tar.gz cd kibana-7.3.1-linux-x86_64 mkdir logs #进入kibana配置下 cd config #修改配置文件 vim kibana.yml
server.port:5601
server.host: "ネイティブIP"
elasticsearch.hosts:[ " HTTP:// ESサーバーIP:9200 "]
kibana.index:" .kibana"
elasticsearch.username: "kibana"
elasticsearch.password: "ES環境kibanaパスワードの設定"
pid.file:/var/run/kibana.pid
logging.dest:/usr/local/src/kibana/kibana-7.3.1-linux-x86_64/logs/kibana.log
スタート(kibanaは、あなたがルートで始まる場合は、rootユーザーとして起動することは推奨されません、--allow-ルートを追加する必要があります)
bin/kibana #bin/kibana --allow-root (观察配置的日志)
(ユーザESを使用して)5601アクセスポート(以下は更新されず、使用基準)
ログインデックスを作成します。
ログ情報の量を確認してください