首页 > 其他分享 >ELK日志收集记录

ELK日志收集记录

时间:2023-06-20 21:22:46浏览次数:42  
标签:ELK elastic 收集 kibana elasticsearch https 日志 logstash es

logstash在需要收集日志的服务器里运行,将日志数据发送给es

在kibana页面查看es的数据

es和kibana安装:

Install Elasticsearch with RPM | Elasticsearch Guide [8.8] | Elastic Configuring Elasticsearch | Elasticsearch Guide [8.8] | Elastic Install Kibana with RPM | Kibana Guide [8.8] | Elastic
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

cat << EOF >/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
EOF

yum install -y --enablerepo=elasticsearch elasticsearch

# 安装完成后,在终端里可以找到es的密码
# 修改密码:'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'
# config file: /etc/elasticsearch/elasticsearch.yml
# network.host: 0.0.0.0 允许其他服务器访问
# http.port 修改成可以外部访问的端口

# 启动es
systemctl start elasticsearch.service

# 测试是否可以访问:curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:es_host
# 如果要在其他服务器里访问的话,需要先把证书移过去:
/etc/elasticsearch/certs/http_ca.crt,直接复制证书的内容,在客户端保存成一个证书文件即可
# 在客户端里测试是否可以访问:
curl --cacert path_to_ca.crt -u elastic https://localhost:es_host

# install kibana
cat << EOF >/etc/yum.repos.d/kibana.repo
[kibana-8.x]
name=Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

# kibana和es可以安装到同一台服务器 yum install -y kibana # /etc/kibana/kibana.yml 修改server.port为外部可以访问的端口,server.host修改为0.0.0.0允许其他服务器访问,elasticsearch部分的可以先不用设置, # root用户使用:/usr/share/kibana/bin/kibana --allow-root systemctl start kibana.service # 首次打开kibana页面需要添加elastic的token,使用如下命令生成token # /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
# 登录的时候也需要es的用户名和密码
# 登录成功之后,
/etc/kibana/kibana.yml的底部会自动添加elasticsearch的连接信息

需要收集日志的服务器里安装logstash:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

cat <<EOF > /etc/yum.repos.d/logstash.repo
[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

yum install -y logstash
ln -s /usr/share/logstash/bin/logstash /usr/bin/logstash

# install filebeat
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
cat <<EOF > /etc/yum.repos.d/filebeat.repo
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
yum install -y filebeat
ln -s /usr/share/filebeat/bin/filebeat /usr/bin/logstash #filebeat->logstash->ES #filebeat从具体目录里拿文件的内容发送给logstash,logstash将数据发送给es
midr -m 777 -p /data/logstash
cat <<EOF >/data/logstash/filebeat.conf filebeat.inputs: - type: log paths: - /your_log_path/*.log output.logstash: hosts: ["127.0.0.1:5044"] EOF cat <<EOF >/data/logstash/logstash.conf # Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { beats { port => 5044 client_inactivity_timeout => 600 } } filter{ mutate{ remove_field => ["agent"] remove_field => ["ecs"] remove_field => ["event"] remove_field => ["tags"] remove_field => ["@version"] remove_field => ["input"] remove_field => ["log"] } } output { elasticsearch { hosts => ["https://es_ip_address:es_port"] index => "log-from-logstash" user => "es_user_name" password => "es_password" ssl_certificate_authorities => "path_to_es_http_ca.crt" } } EOF
#es_http_ca.crt的内容和es服务器里的/etc/elasticsearch/certs/http_ca.crt内容相同 #filter里移除一些不必要的字段 #启动 logstash -f /data/logstash/logstash.conf >/dev/null 2>&1 & filebeat -e -c /data/logstash/filebeat.conf >/dev/null 2>&1 &
启动之后,filebeat.conf里配置的日志路径里可以copy一些文件做测试,或者已经有一些日志文件的话,都可以在kabana里看到配置的index被自动创建:

 创建一个DataView就可以查看index里的文档内容:

 在Discover里选择配置的dataview查看数据:

 

 

标签:ELK,elastic,收集,kibana,elasticsearch,https,日志,logstash,es
From: https://www.cnblogs.com/huizit1/p/17494824.html

相关文章

  • 使用python对AWS-CloudTrail-Json-日志文件key字段名称的提取
    关于AWS CloudTrail-在Console界面,默认只能看到最近90天的数据如果需要追踪更早的操作记录,得需要配置CloudTrail日志输出保存到s3在s3上不同的region位于不同的目录,最后会将某一天的日志,存放到那一天的目录/文件夹中,目录路径格式(部分)如:aws-account-xxx/CloudTrail/cn-nort......
  • 【python】logging日志打印重复输出冗余日志
    https://blog.csdn.net/Moonlight_16/article/details/123334339?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-123334339-blog-96309743.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=......
  • 使用graylog rest api查询日志
    由于项目需要,调研使用graylog收集项目操作日志,并使用api查询日志python代码if__name__=='__main__':importrequestssearch_content={"query_string":{"type":"elasticsearch","query_string&q......
  • logrotate - 日志转储
    配置文件详解#滚动周期(每天滚动一次)#daily/weekly/monthlydaily#保留滚动日志副本个数(4个)rotate7#日志滚动时,不主动创建新文件#create转储后建立新日志文件备用/nocreate不建立新日志文件nocreate#指定滚动文件的后缀是当前日期dateext#使用日期作为......
  • Golang - 日志
    官方Log包方法输出到logger.out:log.Print(),log.Printf(),log.Println()输出到logger.out,再执行os.Exit(1):log.Fatal(),log.Fatalln(),log.Fatalf()输出到logger.out,再执行panic():log.Panic(),log.Panicln(),log.Panicf()logger结构体typeLoggerstruc......
  • 信息收集
    信息收集查询备案的网站有:查询网:https://site.ip138.com/公安部备案查询:http://www.beian.gov.cn/portal/recordQueryICP备案查询网:http://www.beianbeian.com/工信部备案查询:http://beian.miit.gov.cn/publish/query/indexFirst.action天眼查:https://www.tianyancha.......
  • ASP.NET Core MVC 从入门到精通之日志管理
    随着技术的发展,ASP.NETCoreMVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NETCoreMVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NETCoreMVC系统开发的人员。经过前几篇文章的讲解,初步了解ASP.NETCore......
  • 在.Net Core6中使用log4net组件写日志到本地文件的操作流程
    原文链接:https://blog.csdn.net/kevin860/article/details/1068810621.引用包: Log4Net  Microsoft.Extensions.Logging.Log4Net.AspNetCore Microsoft.Extensions.Logging //loggingbuilder.AddFilter该方法需要引入Microsoft.Extensions.Logging名称空间 ......
  • python 日志使用
    python日志使用日志基础教程日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为等级......
  • BMZCTF:日志审计
    http://bmzclub.cn/challenges#%E6%97%A5%E5%BF%97%E5%AE%A1%E8%AE%A1logcheck.log盲注的日志,将flag.php这块的内容提取出来192.168.0.1--[13/Oct/2018:12:38:14+0000]"GET/flag.php?user=hence%27%20AND%20ORD%28MID%28%28SELECT%20IFNULL%28CAST%28secret%20AS%20CHAR%29%......