elk是elastic search, logstash和kibana三者的簡稱。
elastic search顧名思義是致力於搜尋,它是乙個彈性搜尋的技術平台,與其相似的有solr,二者的對比可參考下面這篇文章:
elastic search與solr選型
總結一下就是,如果你不喜歡夜店咖還是喜歡忠實可靠的老婆,那選elastic search準沒錯,何況他還有那麼一點美。目前運用es的案例也不少了,比如it屌絲們都愛的git hub以及我d痛恨的wiki。
kibana,呃,羔羊肉餅。估計作者是個洋鬼子北京情懷蜜吧,**寫多了,看著掉了一地的頭髮,想著要是能吃份東來順的銅鍋涮羊肉多好,然後取了這鬼名字吧。kibana主要是用於es分析和查詢。elk裡本來完全可以不用帶他的,用用es的head和bigdesk外掛程式也蠻好,不過kibana的管理和查詢用起來確實方便很多,人嘛,有槍炮用何必非要用刺刀,默默想到樓主的前東家。
那個奶媽形態的德魯伊就是logstash,agent只是logstash承擔的乙個角色,與此對應的是indexer。agent會分別將各自獲取的日誌作為輸入輸出到乙個訊息**(例如redis或者kafka),indexer會將訊息**作為輸入再輸出到es上,由es做indexing。其實logstash在整個過程中只負責輸入輸出,對logstash而言並沒有agent和index之分。如果日誌量小的話完全不需要設定indexer,直接將es作為agent的輸出源。
es不能以root許可權啟動。
樓主的環境;
10.0.250.90 9200 9300
10.0.250.90 9201 9301
10.0.250.90 9200 9300
第乙個埠是對外提供http服務的介面,第二個埠是集**換協議的埠。
cd /opt/elasticsearch-2.1.0/config
vim elasticsearch.yml
以10.0.250.90 9200 9300為例。
修改集群名稱,es預設通過廣播發現節點,所有在廣播裡宣告為同乙個集群名稱的節點都會被自動加入集群中。
cluster.name: es
設定節點名稱
node.name: es-node-2
````
此外可以通過node.master設定節點是否可以被推舉為leader以及node.data設定節點是否儲存索引資料。
節點的定製化屬性資訊,我把三個節點設成r1-r3
"se-preview-section-delimiter">
node.rack: r2
class="se-preview-section-delimiter">div>
path.data: /usr/local/data/
class="se-preview-section-delimiter">div>
path.logs: /var/log/es/
class="se-preview-section-delimiter">div>
bootstrap.mlockall: true
.0.1。可以通過transport.tcp.port設定項設定幾圈交換協議的埠。
1. 設定初始化時的發現列表,新節點會通過單播的方式發現列表裡的節點。
2. 設定有master資格的節點最小個數,低於這個個數可能會發生腦裂。es建議的個數是所有節點數/2+1。
所謂腦裂是指集群中有多個active的master節點,這樣就導致多個節點接管集群服務。舉個例子:
假設a,b,c三個節點都有master資格,a節點為active,其他未standby,但是a節點出了故障,這時b,c就要進行投票選出新的leader,此時的結果就可能會是b和c都互有兩票,量個節點都分別active。
這裡只是描述腦裂成因,和es的腦裂成因並不完全一樣,es的投票機制應該是類似於redis先到先得的那種。不過配置上最好遵從es的建議。
"se-preview-section-delimiter">
discovery.zen.ping.unicast.hosts: [「10.0.250.90:9300」, 「10.0.250.91:9300」]
discovery.zen.minimum_master_nodes: 2
class="se-preview-section-delimiter">div>
bin/elasticsearch
curl
curl /_nodes
推薦安裝head外掛程式,可以檢視集群狀態
class="se-preview-section-delimiter">div>
bin/plugin install mobz/elasticsearch-head
bigdesk外掛程式在當前版本上無法使用,因為es通過rest介面返回的json資料不標準,jquery會出parse錯誤。
通過瀏覽器訪問/_plugin/head
![節點狀態](
class="se-preview-section-delimiter">
div>
## kibana ##
我安裝在251主機上。
class="se-preview-section-delimiter">
div>
vim config/kibana.yml
class="se-preview-section-delimiter">div>
server.port: 5601
class="se-preview-section-delimiter">div>
elasticsearch.url: 「
class="se-preview-section-delimiter">div>
kibana.index: 「.eslogs」
class="se-preview-section-delimiter">div>
bin/kibana
class="se-preview-section-delimiter">div>
## logstash ##
.1.class="se-preview-section-delimiter">div>
bin/logstash -e 」
-e ''會預設以stdin作為輸入,以stdout作為輸出。
我在控制台輸入11111,控制台就輸出了格式化的輸出。
div>11111
class="se-preview-section-delimiter">div>
mkdir config
touch logstash-indexer.conf
vim logstash-indexer.conf
修改logstash-indexer.conf定義輸入源為stdin,輸出為stdout以及es.
div>input
} output
elasticsearch
}class="se-preview-section-delimiter">div>
bin/logstash -f config/logstash-indexer.conf -l /var/log/logstash/logstash.log
「` 輸入「hello this a test message」然後回車
在kibana那就能看到對應的日誌資訊
如何建設視覺化集中管理平台
隨著資訊化建設的不斷深入,新的業務資訊系統不斷上線,越來越多的業務應用需要資訊系統來實現,it架構的規模與複雜度也越來越高,對it管理提出了更高的要求。為了進一步提高it管理,需要建立資料中心的視覺化平台,來實現有效在同一平台管理及掌握資料中心全面狀況。視覺化平台是統一it管理系統的資料展現平台,也...
海量視覺化日誌分析平台之ELK搭建
elk是什麼?e elasticsearch 一款基於的lucene的分布式搜尋引擎,我們熟悉的github,就是由elastisearch提供的搜尋,據傳已經有10tb 的資料量。l logstash 一款分布式日誌收集系統,支援多輸入源,並內建一些過濾操作,支援多輸入元 k kibana 一款配...
pandas視覺化 取得資料的集中趨勢
資料的集中趨勢主要包含均值 一般均值 截尾均值 縮尾均值 幾何平均數 調和平均數 中位數 分位數 眾數。這裡嘗試用視覺化方法取得以上數值。除了部分輸入對話方塊需要鍵盤輸入數值,其餘都用滑鼠完成。部分運算結果 df cars.dist 眾數 moderesult mode array 26 dtype...