線上服務器負責匹配整理數據到 redis
中存儲,本地把 redis
裏的日誌文件再致使 ES
中。html
環境的前提是已經把 java 8
安裝好java
yum 軟件安裝後佔用大小node
如下以 centos7 yum
方式安裝linux
# yum search java-1.8.0 # #找到 java-1.8.0-openjdk-devel # yum install java-1.8.0-openjdk-devel # #添加環境變量 # vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin # #JAVA_HOME 須要替換成你服務器的目錄,cd /usr/lib/jvm/java + tab 進入,pwd 顯示全路徑 # #驗證 # java -version
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install elasticsearch
yum elasticsearch 安裝redis
配置shell
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/logstash.repo [logstash-7.x] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install logstash # #啓用慢處理 # yum install haveged # systemctl start haveged # #安裝服務 # cd /usr/share/logstash/bin # ./system-install /etc/logstash/startup.options systemd # vi /etc/logstash/logstash.yml node.name: test mkdir 755 /var/log/logstash chown logstash:logstash /var/log/logstash chown logstash:logstash /etc/logstash/startup.options # #啓用 # systemctl start logstash
yum logstash 安裝
添加 logstash 到windows 服務windows
FQA:centos
一、服務啓動不了服務器
經過查看系統日誌來查看錯誤,systemctl
啓動時沒有任何信息出來,經過 ps aux |grep logstash
查看有沒有進行啓動。也能夠經過 systemctl status logstash
查看狀態。信息中會出現最後一些中止的時候,咱們能夠判斷是否是報錯了,經過 /var/log/message
查看錯誤內容,若是不確認是否是當次的報錯可使用 tail -f /var/log/message
執行後回車留空幾行(在單獨一個窗口中)。再啓動 logstash
就能夠獲得錯誤信息。咱們只須要關注 [ERROR|error]
標識裏的 :message
信息便可併發
could not find java; set JAVA_HOME or ensure java is in PATH
二、匹配過的數據第二次就再也不進行匹配了
這是 logstash.sincedb
的做用。咱們須要在 pipeline.input.sincedb_path
中進行設置便可,linux 設置爲 "/dev/null"
,windows 設置成 "NUL"
便可不記錄處理歷史。
三、 Ignoring the 'pipelines.yml' file because modules or command line options are specified
這個問題是我手賤動配置致使的問題,logstash.yml 裏的 Pipeline Configuration Settings 下的配置不要動,會出上面的那個提示。(單個 pipeline 的時候感受不到問題,可是如何是多個就會出現失效的錯覺)
四、logstash 啓動慢設置
Note: 不知道是否是由於用了虛擬機的問題,感受運行速度沒有什麼變化。
五、ERROR No configuration found in the configured sources.
這個錯誤是由於你沒有 pipeline 而報的錯
六、爲何無論 linux 仍是 windows 服務都會出現重啓的問題
// TODO 未找到緣由
若是沒有用過的軟件,配置文件只動必需動的。不要軟件還沒能正常啓動就處處動配置(固然你自信對配置瞭如指掌能夠忽略),到時出錯調試到你頭禿。
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # vi /etc/yum.repos.d/kibana.repo [kibana-7.x] name=Kibana repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # yum install kibana
# 服務管理 任務管理器 -> 服務 -右鍵-> [啓動服務|中止服務] # 刪除服務 sc delete 服務名
由於是集中式日誌系統,咱們會有多臺服務器,每臺服務器都會監聽日誌文件,日誌文件的生成數量是不同的,這會形成併發高而致使 ES
寫入失敗。redis
在這裏的是起一個排隊的做用(起碼能保存能寫入完成再進行下一次寫入),還可使用 kafka
來代替,內存抗壓強,讀寫快。
若是 logstash.pipeline 沒有生成 sincedb
文件,會把日誌文件所有從新處理。已有則能夠刪除 sincedb
文件再啓動便可。