ELK

来源:互联网 发布:浙江日报撤资淘宝天下 编辑:程序博客网 时间:2024/06/07 22:00

业务场景的:日志的记录的,
APP应用的,
Win应用ERP,OA,CRM
百纳科技的源代码的ERP的,淘源码的,
服务器日志的
Tomcat,NGINX,HTTP
DB,MYSQL
接口 APIMan
产生大量的日志的。
E:ElasticSearch搜索引擎的,solr引擎的,不仅仅是搜索的,也可以作为存储的使用的。数据量在机器的评估范围内的。
L:logstash的,日志收集的。flume收集的
K:kibana展示页面的。一条一条的日志有时间戳的,ip地址,状态,放进ES中的,通过Kibana来进行显示的。
Nginx会记录访问的IP地址的,负载均衡的额,

ELK版本不统一的问题的,
HBase+Impala+solr技术方案
HBase+Phoenix的

ELK 日志易 对企业提供服务的。
Splunk 日志收集的
日志分析处理,功能应用于市场来说的,Splunk 日志易
更大的一家的,ELK的统一 https://www.elastic.co
对于公司来说是能不花钱的就是不要花钱的。
不花钱的日志收集是如何做的。。。。

Beats is a platform for lightweight shippers that send data from edge machines to logstash and elasticsearch
Beats是直接进行下载tar包的,
Kiban Visualize your data,Navigate the Elastic stack
ElasticSearch Search analyze and store your data

FileBeat:Log Files
MetricBeat:Metrics度量值收集
MySQL数据库收集用Zabbix的
搜索MetricBeat mysql kibana
使用ELK对Kafka做了一套监控的,没有上CDH环境的,只是Apache的。Apache的Kafka的监控并不是很优秀的。
ELK+Kafka的监控。
ELK+Kubernaetes收集
ELK+Mysql的收集
优秀员工奖

ELK+Beats
日志收集,通过Nginx网页刷新的,生成的access.log文件的日志的额,用Logstash进行收集的,发送的数据叫做index名称,key-value值,key为index的索引,value为access.log中的一行记录数的,发送到ElasticSearch进行存储的,报表展示的Kibana向ElasticSearch进行搜索的额,

公司的代码html都放在Nginx下面的,对外提供访问的,IP号+端口号的,
1.难点在Logstash端的,日志access.log是不是标准格式的话,进行过滤 筛选的
2.ElasticSearch端的,自带的是没有web界面的,装个Head插件的额,进行管理界面的,ElasticSearch由于是存储数据而作索引的额,要进行调优优化的,级别最高的,
Kibana就是配置参数而已的

elasticsearch-6.0.0.tar.gz
logstash-6.0.0.tar.gz
kibana-6.0.0-linux-x86_64.tar.gz

ElasticSearch5.0开始的时候是将各个版本进行统一处理的。。

add correct host key in /root/.ssh/known_hosts to get rid of this message,
删除本地的known_hosts文件的。
习惯性操作的是在删除文件之前要进行备份一次的。。。。。。备份重于一切的,

解压之后的tar包,用户组用户改变了,访问的时候可能有问题的,
ElasticSearch是集群模式的。
vim $ELASTICSEARCH_HOME/config/elasticsearch.yml
cluster.name yzjcluster
node.name hadoop-001
path.data:/opt/software/data
path.logs:/opt/software/logs
network.host: 192.168.1.1

bin/elasticsearch启动ElasticSearch服务的额,
进入到logs文件cluster.logs文件的 。
启动过ps -ef | grep elastic,通过命令来进行查看命令,进程服务是否存在的。

cat cluster.log
ERROR Exception java.lang.RuntimeException:can not run elasticsearch as root

useradd elkuser
chown -R elkuser:elkuser elasticsearch-6.0.0
su - elkuser
/home/elkuser直接关联到elasticsearch的家目录中的。

用root用户来进行修改的vim /etc/passwd
elkuser:x:516:516::/opt/software/elasticsearch-6.0.0:/bin/bash

su - elkuser
pwd===/opt/software/elasticsearch-6.0.0
将elkuser用户与项目的家目录进行关联起来的额,
tail -F cluster.log 用-F进行跟踪日志信息的。
日志文件达到200M进行切片的,-f当在切分日志的时候,会可能中断日志的信息的,而-F会有一个重试的机制的额,不会尽心断掉的。
-F –retry重试的机制的
-f就是实时的打印出来的

【4】bootstrap checks failed
[1]max file descriptors[4096]
for elasticsearch process is too low,increase to least [65536]
[2] max number of threads [1024]
for user [elkuser] is too low,increase to at least [4096]
[3] max virtual memory areas vm.max_map_count[65530] is too low
increase to at least [262144]
[4] system call filters failed to install,check the logs and fix your configuration or disable system call filters at your own risk
用root用户进行操作的,以上参数的设置的。
echo “* soft nofile 65535” >>/etc/security/limits.conf

echo “* hard nofile 131072” >>/etc/security/limits.conf

echo “elkuser soft nproc 4096” >>/etc/security/limits.conf

echo “elkuser hard nproc 4096” >>/etc/security/limits.conf

sysctl -w vm.max_map_count=262144
echo “vm.max_map_count=262144” >>/etc/sysctl.conf
sysctl -p使之生效的。
ulimit -a
open files (-n)1024
max user processes (-u)1024
这俩个参数必须是要进行重启的,reboot的。
su - elkuser
ulimit -a打印当前用户的信息的。

第四种错误一是要进行升级的,从centos6.x—->到centos7.x
二是disable禁用的,
vim $ELASTICSEARCH_HOME/config/elasticsearch.yml
Lock the memory on startup;
bootstrap.memory_lock:false
bootstrap.system_call_filter:false
不能用root用户进行启动的,

分析下启动的脚本的:
cat $ELASTICSEARCH_HOME/bin/elasticsearch
后台运行的方式,不会打印日志信息了。
bin/elasticsearch -d
ps -ef | grep ela看看进程有无起来的。
启动服务后,可以进入logs中进行查看ip和port的。

启动ElasticSearch后,命令如下:
curl -XGET ‘192.168.137.132:9200/?pretty’

ELK+Beats各种度量值的。
ELK的业务场景的额。
ELK中间一般有Redis进行缓冲的,
Logstash到Redis中的,Redis再到Logstash中作为Indexer的,然后再对接到Elasticsearch中的,
Using Redis as Buffer in the ELK stack
FileBeat对接到Redis,Redis再对接到Logstash中的,
启动ElasticSearch的时候报错,一是不能用root的用户进行启动的,二是四个小错误的额,linux的文件数,进程数目要针对具体的用户的启动的,swap的参数的设置。

搜索ELK redis

ElasticeSearch的官网文档的详细设计的说明的,搜索和存储的额,

Logstash:收集nginx的日志的,学习一个组件最重要的东西就是一些配置文件的额,部署和运维的角色的。
Configuring Logstash:
bin/logstash -f logstash-simple.conf
Nginx中的access.log日志由Logstash进行实时收集到Elasticsearch中的。

Logstash配置指向Nginx的:
nginx-1.8.0.tar.gz
在安装nginx之前,openssl pcre zlib都是需要进行先安装好的额,解压安装的顺序是没有顺序的,不会统一的。

scp *.tar.gz ip:/usr/local
第一个解压pcre:tar -zxvf
cd $PCRE_HOME
./configure进行一些环境变量的检查的。是否满足条件的。
make && make install 编译并且安装的。

解压zlib:解压
./configure
make && make install

解压openssl:
./config
make && make install

pcre zlib openssl都安装了,最后是nginx的:
解压nginx:./configure –prefix=/usr/local/nginx 源码包安装编译到哪个目录下面的。
./configure –prefix=/usr/local/nginx 需要指定之前编译安装的东西的额,–with-pcre=/usr/local/pcre-8.36 \
–with-zlib=/usr/local/zlib-1.2.8
openssl会读默认的路径的。。。

make && make install

Logstash的官网的阅读的,主要是配置信息的。
Logstash Configuration Examples
input {stdin{}}
filter{
grok{
match =>{“message”=>”%{}”}
}
date {
match =>{“timestamp”,”dd/”}
}
}

output {
elasticsearch{hosts=>[“localhost:9200”]}
stdout{codec=>rubydebug}当前的会话窗口的额,
}

bin/logstash -f logstash-fliter.conf

Nginx配置HTTPS的时候,是需要openssl的,但是正常的情况下是不需要的额,

Configuration summary:
using pcre library:/usr/local/pcre-8.36
openssl library is not used
md5 using system crypto library
sha1 using system crypto library
using zlib library:/usr/local/zlib-1.2.8

启动Nginx的,二进制包的
/usr/local/nginx/sbin/nginx启动即可的额,
/usr/local/nginx/sbin/nginx -t是查看状态的。状态是否ok的。
/usr/local/nginx/sbin/nginx -s reload表示的是重启nginx服务的。
ps -ef | grep nginx
进程在的,服务不一定ok的,有时候由于端口号是挂掉的

80端口号,https的服务的端口也是80的端口的额,
nginx的端口是80的,
service httpd stop的

可以进行修改nginx的端口号的:
vim /conf/nginx.conf
http{
server{
listen 888;
server_name localhost;
}
}

tail -F logs/access.log
HTML文件放入到Nginx中的,Nginx的负载均衡的,nginx可以记录哪个IP过来的,

爬虫高阶需要动态的IP操作的额,动态IP服务的,

业务紧缺,影响别人业务的,用户体验不好的,爬虫

vim logstash-6.0.0.0/logstash-nginx-access-log.conf
input {
file {
path=>[“/usr/local/nginx/logs/*.log”]
type=>”system”
start_position=>”beginning”
}
}
filter{
grok{
match=>{}
}
date {
match=>[“time”,”dd/MMM/YYYY:HH:mm:ss Z”]
locale=>en
}
}
output{
elasticsearch{
hosts=>[“192.168.137.131:9200”]
index=>”logstash-nginx-access-log”
}
stdout{codec=>rubydebug} //stdout输出到当前的会话窗口的,
}

ps -ef | grep elastic
netstat -nlp | grep 9200
后台启动的进程服务:
nohup bin/logstash -f logstash-nginx-access-log.conf &

tail -F nohup.out
kill -9 $(pgrep -f logstash)

free -m
top
ps -ef | grep 27130

解压kibana
vim $KIBANA_HOME/config/kibana.yml
server.host:”192.168.137.132”
elasticsearch.url:”http://192.158.137.132:9200”

bin/kibana启动Kibana服务:
192.168.137.132:5601启动的kibana服务的。
Management:管理就是创建ElasticSearch索引的名字的。
output{
elasticsearch{
hosts=>[“192.168.137.132:9200”]
index=>”logstash-nginx-access-log”
}
}

Index pattern:logstash-nginx-access-log会去Elasticsearch中校验有没有对应的索引名称的。
Time Filter field name:@timestamp

Discover:就是Kibana中的展示部分的。
Visualize:制作图表的
Dashboard:盘
timelion

看日志错误的额,捕获ERROR的图表的。ERROR的明细列表的信息。
ELK捕获异常信息的日志,try{}catch中的代码写到日志中的,通过ELK监控那个日志文件的,一旦日志有数据量上来的时候,曲线是上升的,监控发邮件的额,收到邮件登陆到ELK的web界面上 进行查看的。

ELK中的Elasticsearch部署多台机器就可以了,kibana一台的,Logstash收集哪里日志就部署哪里的额,logstash客户端的,哪里有 日志就部署哪里的。。。

Elasticsearch部署多台的,
vim $ELASTICSEARCH_HOME/config/elasticsearch.yml
cluster.name:
node.name:
network.host:

error while loading shared libraries:cannot open shared object file :no such file or directory
在–prefix后面接上一下的命令:
–with-pcre=/usr/local/pcre-8.36指的是pcre-8.36的源码路径的
–with-zlib=/usr/local/

停止httpd服务,启动nginx服务的,
Address already in use端口占用异常的时候,停止服务的
service httpd status
service httpd stop

nginx -s reload重启服务的
nginx -s stop停止服务的
测试配置文件是否正常的,
nginx -t的,
强制关闭的,pkill nginx
kill -9 $(pgrep -f nginx)

Elasticsearch是需要一个插件来进行管理的,进行web界面的管理的。

Kibana创建Elasticsearch索引的额,configure an index pattern正则模式的匹配的。

搜索ELK 地图
Geoip的组件的,描述地图的分布的情况。
使用ELK结合Geoip组件来进行描述综合性的地图的。
使用ELK结合Geoip来制作可视化的地图的
解析当前的IP是属于哪个省市的,
ip搜索
Geoip是ip的查询插件的,

Kibana和Grafana的优缺点,
Granfana也可以对接ElasticSearch的,
Kibana的邮件报警不是很好的,
dashboards 中的案例,都是别人写好的额,可以直接下载下来直接使用的,
https://grafana.com/dashboards/2292
nginx的配置文件的
logstash的配置文件的
output{
elasticsearch{
hosts=>”127.0.0.1:9200”
index=>”logstash-nginx-access-%{+YYYY.MM.dd}”
}
}
每一天做一个索引的。Elasticsearch优化是非常好的,索引量的评估的,

在线日志分析的spark项目的:v1版本的。

Dashboard Revisions

java mysql 增删改查
java 列表框
spark 数据倾斜 美团
多看多学习的,
key分布不均匀,大散,加些前缀的, key+前缀的,repartition
自己的笔记进行整理的,

文档文章按照配置即可的,动手做动手查,别无他法的。

坑的,大坑的额,2到3个,博客上的,千叮咛万嘱咐的,,,,

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 才, 我不是你的谁不能带给你安慰 带脉穴 带脉不通怎么调理 带脉减肥手法图 压脉带 带脉瘀堵湿气太重图片 带脉淤堵照片 人体血位图带脉位置图 敲带脉 带脉穴位位置图 抓带脉减肥具体手法 如何敲打带脉 敲带脉减肥多久见效 艾灸带脉可以减肥吗 敲带脉减肥的正确方法 找带脉的简单方法 怎样拍打带脉减肥 带脉穴的作用 带脉不通的身体表现 带脉穴位置 敲打带脉 女生带脉的准确位置图 带脉作用 带脉的准确位置 带脉不通 带脉是什么 带脉的作用 带脉的准确位置图 什么是带脉 男人有带脉吗 带脉减肥 怎么敲带脉 带脉不通怎么办 敲带脉的好处 敲带脉的时间 怎样敲打带脉 敲带脉能减肥吗 什么是敲带脉 敲带脉推腹减肥 带脉在哪里