0%

也做数据分析

kibana可视化的分析平台,node.js

图标
dashboard 面板

beats  Golang


收集服务器信息
日志,监控指标,行为安全日志,网卡流量
match beats

多种beats 

packet beats

1.logstash
ETL服务端,支持数据源很多

四个产品合称Elastic Stack

2.x-pack
3.logstash 
千万下载量
The Dataflow Engine

开源的流式ETL引擎
自适应缓冲,水平伸缩性和弹性,有很大的并发了,峰值,消峰平
内置数据源,也可扩展数据源
插件丰富,三大部分,输入,处理,输出

支持的数据源,
日志文件,指标信息(服务器配置信息),数据库,redis, mongodb, mq, kafka,

4.分布式收集
logstash 集中数据,加工 -> elasticsearch
web应用,物联网,传感器,


5.管道结构,input
文件,告知路径,
不同格式,json,csv, 编码, Codes 设置解码器
TCP
UDP
HTTP

6.filter
Structure 结构化, nginx log ,访问时间,POST/GET, IP, agent;
字段独立,过滤,检索,比通过关键字检索更有效

Transform
tomcat和nginx时间格式可能不一样,需要存在一样,则标准化
Normalize
GeoIP Enrichment
IP解析为地理信息,做热点图,分析就很直观,用户分布图
External Lookup
CIDR & DNS Lookup
更结构化,表达性
7.Outputs
输出,不同源,
编码,json, csv

8.Resilient Data Transport
persistent queue
可靠性
持久化磁盘队列
At-least-once 交付保障和基于持久化队列的自适应缓冲
将错误事件发送到死信队列(dead letter queue)
用于离线处理和重放
9.动态管道
多条管道,数据流程
apache pipeline 
jdbc pipeline 
netflow pipeline 
互不影响

动态加管道,不需要重启

10.基本配置
input {
beats {
port => 5043
}
}

filter {
//转换单元, message字段转为小写
mutate { lowercase => {“message”} }  
}

output {
elasticsearch {}
}

11.事件
主要数据单元就是事件,文档类型,和JSON格式很像,支持任意层次结构和类型

{
“@timestamp” => ,
“message” => “bar”,
“some_” => {
“has_complex_values” => 123
}
}

12.执行模型
input -> queue(磁盘或内存) -> worker

13.管道可伸缩
支持多个input,多个worker,一个管道

14.多个管道
一个logstash进程,多个管道,处理不同的数据流
处理不同的业务逻辑
15.队列
memory queue
内存,快,
persistent queue
不丢失
16.至少一次交付
不是所有插件都支持,大部分支持,需要确认
非正常关闭的情况下,可能会运行worker不止一次,产生重复消息
幂等操作,唯一的标识,永远写相同的ID,
17.死信队列
第二次尝试还是失败
这些事件可被丢弃或者记录日志,或者发到死信队列
DLQ可以晚点再次重放
手动去做
18.DEMO
https://www.elastic.co/guide/en/logstash/current/index.html

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


https://github.com/elastic/examples/tree/master/Common%20Data%20Formats/nginx_logs


19.filter
上到下按顺序处理
grok 正则匹配

20. 
logstash
9600 可以监控

输出,stdout {  codec => dots {}}  输出 点点点
GET _cat/indices

_search

geoip IP算出坐标

模块的概念

https://www.elastic.co/guide/en/logstash/current/logstash-modules.html

Codecs 序列化


Line
Multiline 多行表示一个消息  Java调用栈
json_lines
json

解析/抽取

grok 
date


disset 
更高效的,不用正则,更快
kv {
    
}


mutate 数据类型转换,改名字,

split 

drop 丢弃消息

if/else
 =~ 

查找
geoip {
    fields => “my_geoip_field”
}
dns

useragent

translate {
    dictionary => [
    “100”, “Continue”,

]
elasticsearch
jdbc

jdbc_satic {}

}
21.监控和管理
Monitoring UI
pipeline viewer

心脏图标

https://www.elastic.co/guide/en/logstash/current/configuring-logstash.html

xpack.monitoring.elasticsearch.hosts: ["http://es-prod-node-1:9200", "http://es-prod-node-2:9200"] 
22.
  



data/registry/filebeat/data.json

1.Dokcer 介绍,应用
https://yeasy.gitbooks.io/docker_practice/introduction/what.html
优点:
轻量级虚拟化,对比虚拟机,几乎没有任何开销
部署环境方便
2.Docker相关概念
主机:运行docker软件的机器
Docker守护进程:运行在主机的进程,是客户端(主机命令行)沟通容器和仓库的桥梁
Registry :docker镜像仓库
镜像:类比虚拟机的镜像(像ISO文件)
容器:镜像运行时,类比虚拟机
3.分层思想
分层思想,相同的底层可以共享,节约磁盘空间
4.Docker命令
安装,配加速器,命令
http://xiaohuasheng.cc/post/82.html?title=centos7%E5%AE%89%E8%A3%85docker
5.Docker volume
容器之外的持久化存储

6.Docker-compose
基本架构:yml文件配置要运行的服务
https://blog.csdn.net/flcrai/article/details/78769905

7.学习笔记
http://xiaohuasheng.cc/post/87.html?title=docker%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0


ctrl + a 到行首
ctrl + e 到行末
ctrl + f forward 
ctrl + b backward 前后移动
Ctrl + u-- 删除当前位置字符至行首(输入密码错误的时候多用下这个)
Ctrl + k-- 删除当前位置字符至行尾

#在多个文件搜索
Ctrl+Shift+f
#跳到某行
Ctrl+g
#搜索文件
Ctrl+p 

rpm -qa | grep mysql
得到 mysql-community-server-5.7.27-1.el7.x86_64
rpm -ql mysql-community-server-5.7.27-1.el7.x86_64

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
systemctl start  mysqld.service
systemctl status  mysqld.service
grep "password" /var/log/mysqld.log
mysql -u root -p 


mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

es
./bin/elasticsearch-plugin install x-pack
kibana
./bin/kibana-plugin install x-pack
改es配置
xpack.security.enabled: false
否则访问kibana要登录
elastic
changeme

python --version
yum install gcc gcc-c++ -y
yum install openssl-devel -y
yum install zlib zlib-devel -y
yum install wget -y
wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
ls -l Python-2.7.16.tgz 
tar -zxvf Python-2.7.16.tgz
cd Python-2.7.16
./configure
make 
make altinstall
python2.7 --version
whereis python2.7
wget https://files.pythonhosted.org/packages/c2/f7/c7b501b783e5a74cf1768bc174ee4fb0a8a6ee5af6afa92274ff964703e0/setuptools-40.8.0.zip
ls
unzip setuptools-40.8.0.zip
cd setuptools-40.8.0
python2.7 setup.py install
wget https://files.pythonhosted.org/packages/36/fa/51ca4d57392e2f69397cd6e5af23da2a8d37884a605f9e3f2d3bfdc48397/pip-19.0.3.tar.gz
tar -zxvf pip-19.0.3.tar.gz
cd pip-19.0.3
python2.7 setup.py install
pip2.7 --version
cd
mkdir .pip
scp 192.168.0.8:/root/.pip/pip.conf /root/.pip
pip2.7 install -r requirements.txt
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
yum install mysql-devel
pip2.7 install -r requirements.txt

下载pip
https://pypi.org/project/pip/#files
https://files.pythonhosted.org/packages/8b/8a/1b2aadd922db1afe6bc107b03de41d6d37a28a5923383e60695fba24ae81/pip-19.2.1.tar.gz
解压,进入pip-19.2.1,此处打开命令行
python setup.py install
设置环境变量
C:\Python27\Scripts

清缓存要把 network  disable cache打开
不然ctrl+f5是清不掉缓存的