1.拉取sebp/elk镜像
[AppleScript] 纯文本查看 复制代码 sudo docker pull sebp/elk
2.运行ELK容器
运行elk容器的时候,需将宿主机的端口转发到该容器,其中ES端口为9200,kibana端口为5601,logstash为5044(注:可进入容器自行修改,再自由分配);建议将配置文件和数据存放在宿主机,便于后期维护,因此还需要将宿主机目录挂载在容器/data当中;最终构造的命令如下:
[AppleScript] 纯文本查看 复制代码 sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -v /home/nya/dockerFile:/data -it -d --name elk sebp/elk
3.ELK服务端简单配置
这里是将ELK作为服务端,而sebp/elk镜像默认生成有ssl证书,将证书拷贝至客户端即可,容器中logstash的相关配置位于/etc/logstash/conf.d,输入默认配置如下: [AppleScript] 纯文本查看 复制代码 input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt"
ssl_key => "/etc/pki/tls/private/logstash-beats.key"
}
} 4.简单测试(需要关闭防火墙,获取防火墙允许使用5601端口) 5.ELK客户端配置 ELK客户端配置核心在于Filebeat的相关配置 5.1.添加elastic key至客户端[AppleScript] 纯文本查看 复制代码 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
5.2.安装apt-transport-https
由于将使用https传输的elastic数据,需安装apt-transport-https
[AppleScript] 纯文本查看 复制代码 sudo apt-get install -y apt-transport-https
5.3.添加elastic库并更新apt-get库[AppleScript] 纯文本查看 复制代码 echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
sudo apt-get update
5.4.安装Filebeat及相关配置
[AppleScript] 纯文本查看 复制代码 sudo apt-get install -y filebeat
sudo vi /etc/filebeat/filebeat.yml
简单配置
注意:配置文件为 .yml,格式特别重要,尤其是配置key: 后必须有一个空格,否则filebeat启动失败。
[AppleScript] 纯文本查看 复制代码 filebeat.prospectors:
- input_type: log
paths:
- /data/rosetta/logs/image-search.log
- /data/rosetta/logs/summary.log
document_type: syslog
output.logstash:
hosts: ["ip:5044"]
bulk_max_size: 2048
# ssl.certificate_authorities: ["/etc/logstash/logstash.crt"]
ssl.certificate_authorities: ["/home/nya/logstash-beats.crt"]
template.name: "filebeat"
template.path: "filebeat.template.json"
template.overwrite: false
5.5.启动Filebeat
[AppleScript] 纯文本查看 复制代码 sudo systemctl start filebeat // 启动
sudo systemctl enable filebeat // 设置为开机启动
sudo systemctl status filebeat // 检查服务状态
5.6.校验并测试
|