CentOS7 安裝EFK(elasticsearch、fluent、kibana)進行Docker下日誌蒐集
Fluentd並非是專用於日誌檔案收集的,而是一個通用的資訊收集、整理、轉發的流式資料處理工具,日誌收集只是它十分典型的一個運用場景。重要的是,Fluentd的日誌收集功能對容器支援十分完備,遠遠勝於Logstash等傳統日誌收集工具。一方面得益於Fluentd社群開發了幾種專用於Docker日誌檔案的收集外掛,這些外掛能夠在Fluentd收集完Docker日誌以後自動為它加上容器相關的資訊,比較推薦其中的fluent-plugin-docker-metadata-filter這一款外掛,它提供的資訊頗為齊全。Logstash對於這方面依然比較空缺,GitHub上唯一能夠找到的一款社群外掛也已經在一年前就停止開發。另一方面,當前Docker官方支援的日誌驅動除了預設的使用本地目錄,還可以直接傳送到遠端的日誌儲存或日誌採集服務,而其中日誌採集服務目前僅僅支援Splunk和Fluentd,同樣沒有Logstash等老一輩開源日誌工具的蹤影。
安裝elasticsearch
安裝JDK或者openJDK(這裡以openJDK為例)
[[email protected] elk]# yum install java-1.8.0-openjdk -y
安裝elasticsearch
[root@elk elk]# wget -c https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.3/elasticsearch-2.3.3.rpm
[root@elk elk]# yum localinstall elasticsearch-2.3.3.rpm -y
.....
Installing : elasticsearch-2.3.3-1.noarch 1/1
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service
Verifying : elasticsearch-2.3.3-1.noarch 1/1
Installed:
elasticsearch.noarch 0:2.3.3-1
[root@elk elk]# systemctl daemon-reload
[root@elk elk]# systemctl enable elasticsearch
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
[root@elk elk]# systemctl start elasticsearch
修改防火牆,開放9200和9300埠
[[email protected] elk]# firewall-cmd --permanent --add-port={9200/tcp,9300/tcp}
success
[[email protected] elk]# firewall-cmd --reload
success
[[email protected] elk]# firewall-cmd --list-all
public (default, active)
interfaces: eno16777984 eno33557248
sources:
services: dhcpv6-client ssh
ports: 9200/tcp 9300/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
安裝kibana
安裝kibana的rpm包
[root@elk elk]# wget https://download.elastic.co/kibana/kibana/kibana-4.5.1-1.x86_64.rpm
[root@elk elk]# yum localinstall kibana-4.5.1-1.x86_64.rpm –y
[root@elk elk]# systemctl enable kibana
Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /usr/lib/systemd/system/kibana.service.
[root@elk elk]# systemctl start kibana
修改防火牆,對外開放tcp/5601
[[email protected] elk]# firewall-cmd --permanent --add-port=5601/tcp
Success
[[email protected] elk]# firewall-cmd --reload
success
[[email protected] elk]# firewall-cmd --list-all
public (default, active)
interfaces: eno16777984 eno33557248
sources:
services: dhcpv6-client ssh
ports: 9200/tcp 9300/tcp 5601/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
開啟瀏覽器測試訪問kibana的首頁http://192.168.10.143:5601/
安裝fluent
安裝前步奏
檢視當前最大開啟檔案數:
$ ulimit -n
1024
如果檢視到的是1024,那麼這個數值是不足的,則需要修改配置檔案提高數值
vi /etc/security/limits.conf
設定值如下
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
修改network引數
vi /etc/sysctl.conf
設定值如下
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
然後重啟系統
安裝fluentd
執行如下命令(命令將會自動安裝td-agent,td-agent即為fluentd)
$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
啟動td-agent
$ /etc/init.d/td-agent start
Starting td-agent: [ OK ]
$ /etc/init.d/td-agent status
td-agent (pid 21678) is running...
或者
$ systemctl start td-agent
$ systemctl status td-agent
簡單demo測試HTTP logs
$ curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test
安裝必要的外掛
$ /usr/sbin/td-agent-gem install fluent-plugin-elasticsearch
$ /usr/sbin/td-agent-gem install fluent-plugin-typecast
$ /usr/sbin/td-agent-gem install fluent-plugin-secure-forward
$ systemctl restart td-agent
配置td-agent,使docker生成的日誌輸出到elasticsearch
修改td-agent的配置
$ vi /etc/td-agent/td-agent.conf
修改內容為如下(這裡我沒有填寫埠,預設使用9200埠)
<source>
@type forward
port 24224
bind 0.0.0.0
</source>
<match alpine**>
@type elasticsearch
logstash_format true
flush_interval 10s # for testing
host 127.0.0.1
</match>
重啟td-agent
$ systemctl restart td-agent
啟動docker映象,這裡我使用alpine做測試
$ docker run --log-driver=fluentd --log-opt tag="{{.ImageName}}/{{.Name}}/{{.ID}}" alpine:3.3 echo "helloWorld"
檢查fluentd是否正常轉發資料
檢查td-agent日誌,如果最後出現如下一行,則表明正常連線elasticsearch
2016-09-02 12:01:10 +0800 [info]: Connection opened to Elasticsearch cluster => {:host=>"127.0.0.1", :port=>9200, :scheme=>"http"}
檢查elasticsearch儲存,使用如下命令
$ curl localhost:9200/_search?pretty
{
"took" : 472,
"timed_out" : false,
"_shards" : {
"total" : 6,
"successful" : 6,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : 1.0,
"hits" : [ {
"_index" : ".kibana",
"_type" : "config",
"_id" : "4.5.4",
"_score" : 1.0,
"_source" : {
"buildNum" : 10000
}
}, {
"_index" : "logstash-2016.09.02",
"_type" : "fluentd",
"_id" : "AVbpDs1fOf1yFl8aApNq",
"_score" : 1.0,
"_source" : {
"log" : "helloWorld",
"container_id" : "8c58cf5be57e9905215ea8f8cd677e48594a384c30a2842facb6563c3f32097c",
"container_name" : "/sleepy_elion",
"source" : "stdout",
"@timestamp" : "2016-09-02T12:00:59+08:00"
}
}, {
"_index" : "logstash-2016.09.02",
"_type" : "fluentd",
"_id" : "AVbpDskPOf1yFl8aApNp",
"_score" : 1.0,
"_source" : {
"log" : "helloWorld",
"container_id" : "8c58cf5be57e9905215ea8f8cd677e48594a384c30a2842facb6563c3f32097c",
"container_name" : "/sleepy_elion",
"source" : "stdout",
"@timestamp" : "2016-09-02T12:00:59+08:00"
}
} ]
}
}
檢視到剛剛插入的資料,則表明資料已經寫入到elasticsearch了
進入kibana建立索引
點選“create”,即可看到如下設定
修改查詢條件,則可檢視到寫入的資料
至此,EFK的安裝與測試則已經完成
相關推薦
CentOS7 安裝EFK(elasticsearch、fluent、kibana)進行Docker下日誌蒐集
Fluentd並非是專用於日誌檔案收集的,而是一個通用的資訊收集、整理、轉發的流式資料處理工具,日誌收集只是它十分典型的一個運用場景。重要的是,Fluentd的日誌收集功能對容器支援十分完備,遠遠勝於Logstash等傳統日誌收集工具。一方面得益於Fluentd社群開發
Elk叢集安裝+配置(Elasticsearch+Logstash+Filebeat+Kafka+Kibana)
一、部署環境 1.基礎環境: 軟體 版本 作用 Linux Centos7.1,16g Jdk 1.8.0_151
騰訊雲Centos7安裝lnmp(php7+mysql5.7+nginx1.14)全過程
安裝nginx 1、首先下載對應當前系統版本(Centos7)的nginx包(package) wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch
CentOS7安裝VNC(tigerVNC Server和tightVNC Viewer)
一、準備 VNC,Virtual NetworkConsole,虛擬網路控制檯。 VNC分伺服器和客戶端,伺服器需要安裝VNCServer,客戶端安裝VNC Viewer來訪問伺服器桌面。 VNC Server選擇Tigervnc,開源免費。 VNC
Centos6和Centos7上安裝LAMP(PHP-FPM模式、編譯安裝)
安裝 centos6 lamp -------------------------實驗:CentOS 7安裝LAMP(PHP-FPM模式)---------------------1、安裝PHP-FPM首先要卸載PHP: yum remove php yum install php-fpm
Docker安裝使用(拉取映象、新建容器、啟動容器、停止容器、刪除容器)
Docker操作相關命令 英文:https://docs.docker.com/engine/reference/commandline/docker/ 中文:http://www.runoob.com/docker/docker-command-manual.html 一、安
java專案生成安裝檔案(工具為exe4j、Inno setup,有工具連線)
今天做的是將java專案生成可安裝的exe檔案,一併將jre也打包進去了,這樣可以在沒安裝java虛擬機器的電腦上安裝使用該程式。下面介紹詳細步驟。新建一個資料夾,最好和專案名相同,然後將生成的jar檔案,exe檔案以及一些小圖示都放在資料夾中。 一、將java專案打包;
【開發工具】JAVA效能分析:1、超詳細的JProfiler安裝使用(具體資料分析見2)
一、JProfiler簡單介紹 JProfiler是由ej-technologies GmbH公司開發的一款效能瓶頸分析工具(該公司還開發部署工具)。 其特點: 1、使用方便,介面操作友好 2、對被分析的應用影響小 3、CPU,Thread,Memory分析功能尤其強大,支援對jdb
Centos7 安裝rabbitmq(轉載)
css b- word gre pack sys soft comm lasso 原文地址:http://blog.csdn.net/wenyu826/article/details/71108279 安裝Erlang 從鏈接https://packages.erlan
(三)CentOS7 安裝 haproxy (開啟預設監控介面......)
安裝 yum install haproxy 檢視版本號 haproxy -v 修改配置檔案為如下內容-->全覆蓋後,修改對應埠號即可(檔案位置:/etc/haproxy/haproxy.cfg) #---------------------------
Centos7編譯安裝ffmpeg(兩個字形容“噁心”)以及迴圈播放本地視訊命令
迴圈播放本地視訊 ffmpeg -re -stream_loop -1 -i /root/rtmp/video/sss.mp4 -vcodec copy -acodec copy -f flv rtmp://0.0.0.0:1935/live/test1 /root/rtmp/vi
微服務架構日誌集中化 安裝 EFK (Fluentd ElasticSearch Kibana) 採集nginx日誌
首先在nginx伺服器上執行以下操作. 安裝ruby http://blog.csdn.net/chenhaifeng2016/article/details/78678680 安裝Fluentd curl -L https://toolbelt.treasuredat
Linux-Centos7 下編譯安裝nginx (附nginx開機啟動指令碼)
1.安裝編譯所需環境: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.下載原始碼包(這裡用的是nginx-1.14.0) wget http://nginx.org/download/
Centos7 安裝nginx(稍後用來部署Django程式碼)
一、安裝準備 首先由於nginx的一些模組依賴一些lib庫,所以在安裝nginx之前,必須先安裝這些lib庫,這些依賴庫主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以執行如下命令安裝 $ yum in
centos7 安裝linux(爬坑篇)
第一、下載erlang和rabbitmq-server的rpm: http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm http://www.rabbitmq.com/releases/ra
centos7安裝Nginx(rpm)
1、下載對應當前系統版本的nginx包(package) nginx-release-centos-7-0.el7.ngx.noarch.rpm 2、建立nginx的yum倉庫 rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
CentOS7 安裝 oracleXE(快捷版)教程
1、下載安裝包 下載地址:http://www.oracle.com/technetwork/cn/database/database-technologies/express-edition/downloads/index.html 下載完之後上傳到L
CentOs7安裝gitlab(轉!)
轉自:https://www.cnblogs.com/chenfool/p/7689438.html 環境說明:虛擬機器 centos 7 64位記憶體:4GB儲存:100GBCPU: CORE 版本:gitlab 10.0.3 配置系統基礎環境 配置阿里巴巴 yum 源
centos7.2 lamp環境安裝搭建(基於阿里雲ECS伺服器)
centos7.2 lamp環境安裝搭建 centos7.2 + apache2.4.23 + mysql5.7.14 + php7.0.9 + phpMyAdmin4.6.3 這是我在一臺新裝的 centos7.2阿里雲ECS伺服器上搭建的lamp環境流程,目的是搭建一
centos7安裝Oracle12(完整版)
Oracle憑藉各種優勢,在一些大型企業應用非常廣泛,今天來分享一波Oracle12C 資料庫安裝過程,可以自己搭一個環境,練練手,學習學習。 首先說說我的搭建環境: centos 7 Oracle12c Oracle資料庫的安裝比較麻煩,但一般分為以下