目的:還原《learning ELK stack》第二章中的例子煞肾,學(xué)習(xí)timelion基本的使用方法命贴,完成時(shí)間序列的繪圖
環(huán)境unbuntu16恐疲,
注意:ELK中下載程序版本號(hào)要一致,否則可能不能使用
1套么、下載并安裝ELK工具
(1)安裝Elastic Search
? ? 從該網(wǎng)址下載最新的版本:https://www.elastic.co/downloads/elasticsearch
? 下載TAR版本培己,解壓,運(yùn)行:bin/elasticsearch
(2)安裝kibana
從該網(wǎng)址下載最新的版本:https://www.elastic.co/downloads/kibana
下載TAR版本胚泌,解壓省咨,運(yùn)行:bin/kibana
(3)安裝Logstash
從該網(wǎng)址下載最新的版本:https://www.elastic.co/downloads/logstash
下載TAR版本,解壓玷室,運(yùn)行:bin/logstash -f logstash.conf
注意:這里的logstash.conf需要根據(jù)實(shí)際情況進(jìn)行定制
2零蓉、獲取數(shù)據(jù)源
從該網(wǎng)址獲取google的歷史股票值:https://finance.yahoo.com/quote/GOOG/history?ltr=1
文件格式如下:
刪除:Date,Open,High,Low,Close,Adj Close,Volume
3、編輯logstash.conf文件
input{
? ? ? file{
? ? ? path => "/home//xxx/GOOG8.csv"
? ? ? start_position => "beginning"
}
}
filter{
? ? ? csv{
? ? ? columns => ["date_of_record","open","high","low","close","volume","adj_close"]
? ? ? separator => ","
}
? ? ? date{
? ? ? match => ["date_of_record","yyyy-MM-dd"]
}
? ? ? mutate {
? ? ? convert => ["open", "float"]
? ? ? convert => ["high", "float"]
? ? ? convert => ["low", "float"]
? ? ? convert => ["close", "float"]
? ? ? convert => ["volume", "integer"]
? ? ? convert => ["adj_close", "float"]
}
}
output {
? ? # tdout { codec => "rubydebug" }
? ? # 篩選過(guò)濾后的內(nèi)容輸出到終端顯示
? ? elasticsearch {? # 導(dǎo)出到es穷缤,最常用的插件
? ? ? ? #codec => "json"
? ? ? ? # 導(dǎo)出格式為json
? ? ? ? hosts => ["127.0.0.1:9200"]
? ? ? ? # ES地址+端口
? ? ? ? index => "logstash-new11-%{+YYYY.MM.dd}"? ? ?
? ? }
}
然后運(yùn)行:bin/logstash -f logstash.conf敌蜂,將數(shù)據(jù)輸入到elasticsearch中。
5津肛、在kibana中進(jìn)行時(shí)間序列的繪制章喉,使用Timelion完成
輸入:.es(index='logstash-new11-*',metric='avg:volume',timefield='@timestamp').lines(show=1)
解釋?zhuān)琺etric起到聚合分析的作用,由于每一時(shí)刻只有一個(gè)文檔身坐,并且只有一個(gè)值秸脱,那么平均值就是文檔中采集時(shí)刻的值
6、下載grafana
從該網(wǎng)址下載最新的版本:https://grafana.com/grafana/download
下載:wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.2.2_amd64.deb
sudo dpkg -i grafana_5.2.2_amd64.deb
使用說(shuō)明:http://docs.grafana.org/installation/debian/
啟動(dòng)grafana:sudo service grafana-server start
This will start the grafana-server process as the grafana user, which was created during the package installation. The default HTTP port is 3000 and default user and group is admin.用戶(hù)名和密碼默認(rèn)是:admin
(1)添加數(shù)據(jù)源
(2)添加dashboard
選擇graph
metric選擇“sum”即可出現(xiàn)值部蛇,選擇其它函數(shù)則不會(huì)出現(xiàn)值摊唇,但是改變Draw mode就可顯示,這是為什么涯鲁?
將Draw mode改成bar后數(shù)據(jù)即可顯示
7巷查、警告引擎和規(guī)則指南
來(lái)源:http://docs.grafana.org/alerting/rules/
警報(bào)只適用于Grafana v4.0及以上版本。5.2版本以后支持ES數(shù)據(jù)庫(kù)抹腿,要使用相關(guān)告警功能岛请,請(qǐng)下載最新的Grafana版本。
(1)簡(jiǎn)介
在Grafana中幢踏,警報(bào)(Alerting )允許您將規(guī)則附加到儀表板面板上髓需。當(dāng)您保存儀表板時(shí)许师,Grafana將把警報(bào)規(guī)則提取到一個(gè)單獨(dú)的警報(bào)規(guī)則存儲(chǔ)中房蝉,并安排它們進(jìn)行評(píng)估僚匆。
在圖形面板的alert選項(xiàng)卡中,您可以配置應(yīng)該評(píng)估警報(bào)規(guī)則的頻率搭幻,以及警報(bào)更改狀態(tài)和觸發(fā)其通知所需滿(mǎn)足的條件咧擂。
(2)執(zhí)行
警報(bào)規(guī)則是在一個(gè)調(diào)度器和查詢(xún)執(zhí)行引擎中的Grafana后端計(jì)算的,該引擎是core Grafana的一部分檀蹋。目前只支持一些數(shù)據(jù)源松申。他們包括Graphite, Prometheus, Elasticsearch, InfluxDB, OpenTSDB, MySQL, Postgres and Cloudwatch。
注意:對(duì)Elasticsearch的告警支持僅在Grafana v5.2或更高版本中可用俯逾。
(3)聚類(lèi)
目前的警報(bào)支持一種有限形式的高可用性贸桶。由于Grafana的v4.2.0,所以在運(yùn)行多臺(tái)服務(wù)器時(shí)桌肴,警報(bào)通知會(huì)被deduped皇筛。這意味著所有警報(bào)都在每個(gè)服務(wù)器上執(zhí)行,但是由于deduping邏輯坠七,不會(huì)發(fā)送重復(fù)的警報(bào)通知水醋。將來(lái)將引入適當(dāng)?shù)木瘓?bào)負(fù)載平衡。
(4)規(guī)則配置
目前只有圖形面板支持警報(bào)規(guī)則彪置,但這將在以后的版本中添加到Singlestat和表格面板拄踪。
(5)名稱(chēng)與評(píng)價(jià)間隔
在這里,您可以指定警報(bào)規(guī)則的名稱(chēng)以及調(diào)度程序計(jì)算警報(bào)規(guī)則的頻率拳魁。
(6)條件
目前唯一存在的條件類(lèi)型是查詢(xún)條件惶桐,它允許您指定查詢(xún)字母、時(shí)間范圍和聚合函數(shù)潘懊。
(7)查詢(xún)條件的例子
avg() OF query(A,5m,now) IS BELOW 14
(1)avg()控制如何將每個(gè)系列的值變成可以與閾值進(jìn)行比較的值耀盗。單擊該函數(shù)將其更改為另一個(gè)聚合函數(shù)。
(2)query(A, 5m, now) 卦尊。A這個(gè)字母定義了要從Metrics標(biāo)簽執(zhí)行什么查詢(xún)叛拷。第二個(gè)參數(shù)定義了時(shí)間范圍,5m岂却,Now,是5分鐘前到現(xiàn)在忿薇。你也可以做10 m,Now-2m來(lái)定義一個(gè)時(shí)間范圍躏哩,時(shí)間范圍是10分鐘前到2分鐘之前署浩。如果您想忽略最后2分鐘的數(shù)據(jù),這是非常有用的扫尺。
(3)IS BELOW 14定義閾值和閾值的類(lèi)型筋栋。您可以點(diǎn)擊下面的按鈕來(lái)更改閾值的類(lèi)型。
警報(bào)規(guī)則中使用的查詢(xún)不能包含任何模板變量正驻。目前我們只支持條件之間的AND和OR運(yùn)算符弊攘,它們是串行執(zhí)行的抢腐。
對(duì)GOOGLE股票的close設(shè)置閾值,并設(shè)置相關(guān)查詢(xún)條件襟交,出現(xiàn)告警:
相關(guān)的告警測(cè)試:
相關(guān)告警發(fā)送配置參考:https://blog.csdn.net/jailman/article/details/78920166迈倍;;捣域;https://blog.csdn.net/xiegh2014/article/details/79002607啼染;;https://blog.csdn.net/Jailman/article/details/78920166
8焕梅、配置Alerting告警
1迹鹅、修改grafana配置文件
sudo gedit /etc/grafana/grafana.ini
288:enabled = true
289:host = smtp.163.com:25
290:user = 你的郵箱名
292:password = *******
295:skip_verify = true
296:from_address = 你的郵箱名@163.com
379:execute_alerts = true
9、模板的使用
參考:http://www.bubuko.com/infodetail-2130749.html和https://segmentfault.com/a/1190000008897731
http://docs.grafana.org/features/datasources/elasticsearch/#templating
https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html
注意:在Elasticsearch升級(jí)到5.0以后贞言,去掉了原有的string類(lèi)型徒欣,添加了text和keyword類(lèi)型。其中text類(lèi)型適用于電子郵件正文蜗字、產(chǎn)品描述等需要進(jìn)行全文索引的信息打肝;而keyword適用于電子郵箱地址、主機(jī)名挪捕、網(wǎng)絡(luò)傳輸狀態(tài)碼粗梭、國(guó)際郵政編碼、標(biāo)記文件等能夠精確命中字段的信息级零。
(1)進(jìn)入dashbord的界面并點(diǎn)擊“setting”
(2)在“general”中進(jìn)行常規(guī)設(shè)置
(3)進(jìn)入“variables”進(jìn)行設(shè)置
重點(diǎn)在這里断医,{ "find" : "terms", "field" : "src_ip.keyword" },這里面一定要遵守json格式奏纪,花括號(hào)里的空格要留好鉴嗤,否則報(bào)錯(cuò),field字段必須后面要加一個(gè).keyword序调,否則出現(xiàn)不了數(shù)據(jù)
(4)進(jìn)入dashboard界面醉锅,更改查詢(xún)參數(shù)