許多服務都會將事件紀錄寫成log檔做事後稽核,也有用syslog發送至syslogserver,很多時候內容都是文字檔,用zabbix這類型工具效果不佳,因此使用其他工具。
一樣同我在首章所講的選工具的方式,去看該類商用工具,再查相同類型是否有opensoft工具。
這裡我選擇使用elasticsearch
https://www.elastic.co/products/elasticsearch
elasticsearch是一個相當強大的收集平台,AWS上甚至不需要架Service直接提供服務
日誌分析,全文檢索搜尋,分散式文件存放,即時應用程式監控
https://aws.amazon.com/tw/elasticsearch-service/
去年鐵人賽也有介紹,利用docker架設
https://ithelp.ithome.com.tw/articles/10186153
以下在作業系統CentOS7依照Documentation架設
https://www.elastic.co/downloads/elasticsearch
安裝JAVA
yum -y install java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
設定repo(之後就能直接yum一路到底)
這是安裝6.0新版,接其他plung可能會有問題,先不要用這方式
vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
安裝Elasticsearch,設定網址,防火牆開9200
6.X
sudo yum install elasticsearch
5.6
yum install https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.5.rpm
設定檔改成外部IP方便界接
vi /etc/elasticsearch/elasticsearch.yml
network.host: <Server IP>
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
安裝Kibana,設定網址,到elasticsearch撈資料顯示儀錶板(之後再介紹用Grafana作),防火牆開5601
6.X
yum install kibana
5.6
yum install https://artifacts.elastic.co/downloads/elasticsearch/kibana-5.6.5.rpm
設定
vi /etc/kibana/kibana.yml
server.host: "<Server IP>"
elasticsearch.url: "<Server IP>:9200"
systemctl enable kibana.service
systemctl start kibana.service
安裝Filebeat(收集器),往elasticsearch送資料,其他beat安裝方式一樣,看需求安裝
https://www.elastic.co/downloads/beats/filebeat
yum install filebeat
vi /etc/filebeat/filebeat.yml
先設定收集本機log文件
- type: log
enabled: true
paths:
- /var/log/*.log
hosts指到elasticsearch Server IP
output.elasticsearch:
hosts: ["<Server IP>:9200"]
重啟
sudo systemctl enable filebeat
sudo systemctl start filebeat
開啟網頁連
Server的IP:9200/_cat/indices?v
開啟Server的IP:5601,到management連結ES的Index,輸入
filebeat-*
回到Discover可以看到資料進來了