ELK日志分析系统部署
一、环境设置
node1 192.168.10.10
node2 192.168.10.20
关闭防火墙
systemctl stop firewalld
setenforce 0
配置elasticsearch环境
hostnamectl set-hostname node1 #更改主机名
su
echo -e \
"192.168.10.10 node1
192.168.10.20 node2">>/etc/hosts
java -version
二、#【部署elasticsearch软件】
1安装elasticsearch-rmp包
#上传elasticsearch-rpm包
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
2#加载系统服务
systemctl daemon-reload
systemctl enable elasticsearch.service
3#更改elasticsearch主配置文件
cd /opt
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
17/cluster.name:my-elk_data ##集群名字
23/node.name:node1 ##节点名称
33/ path.data:/data/elk_data #数据存放路径
37/path.logs:/var/log/elasticsearch/ ##日志存放路径
43/bootstrap.memory_locak:false ##不在启动时锁定内存
55/network.host:0.0.0.0 #提供服务绑定的IP地址,0.0.0.0代表所有地址
59/http.port;9200 ##监听端口为9200
68/discovery.zen.ping.unicast.hosts:["node1","node2"] #群集发现通过单播实现
查看开启的功能
grep -v "^#" /etc/elasticsearch/elasticsearch.yml
4创建数据存放路径并授权
cd /opt
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data
5启动elastcisearch是否成功开启
systemctl stop firewalld
setenforce 0
systemctl start elasticsearch.service
netstat -napt | grep 9200
6查看节点 用真机的浏览器打开http://192.168.10.10:9200
查看健康状况http://192.168.10.10:9200/_cluster/health?pretty
192.168.10.20节点
三、【安装elastcisearch-head插件】上述查看集群的方式,不方便,可以通过安装elastcisearch-head插件后,来管理集群
node1主机
上传node-v8.2.1.taar.gz到/opt
1编译安装node组件依赖包 40多分钟
yum install -y gcc gcc-c++ make
cd /opt
tar zxvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure
make -j3
make install
2##安装phantomjs 前端框架
上传phantomjs包到/usr/local/src
cd /usr/local/src
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
4##安装elasticsearch-head ##数据可视化工具
上传elasticsearch-head包到/usr/local/src
cd /usr/local/src
tar zxvf elasticsearch-head.tar.gz -C /usr/local/src/
cd elasticsearch-head/
npm install
5##修改主配置文件
cd ~
echo -e \
"http.cors.enabled: true
http.cors.allow-origin: \"*\" ">>/etc/elasticsearch/elasticsearch.yml
systemctl restart elasticsearch.service
6启动elasticsearch-head
cd /usr/local/src/elasticsearch-head/
npm run start& #切换到后台运行
netstat -lnupt| grep 9100
netstat -lnupt | grep 9200
7创建索引
curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
四、安装配置logstash
192.168.10.40
1更改主机名
hostnamectl set-hostname apache
2安装apache服务
yum install -y httpd
systemctl start httpd
3安装Java环境
java -version #查看有没有安装 没有 yum -y install java
4安装logstash
上传logstash-5.5.1.rpm到/opt
cd /opt
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/bin/
5logstash (apache) 与elasticsearch (node)功能是否正常,做对接测试
logstash测试命令
字段描述:
-f 通过此选项可以指定logstash的配置文件,根据配置文件配置logstash
-e 后面跟着字符串,该字符串可以被当做logstash的配置 (如果是 “ ”,则默认使用stdin作为输入,stdout作为输出)
-t 测试配置文件是否正确,然后退出
6输入采用标准输入 输出采用标准输出–登录192.168.10.40在apache服务器上
logstash -e 'input { stdin{} } output { stdout{} }'
www.baidu.com ##输入www.baidu.com
7使用rubydebug显示详细输出,nodec为一种编译器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
##使用logstash将信息写入elasticsearch中## 输入 输出 对接
logstash -e 'input { stdin{} } output { elasticsearch {hosts=>["192.168.10.20:9200"]} }'
www.baidu.com ##输入内容
8 打开浏览器输入http://192.168.20.10:9100 #查看索引
多出logstash-2020.09.15
点击浏览器查看相应内容
登录192.168.10.40apche主机 做对接配置
9##logstash配置文件
logstash配置文件主要有三部分组成:input output filter(根据需要)
chmod o+r /var/log/messages
ll /var/log/messages
-rw-----r--
vim /logstash/conf.d/system.conf
input {
file{
path => "/var/log/messages"
type => "system"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.10.10:9200"]"
index => "system-%{+YYY.MM.dd}"
}
}
systemctl restart logstash.service
10浏览http://192.168.10.10:9100 查看索引信息
node1主机192.168.10.10
五、安装kibana
上传kibana-5.5.1-x86-64.rpm到/usr/local/src目录
cd /usr/local/src/
rpm -ivh kibana-5.5.1-x86_64.rpm
cd /etc/kibana/
cp kibana.yml kibana.yml.bak
vim kibana.yml
2/server.host:5601 #kibana打开的端口
7/ server.host: "0.0.0.0" #kibana监听地址
21/ elasticsearch.url: "http://192.168.10.10:9200" ##和elasticsearch建立联系
30 /kibana.index: ".kibana" ##在elasticsearch 中添加.kibana的索引
systemctl start kibana.service
systemctl enable kibana.service
访问192.168.10.20:9100
-
“http://192.168.10.10:9200” ##和elasticsearch建立联系
30 /kibana.index: “.kibana” ##在elasticsearch 中添加.kibana的索引
systemctl start kibana.service
systemctl enable kibana.service
![mark](https://i-blog.csdnimg.cn/blog_migrate/b571c0d1f89d67915d2d8aa11ba749c3.png)
访问192.168.10.20:9100
[外链图片转存中...(img-BMvgKAJW-1600166403798)]
[外链图片转存中...(img-cPjtLb1K-1600166403799)]
![mark](https://img-service.csdnimg.cn/img_convert/ce24319c9d4f6681b9749e97b98a9440.png)