分析:
业务场景:日志:
app应用
win应用 ERP OA CRM B/S C/S结构
服务器日志
Tomcat、NGINX、http
DB MySQL
对于日志收集、分析、处理并应用于市场:
嗅到商机的两家公司:日志易(纯ELK)、splunk公司。
常用的ELK其实是三款软件:
E:elasticsearch 搜索引擎 存储
L:logstash 日志收集 VS flume
K:kibana 展示
eg:日志进来后放到ES,通过kibana来显示。
Nginx会自动记录访问网址的IP,负载均衡。
注意elasticsearch:不光光可以做搜索,也可以作为存储来用,但是就数据量来说要一个可控范围,要在机器承受和我们评估范围内。
hbase+impala+solr
hbase+phoenix
二、elastic
zabbix mysql图,每分钟的insert update语句的值,zabbix呈现不是很好。
建议使用ELK做了一套对kafka的监控,对于Apache Kafka的监控。
eg:生产上所有服务器的数据都用ELK去收集。ELK+beats
三、Nginx日志收集
nigix --> access.log --> Logstash收集 后发送一个index名称 --> Elastic --> kibana
部署容易,难点:1、L端,格式标不标准,根据业务项目来书
2、E端:它安装好后无外部界面,需要装一个head插件才能有外部界面 *****
注意:elastic公司从5.0版本开始把ELK统一了。不管前面是什么版本,就懂5.0版本开始往后切,虽然名字是5.0;elastic公司把兼容性最好的版本拎出来,命名为5.0找人下
四、前置软件
- elasticsearch-6.0.0.tar.gz
- logstash-6.0.0.tar.gz
- kibana-6.0.0-linux-x86_64.tar.gz
如何下载:进入到这个网址
https://www.elastic.co/cn/downloads/elasticsearch,找到"Past Release",点击对应的软件下载版本,https://www.elastic.co/cn/downloads/past-releases/logstash-oss-6-0-0,均替换最后一行版本号下载即可。
前置所需软件安装包:
链接:https://pan.baidu.com/s/1e7phRY2MZU5Dxawrp548pA
提取码:zpw5
各个软件进行解压:
1、进入到elastic的config目录下,修改elasticsearch.yml配置文件
[hadoop@hadoop002 config]$ pwd
/home/hadoop/app/elasticsearch-6.0.0/config
[hadoop@hadoop002 config]$ ll
-rw-rw---- 1 hadoop hadoop 2854 Nov 11 2017 elasticsearch.yml
2、进行参数修改:
node:
cluster.name: my-application --> ruozedata_cluster
node.name: node-1 --> node.name: node132
path:
path.data: /path/to/data --> path.data:/home/hadoop/app/elasticsearch-6.0.0/data
network:
network.host: 192.168.0.1 --> network.host:10.0.0.132
3、启动elasticsearch:
bin/elasticsearch
启动完成后,在elasticsearch目录下会生成logs目录,
4、查看elastic有没有启动:
[hadoop@hadoop002 ~]$ ps -ef|grep ela
hadoop 3690 3653 19 04:01 pts/0 00:00:23 /usr/java/jdk1.8.0_45/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/home/hadoop/app/elasticsearch-6.0.0 -Des.path.conf=/home/hadoop/app/elasticsearch-6.0.0/config -cp /home/hadoop/app/elasticsearch-6.0.0/lib/* org.elasticsearch.bootstrap.Elasticsearch
hadoop 3820 3794 0 04:03 pts/2 00:00:00 grep ela
[hadoop@hadoop002 ~]$ curl -XGET '10.0.0.132:9200/?pretty'
{
"name" : "node132",
"cluster_name" : "ruozedata_cluster",
"cluster_uuid" : "Gtnwi-OLSEmsN1F7g0FSig",
"version" : {
"number" : "6.0.0",
"build_hash" : "8f0685b",
"build_date" : "2017-11-10T18:41:22.859Z",
"build_snapshot" : false,
"lucene_version" : "7.0.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}