ELK&H3c監(jiān)控篇

ELK 更多的是用于做系統(tǒng)和應(yīng)用層的監(jiān)控匈棘, 網(wǎng)工用ELK的較少落剪,最近把幾百臺(tái)交換機(jī)的syslog,通過python腳本檀葛,全部指向了elk,這里整理一下ELK相關(guān)的配置。

一: 功能描述

ELK的功能這里簡(jiǎn)單描述一下腹缩, 具體的描述請(qǐng)參考google 或百度描述屿聋。

L:? logstash? :ELK的最后端工具空扎, 用來收集日志, 然后根據(jù)自定義的規(guī)則對(duì)收集到的日志信息進(jìn)行切片之類的操作润讥,使信息統(tǒng)一化標(biāo)準(zhǔn)化转锈。?

? ? ? ?在實(shí)際工作中, 比如你可以將apache的日志發(fā)送給ELK服務(wù)器的logstash,也可以將交換機(jī)的syslog發(fā)送給logstash,也可以將其他應(yīng)用的log日志發(fā)送給logstash. 很明顯楚殿,交換機(jī)的syslog和apache的log 的格式和關(guān)鍵字是不相同的撮慨, logstash在這里的功能就是將這些風(fēng)格迥異的日志統(tǒng)一收集匯總起來,然后按照某些規(guī)則進(jìn)行分類脆粥,進(jìn)行適當(dāng)?shù)臉?biāo)準(zhǔn)化和統(tǒng)一化砌溺,在這一基礎(chǔ)上, Elasticsearch才能完成下一步工作变隔。


2: elasticsearch? ELK的夾心層规伐, 本質(zhì)就是用來提供搜索功能。 試想當(dāng)海量的服務(wù)器和交換機(jī)弟胀,以及大量應(yīng)用的日志全部吐到ELK服務(wù)器上楷力, 由logstash統(tǒng)一存儲(chǔ)了, 現(xiàn)在你想 根據(jù)某一個(gè)關(guān)鍵字孵户, 比如error,? 你想看到所有? 包含? “error” .這一關(guān)鍵字的所有日志萧朝,這個(gè)時(shí)候需要的就是E? 來完成自已的功能了。

3: K: kibana, ELK 的最前臺(tái)夏哭, 前臺(tái)展示工具检柬。 L 完成了日志功能存儲(chǔ)分類, E負(fù)責(zé)搜索日志竖配, 那在哪里執(zhí)行搜索呢何址? 這就需要Kibanan來提供一個(gè)人性化的web前臺(tái)了。 通過web來對(duì)日志進(jìn)行展示和分析进胯。

本次安裝ELK只為了收集交換機(jī)日志用爪, 幾百臺(tái)交換機(jī)的日志對(duì)于服務(wù)器的要求并不高,所以本次部署胁镐,ELK全部基于一臺(tái)服務(wù)器完成偎血。

二: 安裝

CentOS Linux release 7.6.1810 (Core)

準(zhǔn)備工作:

1:基礎(chǔ)軟件安裝:

yum install wget lrzsz unzip

cd /etc/yum.repos.d/

wgethttp://mirrors.163.com/.help/CentOS7-Base-163.repo

mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS7-Base-163.repo CentOS-Base.repo

yum clean all && yum makecache? && yum update

yum install vim net-tools bash-completion wget unzip ntp bzip2 lrzsz -y

2:時(shí)區(qū)設(shè)置,kibana前臺(tái)展示的日志時(shí)間盯漂, 會(huì)有本機(jī)時(shí)間颇玷,這樣解決了 所有客戶端時(shí)間不準(zhǔn)的問題。

timedatectl set-timezone Asia/Shanghai

ntpdate pool.ntp.org

3: 關(guān)閉Selinx . 必須不解釋就缆。

sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config

4:關(guān)閉FW帖渠, 這個(gè)因人而異。

systemctl stop firewalld.service

systemctl disable firewalld.service

5:改主機(jī)名竭宰。

vi /etc/hostname


6空郊、修改系統(tǒng)文件描述符大小份招,必須改。

vim /etc/security/limits.conf



7狞甚、修改?vm.max_map_count值

vim /etc/sysctl.conf

最后添加:

vm.max_map_count = 655360

8:

安裝java支持:

unzip jdk-11.0.2_linux-x64_bin.rar

rpm -ivh? jdk-11.0.2_linux-x64_bin.rpm

reboot

本次安裝不使用yum安裝脾还, 原因在于后續(xù)的可復(fù)制性,如采用yum 安裝入愧, 假設(shè)當(dāng)前通過yum安裝的版本為7鄙漏,半年后,通過yum安裝的版本為7.6,相關(guān)配置可能就會(huì)產(chǎn)生變化棺蛛, 出現(xiàn)了問題又要重新排查怔蚌, 本次部署了兩臺(tái)服務(wù)器, 分別在兩地旁赊,因此采用tar包安裝桦踊。

另外, ELK 之間必須有版本匹配關(guān)系终畅, 比如說E你用的是version7, 但logstash用版本6籍胯,則無法完成安裝對(duì)接。

安裝ELA:

groupadd elasticsearch

useradd elasticsearch -g elasticsearch

tar -zxf elasticsearch-7.1.1-linux-x86_64.tar.gz

mv elasticsearch-7.1.1 elasticsearch

4离福、將elasticsearch目錄授權(quán)給elasticsearch用戶

chown -R elasticsearch:elasticsearch /opt/elasticsearch

5杖狼、修改elasticsearch配置文件

vim /opt/elasticsearch/config/elasticsearch.yml

修改配置文件有一點(diǎn)比較重要,你修改的內(nèi)容的每行妖爷,前面必須有一個(gè)空格蝶涩, 否則會(huì)報(bào)錯(cuò)。

改的內(nèi)容如下:

cluster.name: elk-master

node.name: node-1

path.data: /opt/elasticsearch/data

path.logs: /opt/elasticsearch/data

network.host: 192.168.1.165

其它網(wǎng)站改的內(nèi)容參考如下:

bootstrap.memory_lock: true ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 是否允許內(nèi)存swapping

discovery.zen.ping.unicast.hosts: ["IP", "IP", "IP"]? ? ? ? ? ? # 服務(wù)發(fā)現(xiàn)絮识,集群中的主機(jī)

discovery.zen.minimum_master_nodes: 2? ? ? ? ? ? ? ? ? ? ? ? ? # 決定了有資格作為master的節(jié)點(diǎn)的最小數(shù)量绿聘,官方推薦N/2 + 1

gateway.recover_after_nodes: 3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 少于三臺(tái)的時(shí)候,recovery

6次舌、切換到elasticsearch用戶啟動(dòng)elasticsearch

?su - elasticsearch

/opt/elasticsearch/bin/elasticsearch -d

可以先 /opt/elasticsearch/bin/elasticsearch 看啟動(dòng)報(bào)錯(cuò)


安裝logstash:

tar -zxf logstash-7.1.1.tar.gz

mv logstash-7.1.1 logstash

啟動(dòng)logstash:

看一下logstash有沒有正確安裝啟動(dòng):

bin/logstash -e 'input { stdin {} } output { stdout{} }'


掛載sw.conf文件熄攘, 并啟動(dòng)logstash,收集syslog日志:


/opt/logstash/bin/logstash -f /opt/logstash/config/sw.conf &

sw.conf如下:

input{

? ? tcp {port =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5002 type =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Cisco"}

? ? udp {port =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 514 type =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "HUAWEI"}

? ? udp {port =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5002 type =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Cisco"}

? ? udp {port =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5003 type =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "H3C"}

}

filter {

? ? if [type] ==

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "Cisco"{

? ? grok{

? ? match => { "message"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "<%{BASE10NUM:syslog_pri}>%{NUMBER:log_sequence}: .%{SYSLOGTIMESTAMP:timestamp}: %%{DATA:

facility}-%{POSINT:severity}-%{CISCO_REASON:mnemonic}: %{GREEDYDATA:message}" }

? ? match => { "message"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "<%{BASE10NUM:syslog_pri}>%{NUMBER:log_sequence}: %{SYSLOGTIMESTAMP:timestamp}: %%{DATA:f

acility}-%{POSINT:severity}-%{CISCO_REASON:mnemonic}: %{GREEDYDATA:message}" }

? ? add_field => {"severity_code"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "%{severity}"}

? ? overwrite => ["message"]

? ? }? ?

}

? ? else

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if [type] ==

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "H3C"{

? ? grok {

? ? match => { "message"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "<%{BASE10NUM:syslog_pri}>%{SYSLOGTIMESTAMP:timestamp} %{YEAR:year} %{DATA:hostname} %%%{

DATA:vvmodule}/%{POSINT:severity}/%{DATA:digest}: %{GREEDYDATA:message}" }

? ? remove_field => [ "year" ]

? ? add_field => {"severity_code"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "%{severity}"}

? ? overwrite => ["message"]

? ? }

}

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if [type] ==

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "HUAWEI"{

? ? grok {

? ? ? match => { "message"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "<%{BASE10NUM:syslog_pri}>%{SYSLOGTIMESTAMP:timestamp} %{DATA:hostname} %%%{DATA:ddModule

Name}/%{POSINT:severity}/%{DATA:Brief}:%{GREEDYDATA:message}"}

? ? ? match => { "message"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "<%{BASE10NUM:syslog_pri}>%{SYSLOGTIMESTAMP:timestamp} %{DATA:hostname} %{DATA:ddModuleNa

me}/%{POSINT:severity}/%{DATA:Brief}:%{GREEDYDATA:message}"}

? ? ? remove_field => [ "timestamp" ]

? ? add_field => {"severity_code"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "%{severity}"}

? ? overwrite => ["message"]

? ? }

}

mutate {

? ? ? ? gsub => [

? ? ? ? "severity", "0", "Emergency",

? ? ? ? "severity", "1", "Alert",

? ? ? ? "severity", "2", "Critical",

? ? ? ? "severity", "3", "Error",

? ? ? ? "severity", "4", "Warning",

? ? ? ? "severity", "5", "Notice",

? ? ? ? "severity", "6", "Informational",

? ? ? ? "severity", "7", "Debug"

? ? ? ? ]

? ? }

}

output{

? ? elasticsearch {

? ? ? ? index =>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "syslog-%{+YYYY.MM.dd}"

? ? ? ? hosts => ["192.168.1.165:9200"]

? ? }

}


安裝kibana:

tar -xzf kibana-7.1.1-linux-x86_64.tar.gz

版本號(hào)需要和Elasticsearch 相同

mv kibana-7.1.1-linux-x86_64 kibana

2.? 修改配置文件 kibana.yml

server.port: 5601? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # Kibana端口號(hào)

server.host: "IP"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # KibanaIP

elasticsearch.url: "http://esIP:port"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # es的IP地址及端口號(hào)

server.port: 5601

server.host: "192.168.1.165"

server.name: "elk-master"

elasticsearch.hosts: ["http://192.168.1.165:9200"]

elasticsearch.username: "root"

elasticsearch.password: "passsssworddddd"


i18n.locale: "zh-CN"? ?最后一行改一下彼念, kibana即可支持中文挪圾,無需漢化。

./bin/kibana -l /apps/product/kibana-6.2.2-linux-x86_64/logs/kibana.log &                    # 自己創(chuàng)建一個(gè)logs目錄用來記錄日志


logs/kibana.log? ?這個(gè)目錄及文件默認(rèn)是沒有国拇, 需要手動(dòng)創(chuàng)建洛史。

用http:xxxx:5601即可打開惯殊。


在交換機(jī)上酱吝,配置log info-center之類的, 把交換機(jī)的日志打過來土思,略务热。

配置kiabana:





第一步

搞一個(gè)索引出來:

只要你交換機(jī)或其他syslog正常吐到elk上忆嗜, 則可以看到類似下圖:



index 輸入?sysl*? ?, 下一步即可崎岂。

日志量排序:




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捆毫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冲甘,更是在濱河造成了極大的恐慌绩卤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件江醇,死亡現(xiàn)場(chǎng)離奇詭異濒憋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)陶夜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門凛驮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人条辟,你說我怎么就攤上這事黔夭。” “怎么了羽嫡?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵本姥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我杭棵,道長(zhǎng)扣草,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任颜屠,我火速辦了婚禮辰妙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甫窟。我一直安慰自己密浑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布粗井。 她就那樣靜靜地躺著尔破,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浇衬。 梳的紋絲不亂的頭發(fā)上懒构,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音耘擂,去河邊找鬼胆剧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的秩霍。 我是一名探鬼主播篙悯,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼铃绒!你這毒婦竟也來了鸽照?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤颠悬,失蹤者是張志新(化名)和其女友劉穎矮燎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赔癌,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漏峰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了届榄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浅乔。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铝条,靈堂內(nèi)的尸體忽然破棺而出靖苇,到底是詐尸還是另有隱情,我是刑警寧澤班缰,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布贤壁,位于F島的核電站,受9級(jí)特大地震影響埠忘,放射性物質(zhì)發(fā)生泄漏脾拆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一莹妒、第九天 我趴在偏房一處隱蔽的房頂上張望名船。 院中可真熱鬧,春花似錦旨怠、人聲如沸渠驼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迷扇。三九已至,卻和暖如春爽哎,著一層夾襖步出監(jiān)牢的瞬間蜓席,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工课锌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留厨内,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像隘庄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子癣亚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容