ELK日志系統部署

作者:李建生
歸檔:部署文檔

第1章 安裝準備

由于Elasticsearch、Logstash、Kibana均不能以root賬號運行。
但是Linux對非root賬號可并發操作的文件、線程都有限制。
所以,部署ELK相關的機器都要調整:

1.1 安裝jdk

yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel  -y
[root@elk3 tools]# echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.51.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" >> /etc/profile 
[root@elk2 ~]# source  /etc/profile
[root@elk3 tools]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

1.2 修改文件限制

# 修改系統文件
vim /etc/security/limits.conf
#增加的內容
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096

1.3 調整進程數

#修改系統文件
vim /etc/security/limits.d/20-nproc.conf
#調整成以下配置
*          soft    nproc     4096
root       soft    nproc     unlimited

1.4 調整虛擬內存&最大并發連接

#修改系統文件
vim /etc/sysctl.conf
#增加的內容
vm.max_map_count=655360
fs.file-max=655360
vm.max_map_count=262144

1.5 創建普通用戶

groupadd elsearch  
useradd elsearch -g elsearch -p 123456
chown -R elsearch.elsearch /server/tools/elasticsearch-6.2.3

1.6 創建日志和數據目錄

mkdir -p /var/data/elasticsearch &&  chown -R elsearch.elsearch /var/data/elasticsearch
mkdir -p /var/log/elasticsearch &&   chown -R elsearch.elsearch /var/log/elasticsearch

第2章 部署ELK

Elasticsearch是一個高度可擴展的開源全文搜索和分析引擎。它允許您快速,近實時地存儲,搜索和分析大量數據。它通常用作支持具有復雜搜索功能和需求的應用程序的底層引擎/技術。

2.1 安裝elasticsearch

2.1.1 配置elasticsearch配置文件

cat >/server/tools/elasticsearch-6.2.3/config/elasticsearch.yml <<END
cluster.name: ES
node.name: ES0
path.data: /var/data/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 10.0.0.19
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["10.0.0.19:9300", "10.0.0.21:9300","10.0.0.22:9300"]
discovery.zen.minimum_master_nodes: 2
END
cat >/server/tools/elasticsearch-6.2.3/config/elasticsearch.yml <<END
cluster.name: ES
node.name: ES1
path.data: /var/data/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 10.0.0.21
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["10.0.0.19:9300", "10.0.0.21:9300","10.0.0.22:9300"]
discovery.zen.minimum_master_nodes: 2
END

cat >/server/tools/elasticsearch-6.2.3/config/elasticsearch.yml <<END
cluster.name: ES
node.name: ES2
path.data: /var/data/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 10.0.0.22
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["10.0.0.19:9300", "10.0.0.21:9300","10.0.0.22:9300"]
discovery.zen.minimum_master_nodes: 2
END

2.1.2 啟動

elsearch@elk1 elasticsearch-6.2.3]$ ./bin/elasticsearch -d #后臺啟動

2.2 安裝配置Logstash

2.2.1 安裝準備

[root@elk3 ~]# mkdir -p /server/tools
[root@elk3 ~]# cd /server/tools/
[root@elk3 tools]# tar xf  kibana-6.2.3-linux-x86_64.tar.gz 
[root@elk3 tools]# tar xf  logstash-6.2.3.tar.gz
groupadd elsearch  
useradd elsearch -g elsearch -p 123456
chown -R elsearch.elsearch /server/tools/

2.2.2 配置Logstash

數據&日志目錄
#創建Logstash數據目錄
#創建Logstash日志目錄
mkdir -p /var/data/logstash &&  chown -R elsearch.elsearch /var/data/logstash
mkdir -p /var/logs/logstash &&   chown -R elsearch.elsearch /var/logs/logstash
配置數據&日志目錄
#打開目錄
cd /server/tools/logstash-6.2.3/
#修改配置
vim config/logstash.yml
#增加以下內容
path.data: /var/data/logstash
path.logs: /var/logs/logstash
配置Redis&Elasticsearch
[root@elk3 config]# cat system.conf 
input {
    file {
        path => "/var/log/*"
        type => "system"
        start_position => "beginning"
    }
}
output {
    elasticsearch {
        hosts => ["10.0.0.21:9200","10.0.0.19:9200","10.0.0.22:9200"]
        index => "system-%{+YYYY.MM.dd}"
    }
}
[root@elk3 config]#


注:該配置就是從redis中讀取數據,然后寫入指定的elasticsearch

2.2.3 啟動logstash

切換普通用戶
[root@elk3 config]# su - elsearch
#進入Logstash根目錄
[elsearch@elk3 ~]$ cd /server/tools/logstash-6.2.3/
#啟動
/bin/logstash -f config/system.conf
啟動成功后,在啟動輸出的最后一行會看到如下信息:
[2018-04-03T10:54:35,819][INFO ][logstash.pipeline        ] Pipeline started succesfully {:pipeline_id=>"main", :thread=>"#<Thread:0x15a6d6d9 run>"}
[2018-04-03T10:54:36,086][INFO ][logstash.agent           ] Pipelines running {:count=>1, :pipelines=>["main"]}

2.3 Kibana 配置

2.3.1 安裝準備

[root@elk3 tools]# tar xf kibana-6.2.3-linux-x86_64
chown elsearch:elsearch /server/tools/kibana-6.2.3-linux-x86_64

2.3.2 修改配置

#進入kibana根目錄
cd /server/tools/kibana-6.2.3-linux-x86_64
#修改配置
vi config/kibana.yml
#修改以下內容
[root@elk3 kibana-6.2.3-linux-x86_64]# egrep -v "^#|^$" config/kibana.yml 
server.port: 5601
server.host: "10.0.0.24"
elasticsearch.url: "http://10.0.0.21:9200"
[root@elk3 kibana-6.2.3-linux-x86_64]#

2.3.3 啟動

切換普通用戶啟動
[root@elk3 kibana-6.2.3-linux-x86_64]# su - elsearch 
 [elsearch@elk3 ~]$ cd /server/tools/kibana-6.2.3-linux-x86_64/
[elsearch@elk3 kibana-6.2.3-linux-x86_64]$ bin/kibana

2.3.4 瀏覽器訪問

http://10.0.0.24:5601

第3章 Filebeat配置

系統Filebeat模塊收集并分析由基于Unix / Linux的常見發行版的系統日志記錄服務創建的日志。

3.1 安裝

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.3-x86_64.rpm
rpm -vi filebeat-6.2.3-x86_64.rpm
安裝插件
bin/elasticsearch-plugin install ingest-geoip
bin/elasticsearch-plugin install ingest-user-agent

3.2 修改/etc/filebeat/filebeat.yml以設置連接信息

output.elasticsearch:
  hosts: ["<es_url>"]
  username: "elastic"
  password: "<password>"
setup.kibana:
  host: "<kibana_url>"

3.3 啟用并配置系統模塊

filebeat modules enable system
修改/etc/filebeat/modules.d/system.yml文件中的設置。

3.4 啟動Filebeat

filebeat setup
systemctl restart filebeat.service

3.5 配置nginx和mysql日志查詢

#vim /etc/filebeat/modules.d/mysql.yml
- module: mysql
  # Error logs
  error:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/data/mysql/czypweb.err*"]

  # Slow logs
  slowlog:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
var.paths: ["/data/mysql/mysql-slow.log*"]
#vim /etc/filebeat/modules.d/nginx.yml

- module: nginx
  # Access logs
  access:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/usr/local/openresty/nginx/logs/access.log*"]

  # Error logs
  error:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/usr/local/openresty/nginx/logs/error.log*"]
修改filebeat配置文件開啟模塊功能

第4章 System metrics

系統Metricbeat模塊從主機收集CPU,內存,網絡和磁盤統計信息。它收集系統范圍的統計信息以及每個進程和每個文件系統的統計信息。

4.1 下載

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.2.3-x86_64.rpm
sudo rpm -vi metricbeat-6.2.3-x86_64.rpm

4.2 配置

/etc/metricbeat/metricbeat.yml
metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
  reload.period: 10s
output.elasticsearch:
  hosts: ["<es_url>"]
  username: "elastic"
  password: "<password>"
setup.kibana:
  host: "<kibana_url>"

4.3 啟用并配置系統模塊

metricbeat modules enable system

4.4 啟動Metricbeat

metricbeat setup
service metricbeat start
systemctl enable metricbeat.==service開機自啟==
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容