ELK搭建

来自CloudWiki
Heart讨论 | 贡献2020年8月12日 (三) 14:22的版本 ELK搭建
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

ELK搭建

安装相关工具 安装xshell上传下载工具
yum -y install lrzsz # lrzsz安装命令
rz # 上传命令
sz # 下载

安装zip、unzip解压缩工具
yum install zip unzip# 安装命令
压缩和解压文件

安装Python2的pip模块
(Elastalert 0.1.39版本以下需要安装Python2)
① yum install python-devel
② yum -y install epel-release
③ yum -y install python-pip
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
目前如果你在python.org下载最新版本的安装包,则是已经自带了该工具。
Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
pip 官网:https://pypi.org/project/pip/
或者
① 下载压缩包:https://pypi.org/project/pip/#files
② 上传到服务器解压:tar -zvxf pip-19.1.1.tar.gz
③ 进入解压出来的目录:cd pip-19.1.1
④ 安装:python setup.py install
⑤ 测试 java -version

pip版本升级:pip install --upgrade pip
pip安装软件:pip install 包名 或者 python3 -m pip install 包名

安装Python3(且不影响python2)
(Elastalert 0.2版本以下的不需要Python3)
① 安装依赖
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
(3.7以上需要libffi-devel)
② 下载Python3源码压缩包https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
③ 上传解压:tar zxvf Python-3.7.4.tgz
④ 编译安装:
cd Python-3.7.4
./configure --prefix=/usr/local/python3 (编译之后的文件存放处,可根据喜好设置)
make && make install
⑤ 创建软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
⑥ 测试 java -version

pip版本升级:pip3 install --upgrade pip
pip安装软件:pip3 install 包名 或者 python3 -m pip install 包名


安装Elasticsearch

环境准备:
修改文件限制 vim /etc/security/limits.conf

  1. 增加的内容
  • soft nofile 262144
  • hard nofile 262144
  • soft nproc 262144
  • hard nproc 262144
  1. 锁内存
  • soft memlock unlimited
  • hard memlock unlimited

备注:* 代表Linux所有用户名称
保存、退出、重新登录才可生效

调整虚拟内存&最大并发连接 vim /etc/sysctl.conf

  1. 增加的内容

vm.max_map_count=262144
fs.file-max=262144

用root账号执行“sysctl -p”

① 下载解压elasticsearch
② 编辑配置文件:vim config/elasticsearch.yml
cluster.name: es-zegopay
node.name: es-1.1
path.data: /elk/es/data
path.logs: /elk/es/logs
bootstrap.memory_lock: true
network.host: 192.168.1.1
http.port: 9200


配置项说明:

项 说明
cluster.name 集群名
node.name 节点名
path.data 数据保存目录
path.logs 日志保存目录
network.host 节点host/ip
http.port HTTP访问端口
bootstrap.memory_lock 锁定内存(要相应更改/etc/security/limits.conf文件)
discovery.seed_hosts 集群中种子节点的初始列表,启动时使用这个列表进行探测
cluster.initial_master_nodes 集群初始化的主节点列表

③ 开放端口:
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload

④ 创建ELK专用用户(Elasticsearch不能用root用户启动):useradd elk

  1. 创建ELK APP目录

mkdir /usr/local/elk

  1. 创建ELK 数据目录

mkdir /elk

  1. 创建Elasticsearch主目录

mkdir /elk/es

  1. 创建Elasticsearch数据目录

mkdir /elk/es/data

  1. 创建Elasticsearch日志目录

mkdir /elk/es/logs

  1. 移动Elasticsearch到/usr/local/elk目录下

mv elasticsearch /usr/local/elk

  1. 更改目录Owner

chown -R elk:elk /usr/local/elk
chown -R elk:elk /elk

⑤ 切换账号:su elk

⑥ 运行bin文件夹里的elasticsearch

最后在浏览器输入ip+9200:
2020-08-12 212126.png

安装Kibana
英文文档:https://www.elastic.co/guide/en/kibana/7.0/index.html
中文文档:https://www.elastic.co/guide/cn/kibana/current/index.html

① 下载解压kibana-7.2.0-linux-x86_64.tar.gz可参考安装Java的步骤

② 编辑配置文件:vim config/kibana.yml
server.port: 5601
server.host: "192.168.1.1"
server.name: "Zegopay-Kibana"
elasticsearch.hosts: ["http://192.168.1.1:9200"]
pid.file: /usr/local/elk/kibana/config/kibana.pid
i18n.locale: "zh-CN"

③ 开放端口:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload

④ 运行bin文件夹里的kibana

⑤ 添加自定义系统服务:vim /usr/lib/systemd/system/kibana.service
复制粘贴以下内容并保存退出:
[Unit]
Description=The kibana-server Process Manager
After=syslog.target network.target

[Service]
Type=simple
User=elk
Group=elk
PIDFile=/usr/local/elk/kibana/config/kibana.pid
ExecStart=/usr/local/elk/kibana/bin/kibana
Restart=on-failure

[Install]
WantedBy=multi-user.target

安装Logstash
① 切换账号:su elk

  1. 创建Logstash主目录

mkdir /elk/logstash

  1. 创建Logstash数据目录

mkdir /elk/logstash/data

  1. 创建Logstash日志目录

mkdir /elk/logstash/logs

(以下步骤可用elk账号,也可以切换回root账号进行操作)
② 下载解压logstash-7.2.0.tar.gz可参考安装Java的步骤
③ 编辑配置文件:vim config/logstash.yml
node.name: logstash-1.1
path.data: /elk/logstash/data
log.level: info
path.logs: /elk/logstash/logs