記錄....配置ELK的全過程,其中 爲了方便配置和數據庫的連接,logstash安裝在物理機上,Elasticsearch 和Kibana安裝在docker中
(PS:主要是記錄過程,有些步驟帶主觀意味直接跳過,未做過多描述,有疑問的可以留言溝通!)
先決條件:
1.本機安裝java1.8 jdr,並添加到環境變量(具體安裝可以參考此篇文章:https://blog.csdn.net/zzq900503/article/details/9770237)
2.本機安裝docker環境(下載地址:https://www.docker.com/products/docker-desktop,具體安裝過程可以參考https://blog.csdn.net/vitaair/article/details/80894890)
配置過程
1.docker中安裝es:
在powershell 中鍵入 'docker pull elasticsearch:7.3.0'(注意小寫)
2.docker中安裝kibana:
在powershell 中鍵入 'docker pull kibana:7.3.0'(注意小寫)
3.windows安裝logstash
在官網下載:https://www.elastic.co/cn/downloads/logstash,下載完成後解壓在指定文件夾
圖例是本次安裝地址
啓動實例
1.docker創建Elasticsearch,Kibanam
powershell 中 鍵入 'docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.3.0'
創建名爲 es的Elasticsearch實例
powershell 中 鍵入 'docker run --name kibana730 -p 5601:5601 -d kibana:7.3.0'
創建名爲 es的Elasticsearch實例
完成後 鍵入'docker ps ' 查看創建好的實例
其中,這個地方需要對kibana做一個單獨的另外修改(踩過的坑!)
鍵入'docker exec -it kibana /bin/bash'進入創建的kibana實例內部
進入到目錄下,查看配置文件
鍵入 'cat kibana.yml'
將文件第一處紅框的內的ip地址修改成和圖例中一樣,同時新建第一處紅框中的內容(功能是:kibana漢化)
(PS:不知道怎麼修改linux文件內容的童鞋,百度查查對應的指令,本文不做過多贅述)
修改完成後,
鍵入 'docker stop kibana' 停止實例
然後
鍵入 'docker start kibana' 開啓實例
即可.
到這裏,ES和Kibana已經全部創建完成,
打開瀏覽器:
http://192.168.99.100:5601 查看kibana
http://192.168.99.100:9200 查看 es
2.使用logstash進行將數據存入ES實例中
導入SQL server和MySQL數據,需要引入相應的驅動包:
SQL server驅動包 --鏈接: https://pan.baidu.com/s/1rU4bZvlY3S70aoUmdqXGpw 提取碼: 2j13
MySQL驅動包--鏈接: https://pan.baidu.com/s/1FUGB6l4VFeSEc7CS0QbI3w 提取碼: yjwp
下載完成後將文件放在 logstash 的lib目錄下
(1).引入SQL server數據:
在logstash 的bin目錄下新建一個 TestMssql.conf 文本文件,輸入下列代碼
input {
jdbc {
jdbc_driver_library => "F:\logstash-7.3.1\lib\驅動包名"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://你的數據庫ip地址;databaseName=你的數據庫;"
jdbc_user => "登錄名"
jdbc_password => "密碼"
jdbc_default_timezone => "Asia/Shanghai"
statement => "要執行的語句"
}
}
}
output {
elasticsearch {
hosts => ["192.168.99.100:9200"]
index => "logstash-要創建的索引名"
}
}
按照中文提示,替換爲相應的實際代碼即可
(2).引入MySQL數據
在logstash 的bin目錄下新建一個 TestMssql.conf 文本文件,輸入下列代碼
input {
jdbc {
jdbc_driver_library => "F:\logstash-7.3.1\lib\驅動包名"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://你的數據庫ip地址/數據庫名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8"
jdbc_user => "你的登錄名"
jdbc_password => "你的密碼"
jdbc_default_timezone => "Asia/Shanghai"
statement => "要執行的代碼"
}
}
output {
elasticsearch{
hosts => ["192.168.99.100:9200"]
index => ["logstash-要創建的索引名"]
}
}
按照中文提示,替換爲相應的實際代碼即可
創建過後,使用powershell 在 logstash 的bin 目錄下 執行
'.\logstash -f .\相應的文件名'
即可完成對數據的導入
圖例(對每天登錄數據的次數進行聚合統計展示)